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+:
,你可以按Shift+q
(或大写的 Q) 来访问 Ex 模式,但如果你只想通过键入x
(如上所示)来保存并退出,这实际上没有任何区别。
替换
如果你想将一个单词的所有出现都替换为另一个单词,这里有一个巧妙的技巧。例如,如果你想在一个大文件中将 “desktop” 替换为 “laptop”,那么搜索 “desktop” 的每次出现、删除它并键入 “laptop” 将会非常单调且浪费时间。
:%s/desktop/laptop/g
命令会将文件中所有出现的 “desktop” 替换为 “laptop”;它的工作方式就像 Linuxsed
命令一样。
在这个例子中,我将 “root” 替换为 “user”

opensource.com

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