您的位置:

Linux中vi文本编辑器的使用方法

一、基础操作

vi是Linux系统中自带的文本编辑器,可以在终端中使用。在终端输入vi命令后,就可以打开一个文本编辑器进行编辑。

vi一共有两种模式:命令模式和编辑模式。在命令模式下,输入的字符会被视为命令,而不是输入到文件中。在编辑模式下,输入的字符会被直接写入到文件中。

为了进入编辑模式,需要按下“i”键,此时可以进行文本编辑。为了回到命令模式,需要按下“Esc”键。

在命令模式下,可以使用以下常用命令:

命令 | 说明
---|---
i | 进入插入模式
Esc | 回到命令模式
:q | 退出编辑器
:w | 保存文件
:q! | 强制退出编辑器,不保存文件
:wq | 保存文件并退出编辑器

举例说明:

$ vi test.txt  # 打开文件test.txt
i  # 进入编辑模式
这是一段测试文本。
^[[D^[[D^[[D^[[D^[[D^[[D^[[D^[[D^[[D
这是一段测试文本,光标已经移动到了行首。
Esc  # 回到命令模式
:w  # 保存文件
:q  # 退出编辑器
$  # 返回终端

二、移动光标

在命令模式下,可以使用以下命令来移动光标:

命令 | 说明
---|---
h | 左移一个字符
j | 下移一行
k | 上移一行
l | 右移一个字符
0 | 移动到行首
$ | 移动到行尾
G | 移动到文件的最后一行
:x,y | 将光标移动到x行y列

举例说明:

$ vi test.txt  # 打开文件test.txt
G  # 移动到文件的最后一行
0  # 移动到行首
j  # 下移一行
l  # 右移一个字符
3j  # 下移三行
3l  # 右移三个字符
10,20  # 移动到第10行第20列

三、文本编辑

在编辑模式下,可以进行以下文本编辑操作:

操作 | 说明
---|---
删除 | 在命令模式下按下d键,然后进行对应的删除操作
复制 | 在命令模式下按下y键,然后进行对应的复制操作
粘贴 | 在命令模式下按下p键,将上一次复制的内容粘贴到当前光标位置
撤销 | 在命令模式下按下u键,撤销上一次操作
重做 | 在命令模式下按下Ctrl+r键,重做上一次被撤销的操作

举例说明:

$ vi test.txt  # 打开文件test.txt
i  # 进入编辑模式
这是一段测试文本。
按下Esc键,回到命令模式
10l  # 移动光标到“一”前面
d$  # 删除光标到行末的内容
按下Esc键,回到命令模式
3yy  # 复制三行
p  # 粘贴刚才复制的内容
u  # 撤销刚才的操作
Ctrl+r  # 重做上一次操作
:wq  # 保存文件并退出

四、搜索

在命令模式下,可以使用以下搜索命令:

命令 | 说明
---|---
/keyword | 向前搜索包含关键词的文本
?keyword | 向后搜索包含关键词的文本
n | 在同一方向上继续搜索
N | 在相反的方向上继续搜索

举例说明:

$ vi test.txt  # 打开文件test.txt
/测试  # 向前搜索“测试”关键字
n  # 继续上一次搜索
N  # 在相反方向上继续搜索

五、替换

在命令模式下,可以使用以下命令来进行文本替换:

命令 | 说明
---|---
:s/old/new/ | 将当前行中的old替换为new
:x,y s/old/new/g | 将x~y行中的old全部替换为new
:%s/old/new/g | 将所有行中的old全部替换为new
:%s/old/new/gc | 将所有行中的old全部替换为new,并且进行交互式操作

举例说明:

$ vi test.txt  # 打开文件test.txt
:%s/测试/测试文本/g  # 将所有的“测试”替换为“测试文本”
:%s/测试/测试文本/gc  # 将所有的“测试”替换为“测试文本”,并进行交互式操作

六、其他

在使用vi时还有一些其他的常用操作:

操作 | 说明
---|---
:set nu | 打开行号显示
:set nonu | 关闭行号显示
:set hlsearch | 打开高亮显示搜索结果功能
:set nohlsearch | 关闭高亮显示搜索结果功能

举例说明:

$ vi test.txt  # 打开文件test.txt
:set nu  # 打开行号显示
:set hlsearch  # 打开高亮显示搜索结果功能
:set nohlsearch  # 关闭高亮显示搜索结果功能
:set nu!  # 切换行号显示状态

总结

vi是Linux系统中自带的文本编辑器,可以在终端中使用。vi一共有两种模式:命令模式和编辑模式。在命令模式下,可以进行移动光标、搜索、替换等操作。在编辑模式下,可以进行文本删除、复制、粘贴等操作。在实际应用中,了解vi的使用方法是很有帮助的。