为了便于选取文本,VIM 引入了可视(Visual)模式。要选取一段文本,首先将光标移到段首,在普通模式下按 v 进入可视模式,然后把光标移到段末。需要注意,光标所在字符是包含在选区中的。
v | 进入字符可视化模式 |
V | 进入行可视化模式 |
Ctrl+v | 进入块可视化模式 |
- 用
v
命令进入的字符可视化模式(Characterwise visual mode)。文本选择是以字符为单位的。 - 用
V
命令进入的行可视化模式(Linewise visual mode)。文本选择是以行为单位的。 - 用
ctrl-V
进入的块可视化模式(Blockwise visual mode)。可以选择一个矩形内的文本。
选择:
vi{ 选中{}中间的内容,不包括{}
G 从光标所在处选择到结尾
操作:
这时可以对所选的文本进行一些操作,常用的(可视模式)命令有:
x或d 剪切(即删除,同时所选的文本进入剪贴板)
y 复制
r字符 所有字符替换为新字符
u U ~ 分别是所有字母变小写、变大写、反转大小写
> 和< 将选中字符右移或左移 shiftwidth位置
当输入了命令以后,VIM 将回到普通模式,这时可以按 p 或 P 进行粘贴。普通模式下有关复制和粘贴的命令:
p或P 在当前位置粘贴剪贴板的内容,p 粘在光标所在字符后面,P 粘在前面。
d 与D的区别
d只删除选中的字符,而D删除选中字符所在行的所有字符,c和C,y和Y同理
我们还可以利用可视化模式,来合并多行文本。J
命令可以将高亮显示的文本内容合并为一行,同时以空格来分隔各行。如果不希望在行间插入空格,那么可以使用gJ
命令。
使用g?
命令,可以使用rot 13算法来加密高亮显示的文本。针对同一个文本再次执行加密命令,就可以进行文本解密。
在可视化模式下,按下:键就可以对选定范围进行操作。例如:我们先在可视化模式下选中文本,然后执行:write block.txt
命令,就可以将文本块写入另一文件中。选择多行,然后执行:sort
命令,则可以对选中的文本进行排序。
查看Visual Mode下的命令 :help v_,例如使用:help v_d
命令,可以得到关于在可视模式下进行删除操作的帮助信息。