持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第6天,点击查看活动详情
可视类型
Vim 总共有 3 种不同的可视模式,分别用于操作字符文本、行文本或块文本。
在普通模式下:
v:进入面向字符的可视模式;V:进入面向行的可视模式;Ctrl-v:进入面向列块的可视模式;gv:重选上次的高亮选区;它用来重选上一次由可视模式所选择的文本范围。不管上个选区是面向字符的、面向行的,或是面向列块的,gv命令都能够正确地工作。
可视模式切换
可视化模式之间的切换也如同普通模式下激活可视化模式,即:
Esc:回到普通模式;Ctrl-[:切换到普通模式;v:切换到面向字符的可视模式;V:切换到面向行的可视模式;Ctrl-v:进入面向列块的可视模式;o:切换高亮选区的活动端;
高亮选区的范围由其两个端点界定。其中一端固定,而另一端可以随光标自由移动,我们可以用
o键来切换其活动的端点。在定义选区时,如果定义到一半时,才发现选区开始的位置不对,此时用这个键会很方便,我们用不着退出可视模式再从头开始,只需按一下o,然后重新调整选区的边界即可。
实战演练
现在我们开始来一个实战演练来熟悉下可视化模式的一些操作。
首先我们有如下文本,我们要给这个文本做一个表格。
Chapter Page
Normal mode 15
Insert mode 31
Visual mode 44
下面我们一步一步演示一下如何操作。
- 将位置移到空格中间出,找到我们的初始位置
- 接下来我们执行
Ctrl-v3j命令,即进入面向列块的可视化模式,然后选中下面的三行,效果如下:
- 然后我们执行
x..命令删除一些空格,此时我们可以看到一行之间的两个单词间距变小了。
- 接着我们执行
gv命令,gv命令的作用就是重选上次的高亮块,即上次选中的四行。
- 然后我们执行
r|命令,这个命令使将空格替换为竖线,在可视化模式下,下面四行都会被替换。效果如下:
- 我们再执行下
yyp命令,复制出一行来,用于插入新的内容。
- 最后我们执行
Vr-命令进入面向行的可视化模式,然后整行替换为-。
参考文档
- 《Vim实用技巧》—— [英]Drew Neil