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

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
fangrui006
帖子: 2
注册时间: 2015-08-01 12:15
系统: ubuntu 14.04.2 LTS

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

#1

帖子 fangrui006 » 2015-08-02 18:20

我的 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 //进入行首插入模式::问题就在这儿
输入空格 //结果只有第一行插入了一个空格,其他行都没有插入

那我应该怎样操作才能完成这个功能呢?
头像
tracyone
帖子: 866
注册时间: 2010-11-19 14:25
系统: 乌班图
来自: onetracy.com
联系:

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

#2

帖子 tracyone » 2015-08-03 12:29

楼主可以用VIM的宏记录进行这样次数比较大的重复操作。

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

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

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

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

不懂再问我,邮件等..
fangrui006
帖子: 2
注册时间: 2015-08-01 12:15
系统: ubuntu 14.04.2 LTS

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

#3

帖子 fangrui006 » 2015-08-03 15:23

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

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

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

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

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

不懂再问我,邮件等..
头像
astolia
论坛版主
帖子: 6703
注册时间: 2008-09-18 13:11

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

#4

帖子 astolia » 2015-08-03 23:14

输入空格之后按esc就好了
回复