【韦东山嵌入式Linux】vi编辑器入门笔记

1 vi编辑器的三种工作模式

【韦东山嵌入式Linux】vi编辑器入门笔记

1.1 各模式的功能

一般模式:光标移动、复制、粘贴和删除;
编辑模式:编辑文本;
命令行模式:查找和替换。

1.2 各模式的切换方法

模式 切换方法
终端----->一般模式 在终端输入vi 文件名
一般模式----->编辑模式 i:在光标前插入内容;o:在光标后插入内容
一般模式----->命令行模式 输入“:”、“/”、“?”
一般模式----->终端 :q退出;:q!退出且不保存;:wq保存并退出
编辑/命令行模式---->一般模式 Esc键

注意:wq(write quit);i(insert)

1.3 快速判断目前属于哪个模式的方法

总之先按Esc键返回一般模式

2 vi常用命令

2.1 文件的打开/新建/保存

打开文件vi 文件名
如文件已存在,输入结束后按:wq保存并退出;
若文件不存在,输入结束后按:wq新建文件,然后保存并退出。

编辑完成后返回一般模式:
(1)输入:w保存文件,之后输入:q退出文件;
(2)也可以直接输入:wq保存并退出;
(3)如不想保存修改内容,则输入:q!强制退出。

2.2 进入编辑模式

输入i:在光标前插入文本;
输入a:在光标后插入文本;
输入o:在当前行下另起一行,光标移至行首。

2.3 光标移动

1. 光标移动快捷键:
H:向左移动光标;
J:向下移动光标;
K:向上移动光标;
L:向右移动光标。
2. 快速定位到某行
ngg:光标转移到第n行行首,例如2gg使光标转移到第2行行首。
G:将光标转移到文件末尾。
3. 快速定位到某列
0:将光标移动至本行行首。
$:将光标移动至本行行末。
F+x:将光标移动至当前行中下一出现字母x的地方。

2.4 文本复制/粘贴/删除/撤销

1. 复制:
**yy:**复制当前行(y:yank,复制的意思)。
**nyy:**复制当前行及之后n-1行。
2. 粘贴:
P:粘贴。
3. 删除:
**dd:**删除光标所在行。
**ndd:**删除当前行及之后n-1行。
X:删除光标所在位置的字符。
4. 撤销:
U:撤销上一步操作。

2.5 查找和替换

1. 查找:
/要查找的字符串:从光标所在位置向文件尾搜索要查找的字符串,后按下n或N。(n表示在同方向上重复上一次搜索命令;N表示在反方向上重复上一次搜索命令)

?要查找的字符串:从光标所在位置向文件首搜索要查找的字符串。

2. 替换:
:%s/原字符串/新字符串/g:将文件中所有的原字符串替换成新字符串。

:%s/原字符串/新字符串/gc:替换时需要确认。

符号意义:
s:substitute,替换
g:global,全局
c:confirm,确认