vi
是 Linux 和 Unix 系统中经典的文本编辑器,功能强大,很多系统默认安装。以下为你介绍 vi
的基本使用方法:
进入和退出 vi
编辑器
进入 vi
在终端中输入 vi
命令并跟上要编辑的文件名,即可打开该文件进行编辑。如果文件不存在,vi
会创建一个新文件。
收起
bash
vi filename.txt
退出 vi
vi
有三种工作模式:命令模式、插入模式和底行模式。退出操作一般在命令模式或底行模式下进行:
- 保存并退出:在命令模式下按
:
进入底行模式,然后输入wq
并回车。也可以在命令模式下直接按Shift + ZZ
。
收起
plaintext
:wq
- 不保存并退出:在底行模式下输入
q!
并回车。
收起
plaintext
:q!
三种工作模式及切换
命令模式(Command mode)
- 特点:这是打开文件后默认进入的模式,在该模式下可以进行光标移动、复制、粘贴、删除等操作,但不能直接输入文本。
- 切换到插入模式:
i
:在当前光标所在位置前插入文本。a
:在当前光标所在位置后插入文本。o
:在当前行的下一行插入新行并进入插入模式。O
:在当前行的上一行插入新行并进入插入模式。
- 切换到底行模式:按
:
键进入底行模式,可进行保存、退出、查找等操作。
插入模式(Insert mode)
- 特点:在该模式下可以输入和编辑文本,就像在普通文本编辑器中一样。
- 切换到命令模式:按
Esc
键即可回到命令模式。
底行模式(Last line mode)
- 特点:用于执行一些特殊命令,如保存文件、退出编辑器、查找替换等。
- 切换到命令模式:按
Esc
键回到命令模式。
命令模式下的常用操作
光标移动
- 上下左右移动:使用
h
(左)、j
(下)、k
(上)、l
(右)键,也可以直接使用方向键。 - 移动到行首和行尾:
^
或0
:移动到当前行的行首。$
:移动到当前行的行尾。
- 移动到文件开头和结尾:
gg
:移动到文件的第一行。G
:移动到文件的最后一行。
- 按行号移动:在命令模式下输入行号,然后按
G
。例如,输入10G
会移动到第 10 行。
复制、粘贴和删除
- 复制:
yy
:复制当前行。nyy
:复制从当前行开始的n
行,例如3yy
复制当前行及下面 2 行。
- 粘贴:
p
:在当前行的下一行粘贴复制的内容。P
:在当前行的上一行粘贴复制的内容。
- 删除:
dd
:删除当前行。ndd
:删除从当前行开始的n
行,例如5dd
删除当前行及下面 4 行。x
:删除当前光标所在的字符。
撤销和恢复
u
:撤销上一步操作。Ctrl + r
:恢复上一步撤销的操作。
底行模式下的常用操作
保存文件
:w
:保存当前文件。:w newfilename
:将当前文件另存为newfilename
。
查找和替换
- 查找:输入
/
后跟要查找的字符串,然后按回车。例如,/hello
会查找文件中所有的hello
字符串。按n
键查找下一个匹配项,按N
键查找上一个匹配项。 - 替换:
:%s/old/new/g
:将文件中所有的old
字符串替换为new
。:1,10s/old/new/g
:将第 1 行到第 10 行中的old
字符串替换为new
。
以上是 vi
编辑器的基本使用方法,熟练掌握这些操作可以提高在 Linux 系统中编辑文本的效率。