分页: 1 / 1

vim的visual block模式下,按列插入字符无效?

发表于 : 2015-08-02 18:20
fangrui006
我的 block.txt 文件是这样的

代码: 全选

192.168.1.1    host1.class.net
192.168.1.2    host2.class.net
192.168.1.3    host3.class.net
192.168.1.4    host4.class.net
我想在每一行前面都插入一个空格

为了达到这个效果,我在vim环境下是这样操作的:
ctrl + v //进入visual block 模式
G //选中第一列的所有数字1
I //进入行首插入模式::问题就在这儿
输入空格 //结果只有第一行插入了一个空格,其他行都没有插入

那我应该怎样操作才能完成这个功能呢?

Re: vim的visual block模式下,按列插入字符无效?

发表于 : 2015-08-03 12:29
tracyone
楼主可以用VIM的宏记录进行这样次数比较大的重复操作。

具体来说一般模式下按q+寄存器,进入录制状态,其中寄存器是另外一个字母,进入录制状态后,开始编辑..编辑结束后按q结束录制,然后按@+寄存器进行回放...

就你这个例子,首先,把光标移动到首行第一个字符上,然后一般模式下按q和w,w就是寄存器啦。然后开始编辑

按i然后空格,这就插入了一个空格,esc回到一般模式,0回到行首,j移动到下一行,q退出录制。

此时光标位置在第二行首,一般模式下按3@w,进行回放,其中@w之前的数字表示回放的次数,这里剩下3行,只需要3次...

不懂再问我,邮件等..

Re: vim的visual block模式下,按列插入字符无效?

发表于 : 2015-08-03 15:23
fangrui006
试过有效! 又涨姿势了!多谢~
tracyone 写了:楼主可以用VIM的宏记录进行这样次数比较大的重复操作。

具体来说一般模式下按q+寄存器,进入录制状态,其中寄存器是另外一个字母,进入录制状态后,开始编辑..编辑结束后按q结束录制,然后按@+寄存器进行回放...

就你这个例子,首先,把光标移动到首行第一个字符上,然后一般模式下按q和w,w就是寄存器啦。然后开始编辑

按i然后空格,这就插入了一个空格,esc回到一般模式,0回到行首,j移动到下一行,q退出录制。

此时光标位置在第二行首,一般模式下按3@w,进行回放,其中@w之前的数字表示回放的次数,这里剩下3行,只需要3次...

不懂再问我,邮件等..

Re: vim的visual block模式下,按列插入字符无效?

发表于 : 2015-08-03 23:14
astolia
输入空格之后按esc就好了