vi 编辑器是 Unix 和类 Unix 系统(例如 Linux)上最流行的文本编辑器之一。 无论您是 vi 的新手还是只是想复习一下,这 11 个技巧都将增强您使用它的方式。
编辑
编辑一个长脚本可能很乏味,特别是当您需要编辑很远的一行,以至于滚动到它需要数小时时。 这里有一种更快的方法。
- 命令
:set number
在左侧为每一行编号。

opensource.com
您可以通过打开文件并在 CLI 上输入此命令直接到达第 26 行:vi +26 sample.txt
。 要编辑第 26 行(例如),命令:26
会直接将您带到它。

opensource.com
快速导航
如果您发现错误或拼写错误,能够快速修复非常重要。 幸运的是,vi 已经解决了所有问题。
i
将您的模式从“命令”更改为“插入”,并从当前光标位置开始插入文本。a
执行相同的操作,只是它从当前光标位置之后开始。o
从当前光标位置下方的行开始光标位置。
删除
了解 vi 的删除功能非常重要,这样您就不会意外按下某个键并永久删除一行、一段或更多内容。
x
删除光标下的字符。dd
删除当前行。 (是的,整行!)
这是可怕的部分:30dd
将删除从当前行开始的 30 行! 使用此命令时请谨慎操作。
搜索
您可以从“命令”模式搜索关键字,而不是手动导航并在大量文本中查找特定单词。
:/<keyword>
搜索< >
空间中提到的单词,并将您的光标移动到第一个匹配项。- 要导航到该单词的下一个实例,请键入
n
,然后继续按它,直到找到您要查找的匹配项。
例如,在下图中,我搜索了 ssh
,vi 突出显示了第一个结果的开头。

opensource.com
在我按下 n
后,vi 突出显示了下一个实例。

opensource.com
保存并退出
开发人员(和其他人)可能会发现以下命令很有用。
:x
保存您的工作并退出 vi。

opensource.com
-
如果您认为每一纳秒都值得节省,那么这是一种更快的方式来切换到 vi 中的终端模式。 您可以按
Shift+q
(或大写的 Q)来访问 Ex 模式,而不是在键盘上按Shift+:
,但如果您只想通过键入x
(如上所示)来保存并退出,这实际上没有任何区别。
替换
如果您想用另一个单词替换每个出现的单词,这是一个巧妙的技巧。 例如,如果您想在大型文件中将“desktop”替换为“laptop”,那么搜索每个出现的“desktop”,删除它并键入“laptop”将是单调乏味且浪费时间的。
- 命令
:%s/desktop/laptop/g
将替换整个文件中每个出现的“desktop”与“laptop”; 它的工作方式与 Linuxsed
命令一样。
在此示例中,我将“root”替换为“user”

opensource.com

opensource.com
这些技巧应该可以帮助任何人开始使用 vi。 还有其他我错过的实用技巧吗? 在评论中分享它们。
42 条评论