vi
是一个在 Unix 和类 Unix 操作系统上非常经典的文本编辑器,它以简洁和高效著称。尽管 vi
的操作方式与现代图形界面编辑器大相径庭,但掌握它的常用命令能大大提高在命令行环境下编辑文本的效率。以下是一些 vi
编辑器的常用命令:
基本操作
-
进入
vi
:vi 文件名
-
退出
vi
:- 在命令模式下输入
:q
,如果文件未修改,则直接退出。 - 如果文件已被修改,输入
:wq
或ZZ
保存并退出。 - 不想保存修改,可以使用
:q!
强制退出。
- 在命令模式下输入
模式切换
- 命令模式(Command Mode):启动
vi
后默认进入命令模式,用于浏览和编辑文件的命令。 - 插入模式(Insert Mode):在命令模式下按
i
进入,用于插入文本。 - 可视模式(Visual Mode):在命令模式下按
v
进入,用于选择文本块。 - 行模式(Line Mode):在命令模式下按
V
进入,用于选择整行文本。 - Ex模式(Ex Mode):在命令模式下按
Q
进入,用于执行更复杂的命令(较少用到)。
光标移动
h
:左移一个字符j
:下移一行k
:上移一行l
:右移一个字符w
:右移到下一个单词的开头b
:左移到上一个单词的开头e
:右移到当前单词的结尾0
:移动到行首$
:移动到行尾G
:移动到文件最后一行gg
:移动到文件第一行Ctrl+f
:向前翻页Ctrl+b
:向后翻页
插入文本
i
:在当前光标位置前插入文本I
:在当前行的第一个非空字符前插入文本a
:在当前光标位置后插入文本A
:在当前行的行尾插入文本o
:在当前行下方新开一行插入文本O
:在当前行上方新开一行插入文本
删除文本
x
:删除光标下的字符X
:删除光标前的字符dw
:删除光标后的一个单词dd
:删除光标所在的整行D
:从光标位置删除到行尾
修改文本
r
:替换光标下的字符R
:从光标位置开始替换,直到按Esc
退出cc
:修改当前行C
:从光标位置开始修改,直到行尾s
:删除光标下的字符并进入插入模式S
:删除当前行并进入插入模式
查找与替换
/pattern
:正向查找pattern
?pattern
:反向查找pattern
n
:重复上一次查找N
:反向重复上一次查找:%s/old/new/g
:替换文件中所有old
为new
:%s/old/new/gc
:替换文件中所有old
为new
,但每次替换前询问
复制与粘贴
yy
:复制当前行Y
:与yy
相同p
:在当前光标位置后粘贴P
:在当前光标位置前粘贴
撤销与重做
u
:撤销上一个操作Ctrl+r
:重做上一个被撤销的操作
保存与退出
:w
:保存文件:w 文件名
:另存为:q
:退出vi
:wq
或ZZ
:保存并退出:q!
:不保存,强制退出
其他
:set number
:显示行号:set nonumber
:隐藏行号:set autoindent
:开启自动缩进:set noautoindent
:关闭自动缩进Ctrl+l
:刷新屏幕
以上是 vi
编辑器的一些常用命令。熟练掌握这些命令,能让你在命令行环境下高效地编辑文本。