今天看到这个视频:http://v.youku.com/v_show/id_XODk1NjkyNTI=.html

里面有一段是对某一行进行修改,然后可以将这些修改应用到与这一行类似的其他行,然后就想到了vim中recording模式,今天好好总结学习下。

进入recording模式

在正常状态(正常状态 = !insert状态 && !visual状态)下,按q,再按下一个字母或数字,这个数字代表缓冲区的名字,是键盘操作存储的位置,这时编辑器下方就显示”recording(记录)”字样,然后进行操作,最后按q退出这中模式,这样在这期间进行的操作就保存在缓冲区中了

生效缓冲区的内容

怎样将同样的操作在类似的行上生效呢?

使用@后面加上缓冲区的名字即可

实际例子

在文本区中存在以下内容:

int a;
int b;
int c;
int d;

然后将光标放入到第一行的第一个字符输入以下内容:qm$i=1+1<ESC>q

qm:表示进入recording模式,选择缓冲区m

$i:定位到行尾并进入插入模式

=1+1:表示插入的内容

<ESC>q:返回正常状态,并退出recording模式

最后将光标定位到第二行的行首,输入:@m

以下几行类似操作。

最后文本内容变为:

int a=1+1;
int b=1+1;
int c=1+1;
int d=1+1;

参考资料:http://hi.baidu.com/xiaowp/blog/item/c27b50543bb08a53574e0066.html

来自yaronspace.cn  本文链接:http://yaronspace.cn/blog/archives/1302