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(如上所示)保存并退出,这实际上没有任何区别。
替换
如果您想用另一个词替换一个词的每个实例,这里有一个巧妙的技巧。例如,如果您想在一个大型文件中用“laptop”替换“desktop”,那么搜索“desktop”的每个实例、删除它并键入“laptop”将是单调乏味且浪费时间的。
- 命令
:%s/desktop/laptop/g将在整个文件中将每个“desktop”实例替换为“laptop”;它的工作方式就像 Linuxsed命令一样。
在这个例子中,我将“root”替换为“user”
opensource.com
opensource.com
这些技巧应该可以帮助任何人开始使用 vi。还有其他我遗漏的实用技巧吗?请在评论中分享。

42 条评论