7.2. 技巧 20——理解视觉模式

未匹配的标注

视觉模式允许选择文本的一个范围,然后对它进行操作。不管这看起来有多么的直观,Vim 选择文本的角度和其它的文本编辑器是不同的。

假设有一分钟我们不是在和 Vim 打交道,而是在一个网页上填写一个文本框。我们已经写了单词 “March” 但是它应该读为 “April”,所以使用鼠标双击单词选中它。高亮突出显示单词后,可以点击退格键来删除它,然后输入正确的月份作为替代。

你可能已经知道在这个例子当中没有必要点击退格键。当单词 “match” 被选中后,只需要输入字母 “A” ,它将替换掉选择的这个单词。这样就可以输入单词 “April” 的剩下部分。 节约的键不多,但是能省一个就是赚了。

如果期望这个行为在 Vim 的视觉模式中仍然存在,就会感到意外。这个线索就在名字里:视觉模式仅仅是另外一个模式,它意味着每一个键都有一个不同的功能。

在正常模式里面熟悉的许多命令在视觉模式里是一样的。仍然使用 h, j, k, l 作为光标移动键。使用 f{char} 跳到当前行的一个字符,然后分别使用 ; 来重复跳跃,使用 , 来反向跳跃。甚至使用搜索命令(和 n/N)来跳到模式匹配上。每次在视觉模式移动光标,就改变了选区的边界。

在正常模式,一些视觉模式命令执行和正常模式中一样的基本功能,但是有稍许的改变。比如 c 命令在两个模式里面都是一致的,因为它删除了指定的文本,然后切换到插入模式。不同在如何指定作用的范围。在正常模式先激活更改命令,然后指定范围为一个移动。

如果你记得 第 24 页 技巧 12 合并与征服,这叫做一个操作符命令。然而在视觉模式里,是先选择,然后激发更改命令。这种控制反转可以推广到所有的操作符命令(见第 25 页 表 2 Vim 的操作符命令)。对大多数人来说,视觉模式的方法感觉更直观。

重新来看这个例子,想将单词 “match” 改为 “April”。这一次假设已经离开了网页上文本框的限制,然后舒适地返回到了 Vim。 将光标放在单词 “match” 的某个地方,然后运行 viw (visual inner word) 来视觉地选中这个单词。现在不能够只是键入单词 “April” 因为这将激发 A 命令,然后追加文本 “pril”。相反,要使用 c 命令改变选择的这个单词,删除这个单词,然后进入插入模式,这样就能够完整地键入单词“April”。这个用法模式类似于原来的例子,除了使用 c 键代替了退格键。

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
讨论数量: 0
发起讨论 查看所有版本


暂无话题~