我的ec2服务器附带了redhat vim:
[ec2-user@****** ~]$ vim --version
VIM - Vi IMproved 7.2 (2008 Aug 9, compiled Jul 7 2012 08:03:48)
Included patches: 1-411
Modified by <bugzilla@redhat.com>
Compiled by <bugzilla@redhat.com>
我已阅读wikia doc以及许多帖子,例如:
所有指南都告诉我要Ctrl+V
,选择区域,然后选择Shift+i
,输入要插入的字符,然后ESC
。这对我不起作用。
但我可以:s/^/\
这会在每行前面插入一个空格,但如何将其插入中间的某个位置?
例如,我想插入几个空格来转动
hello world
a cute cat
milky way
到
hello world
a cut e cat
milky way
在一个视觉块操作中
答案 0 :(得分:4)
更新问题的解决方案:
2j
向下选择该列I
这是一个小型演示:
答案 1 :(得分:1)
Visual-block Insert是您尝试使用Shift+i
进行的操作。它是一个块运算符
:h blockwise-operators
在没有+ visualextra功能的情况下编译vim时,Blockwise运算符不可用。
检查您是否有此功能
:version
如果不这样做,那么您可能必须使用其他答案中建议的方法,或者获取另一个版本的vim。
答案 2 :(得分:1)
如果您正在寻找正则表达式样式答案,请尝试(与Visual-Block模式完成匹配):
:%s;\v^(.{5})(.*);\1 \2;g
匹配您的预期输出:
:%s;\v^(.{5})\s*(.*);\1 \2;g
如果您只需要在第1行到第3行完成此操作:
:1,3s;\v^(.{5})(.*);\1 \2;g
答案 3 :(得分:0)
尝试:10,20s/^/ /
,仅为第10-20行插入空格