gvim的纵向编辑模式是非常实用的,特别是用在批量修改某一列的数据,启动也非常简单,在windows下和linux下,启动的方式有所不同,在windows下是用ctrl+q快捷键,在linux下是用ctrl+v的,
这时在状态栏底下就会出现 ”-- 可视块 --“,代表可以操作块了,下面用一些简单的例子说明gvim纵向模式的用法:
有如下的数据:
192.168.0.10
192.168.0.11
192.168.0.12
1.修改某一列的数据,好像只能修改一列,比如把192改为193,操作如下:
把光标移动到最顶部的2字上,按ctrl+q,进入块编辑模式,按下j,选择需要修改的2,然后再按下r,输入3,就可以了,效果如下:
193.168.0.10
193.168.0.11
193.168.0.12
说明:这种方法也可以用正则表达式来替代,操作如下: 1,3s/\<192\>/193/gc 就可以了。
2.向前批量插入数据,有如下数据:
<stdio.h>
<stdlib.h>
<string.h>
<malloc.h>
void main()
{
}
在四行头部文件前面都插入#include ,操作如下:
把光标移动到<stdio.h>的<上,按ctrl+q,进入块编辑模式,按下j,移动到<malloc.h>的<上,这时按下I,会自动跳到<stdio.h>的<上,而且是在插入的模式,输入#include ,按下esc键,完成。
说明:这种方法也可以用正则表达式来替代,操作如下: 1,4s/^/#include /gc 就可以了。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <malloc.h>
void main()
{
}
2.向后批量插入数据,有如下数据:
192.168.0.10
192.168.0.11
192.168.0.12
在各个ip地址的后面加入 http://localhost/,操作如下:
把光标移动到第一行10的0上,按ctrl+q,进入块编辑模式,按下j,移动到最后一行的2上面,这时按下A,会自动跳到第一行10的0上,而且是在插入的模式,输入 http;//localhost/ ,按下esc键,完成。
说明:这种方法也可以用正则表达式来替代,操作如下: 1,3s/$/ http:\/\/localhost\//gc 就可以了。
192.168.0.10 http://localhost/
192.168.0.11 http://localhost/
192.168.0.12 http://localhost/
-------------------------------------------
之前用notepad++,其中Ctrl+鼠标的列操作非常好用。这个可以替代