vi编辑器的使用
vi编辑器
vi是一个命令,也是一个命令行下的编辑器,它有如下功能:
a. 打开文件、新建文件、保存文件
b. 光标移动
c. 文本编辑
d. (多行间|多列间)复制、粘贴、删除
e. 查找和替换
很多人不习惯在命令行下编辑文件,实际开发中也不会经常在命令行下编辑文件。但是在Linux系统中对文件做些简单修改时,使用vi命令的效率非常高。并且在很多时候,比如现场调试时,并没有GUI形式的编辑工具,vi是唯一选择。
1. 模式
vi编辑器有三种模式,各个模式侧重点不一样:
a. 一般模式(光标移动、复制、粘贴、删除)
b. 编辑模式(编辑文本)
c. 命令行模式(查找和替换)
vi编辑器的三种模式间切换如下图所示
注意:
a. 当不知道处于何种模式时,按ESC键返回到一般模式。
b. wq(write quit)
c. i(insert)
2. 文件的打开、新建、保存
打开文件、新建文件,命令如下(如果文件存在则打开文件,否则新建文件并打开):
$ vi 文件名
修改结束之后,输入“:” 进入命令行模式,再输入“wq”保存退出:
:wq 保存并退出文件
注意:如果文件不存在,也需要输入“:wq”才可以保存新文件,否则不会新建文件。
在编辑完成时,返回一般模式,方法如下:
a. 输入“:w”则保存文件,如果已经保存文件,输入“:q”则退出文件
b. 直接输入“:wq”保存并退出
c. 如果不想保存被修改的内容,则输入“:q!”强制退出
这些命令列表如下:
命令 |
描述 |
x |
保存当前文档并且退出。 |
q |
退出。 |
w |
保存文档 。 |
q! |
退出 vi/vim,不保存文档。 |
3. 编辑文件
打开文件后,默认处于“一般模式”,这时可以输入以下字母:
指令 |
描述 |
i |
在当前光标所在字符的前面,转为编辑模式。 |
I |
在当前光标所在行的行首转换为编辑模式。 |
a |
在当前光标所在字符的后面,转为编辑模式。 |
A |
在光标所在行的行尾,转换为编辑模式。 |
o |
在当前光标所在行的下方,新建一行,并转为编辑模式。 |
O |
在当前光标所在行的上方,新建一行,并转为编辑模式。 |
4. 快速移动光标
在一般模式下,可以使用下面快捷键移动光标或是翻页:
移动光标 |
|
h (或左方向键) |
光标左移一个字符。 |
l (或右方向键) |
光标右移一个字符。 |
j (或下方向键) |
光标下移一行。 |
k (或上方向键) |
光标上移一行。 |
nG或ngg |
光标移动到第 n行首。 |
n+ |
光标下移 n行。 |
n- |
光标上移 n行。 |
屏幕翻滚 |
|
Ctrl + f |
屏幕向下翻一页,相当于下一页。 |
Ctrl + b |
屏幕向上翻一页,相当于上一页。 |
详细介绍如下:
1)快速的定位到某一行:文件头、文件尾、指定某一行
ngg //光标移至第n行的行首(n为数字,想要跳转的行),
1gg //就跳到第一行的行首,就是文件头
2gg //就跳到第二行的行首
G //转至文件结尾
2)在某一行如何快速定位到某一列:
0 //(数字零)光标移至当前行行首
$ //光标移至当前行行末
fx //搜索当前行中下一个出现字母x的地方
注意:当你不知道vi当前处于何种模式时,使用esc键返回到一般模式。
5. 文本复制、粘贴、删除、撤销
在一般模式下,可以执行以下命令。
复制、删除和粘贴 |
|
cc |
删除整行,并且修改整行内容。 |
dd |
删除该行,不提供修改功能。 |
ndd |
删除当前行向下 n行。 |
x |
删除光标所在的字符。 |
X |
删除光标前面的一个字符。 |
nyy |
复制当前行及其下面 n行。 |
p |
粘贴最近复制的内容。 |
s |
删除光标所在字符。 |
r |
替换光标处字符。 |
1) 复制
yy //复制当前行(y:yank(复制))
nyy //复制当前行及其后的n-1行(n是数字)
2) 粘贴
p //粘贴(p:paste)
3) 删除
dd //删除光标所在行(d:delete)
ndd //删除当前行及其后的n-1行(n是数字)
x //删除光标所在位置的字符
4) 撤销
u //撤销上一步操作
6. 文本查找和替换
在一般模式下,可以执行以下命令。
1) 查找
/pattern //从光标开始处向文件尾搜索pattern,后按下n或N
注意:
n 在同一个方向重复上一次搜索命令
N 在反方向重复上一次搜索命令
注意:
在/pattern之前先跳到第一行则进行全文件搜索。
2) 替换
:%s/p1/p2/g //将文件中所有的p1均用p2替换
:%s/p1/p2/gc //替换时需要确认
“s“ 全称:substitute替换;
“g“ 全称:global全局;
“c“ 全称:confirm,确认
参考https://www.runoob.com/linux/linux-command-manual.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
· 张高兴的大模型开发实战:(一)使用 Selenium 进行网页爬虫