通过学习这30多个键绑定来成为Vi大师

VI是大多数Linux系统上都包含的功能强大的文本编辑器。很多人信赖vi,一旦了解了它的键绑定,就会发现它比任何其他编辑器都要快。您甚至可以在Bash中使用vi密钥绑定。

我们已经介绍了面向初学者的vi入门。如果您已经有一段时间没有使用vi了,那么您可能想看看这篇文章,了解一下基本知识。

模式切换

简单地说,vi是一个模态编辑器-有插入模式和标准命令模式。在插入模式下,vi的功能类似于普通文本编辑器。在命令模式下,您可以利用这些键绑定。

i-进入插入模式。 退出-退出插入模式。如果您已经处于命令模式,则Esc不执行任何操作,因此您可以按Esc以确保您处于命令模式。

移动光标

VI在命令模式下使用hjkl键移动光标。早期的计算机系统并不总是有箭头键,所以取而代之的是这些键。这些键盘快捷键的一个优点是,您不必将手指从主行移开即可使用它们。

H-向左移动光标。 J-向下移动光标。 K-向上移动光标。 L-向右移动光标。

您还可以使用搜索命令快速移动光标。

/-键入a/,后跟要查找的一些文本,然后按Enter键将光标快速移动到文件中的文本位置。例如,如果文件中有单词iguana,请键入/iguana并按Enter键快速移动光标。 ?-LIKE/,但向后搜索。 f-键入f,后跟任何字符,以将光标快速移动到当前行中该字符的下一个匹配项。例如,如果一行上有“Hello world”行,并且光标位于该行的开头,则键入fo可移动到Hello中的o。再次键入fo以移动到世界中的o。 f-类似于f,但向后搜索。 %-在行上最近的()、[]或{}个字符之间跳转。

使用以下命令快速移动到文件中的位置:

H-将光标移动到文件中最高(顶部)行。 m-将光标移动到文件的中间行。 L-将光标移动到文件中的最低(底部)行。 #G-键入数字,然后键入G转到文件中的该行。例如,键入4G并按Enter键移动到文件中的第四行。

在单词之间移动:

往前移一个字。 #w-向前移动一些单词。例如,2w向前移动了两个单词。 后退一个词。 #b-后移一些单词。例如,3b后移三个单词。 E-移动到当前单词的末尾。

复制和粘贴

VI将抄袭行为称为“猛烈攻击”。

v-按v键并移动光标以选择一段文本。 Y-复制(Yank)所选文本。 P-粘贴在光标上。 对选定文本进行X剪切。如果未选择文本,则剪切光标下的字符。 r-键入r,然后键入另一个字符以替换光标下的字符。

组合命令

一些命令-包括上面的y和v命令以及d(删除)命令-接受光标运动命令。

例如,按d删除某些文本时,在输入光标移动命令之前不会发生任何操作。例如:

dw-删除下一个单词。 DB-删除上一个单词。 取消删除到当前单词的末尾。 DL-删除文件中光标下方的所有文本。 D/unicorn-按Enter键后,删除当前文件中光标与单词“unicorn”之间的所有文本。 DD-删除整行。

如您所见,将命令与光标移动命令组合在一起是非常强大的。

重复和撤消

VI的重复命令非常强大,因为它可以重复复杂的组合命令。

U-撤消。 。-那个。重复上一个完整命令。“插入”命令在这里也起到命令的作用。例如,键入iunicorn,然后按Escape键。然后,您可以使用。在光标处插入单词unicorn的键。

额外好处:在Bash中使用Vi键绑定

一旦您掌握了vi密钥绑定,您可能希望在系统的其他地方使用它们。没问题-您可以将Bash shell设置为使用vi样式的键绑定。

通过在Bash终端中运行以下命令,在当前会话中尝试此功能:

Bash将以插入模式启动-按Escape进入命令模式并使用这些键绑定。

如果您喜欢这样,可以将该命令添加到您的~/.bashrc文件中,它将在您每次登录时自动运行。使用vi.bashrc命令在vi中打开和编辑文件。

这并不是vi的键绑定的完整列表,但它应该可以帮助您伸展vi的翅膀并学习飞行。哈佛网站上的这份关键绑定列表更完整,包含的信息也更多,尽管它没有那么有条理,也更难一下子消化。

相关文章