GVIM 可视化模式

在可视化模式下,可以对一个文本块的整体进行操作。例如,首先高亮选中一部分文本,然后用d命令删除这个文本块。可视化模式的好处在于,不但可以大大提高操作的效率,而且还可以在做改动之前,就看到操作将影响的文本。

可视化模式的种类

可视化模式可以分为以下三种:

  1. v命令进入的字符可视化模式(Characterwise visual mode),文本选择是以字符为单位的。
  2. V命令进入的行可视化模式(Linewise visual mode),文本选择是以行为单位的。
  3. ctrl-V进入的块可视化模式(Blockwise visual mode),可以选择一个矩形内的文本。(注意:在Windows中,ctrl-V可能已经被影射为粘贴操作,可以使用ctrl-Q进入块可视化模式。)

切换可视化模式

通过输入相应的可视化命令,就可以切换到不同的可视化模式。例如现在字符可视化模式下,如果想要切换到块可视化模式,那么只需要输入ctrl-Q即可。当然,我们也可以先用ESC关闭当前的可视化模式,然后再进入其它可视化模式。

在可视化模式下选择

使用命令v进入字符可视化模式。在此模式下,用命令移动光标,光标起始位置和当前位置之间的文本将会以高亮显示。这时就可以对这些高亮显示的文本进行整体的操作。例如:在字符可视化模式中,首先用6l命令选中光标右侧的6个字符,然后输入d命令删除高亮显示的文本。

使用命令V进入行可视化模式。在此模式下,我们使用2j命令,就可以选中当前行及其随后2行。

使用命令ctrl-Q进入块可视化模式。在此模式下,我们使用2l命令向右移动,然后使用3j命令向下移动,就可以选中4行2列的文本块。

命令gv可以重复前一次可视化模式时选中的文本。如果已经在可视化模式下,执行该命令会选中前一次选择的文本。如果重复行执行gv命令,就会在当前选中的文本和前一次选中的文本之间进行切换。

在可视化模式下移动

如果你已经在可视化模式下选择了若干文本,并且希望移动到已选择文本的另一结尾处,那么可以使用o命令。

如果你使用的是块可视化模式,那么已选择的区域将有四个角落。o命令只能移动到对面的一个角落,这时你可以使用O命令移动到同一行的另一个角落。

在可视化模式下编辑

在可视化模式下,我们可以进行各种编辑操作。如d命令可以删除高亮显示的文本,而D命令则会删除一行,即使这一行中只有部分文本是高亮显示的。类似的,y命令将复制高亮显示的文本,而Y命令会复制整行。

在块可视化模式下,使用c命令将删除高亮选中的文本并进入插入模式,在你输入文本并点击Esc返回之后,输入的文本将插入到块选中的每一行里。

C命令会删除从选中文本到行尾的所有字符并进入插入状态。

针对高亮显示的文本块,我们可以用命令~进行大小写转换。用命令>增加缩进,或用命令<减少缩进。

我们还可以利用可视化模式,来合并多行文本。J命令可以将高亮显示的文本内容合并为一行,同时以空格来分隔各行。如果不希望在行间插入空格,那么可以使用gJ命令。

使用g?命令,可以使用rot 13算法来加密高亮显示的文本。针对同一个文本再次执行加密命令,就可以进行文本解密。

在可视化模式下,按下:键就可以对选定范围进行操作。例如:我们先在可视化模式下选中文本,然后执行:write block.txt命令,就可以将文本块写入另一文件中。选择多行,然后执行:sort命令,则可以对选中的文本进行排序。

Istring<Esc>命令,可以快速地在块可视化模式下添加文本。比如先用^命令,移动到行首;然后使用ctrl-Q进入块可视化模式;再利用j命令选中多行;而后使用I--命令,就可以在每行开头增加注释符。

动图封面

如果在块可视化模式下,仅仅选中了某些行,那么Ivery<Esc>命令将不会改变未选中的行。

在块可视化模式下,使用r命令,然后输入单个字符,将会把所有已选中的字符都替换为输入的字符。如果仅仅选中了某些行,那么未选中的行将不会受到影响。

在块可视化模式下,使用A命令,然后输入字符,输入的字符将会被添加到块之后。即使仅仅选中了某些行,但是未选中的行也会受到影响。

退出可视化模式

当我们想要退出可视化模式时,可以按ESC键或ctrl+c键。

可视化模式的帮助信息

输入以下命令,然后点击ctrl+D键或者Tab键将会列出和可视化相关的帮助主题;再点击Tab键可以选择打开选中的主题:

:help visual

可以在所希望帮助的名称前加v_前缀。例如使用:help v_d命令,可以得到关于在可视模式下进行删除操作的帮助信息。而使用:help v_b_r命令,则可以得到关于在块可视模式下进行替换操作的帮助信息。使用以下命令,则可以查看更多关于可视化模式的帮助信息:

:help Visual-mode

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值