平时开发都是在IDE下进行的,最近因为经常要在server上部署和调试,Terminal里还是得使用命令行编辑器,所以这几天在慢慢熟悉Vim。调试中修改config经常要重复注释和取消注释很多行,一行一行调简直痛不欲生,就去Google有没有多行同步输入或删除的方法。果然Vim这么强大的编辑器怎么可能没有这样的功能呢。下面我就介绍一下Vim下多行同时编辑或者删除的方法,帮助跟我一样的新手尽快体会到Vim的强大o( ̄▽ ̄)d
- 问题:在Vim内同时对多行增加或删除相同的内容,如:
item 1
item 2
item 3
变成(增加):
my_item 1
my_item 2
my_item 3
再变成(删除):
tem 1
tem 2
tem 3
- 方法:
-
编辑:
- 将光标移到要插入相同内容的第一行第一个字符上,如上面代码中
item 1
中的i
上 - 按下
ctrl
+v
进入visual block模式 - 按两次
j
或者2j
,将光标移动到要插入的最后一样,如上面代码中item 3
中的i
上 - 按下
I
(大写i)进入编辑模式 - 开始输入要插入的内容,如
my_
- 按
esc
退出(非常重要,不要忘记了),Vim会自动在这几行前面添加相同的内容,可能需要一些运行时间。
- 将光标移到要插入相同内容的第一行第一个字符上,如上面代码中
-
删除:
- 将光标移到要删除相同内容的第一行第一个字符上,如代码中
my_item 1
中的m
上 - 按下
ctrl
+v
进入visual block模式 - 使用motion选中想要删除的所有内容,在本问题中,按两次
j
和两次l
- 按下
d
,同时删除所有选中的字符
- 将光标移到要删除相同内容的第一行第一个字符上,如代码中
-
就这么简单!或者也许还是有点麻烦?Anyway,习惯之后还是很方便的,这也是不安装任何插件的情况下学习成本最低的方案了。作者后续掌握其他方案后会继续更新本文的~