
目录标题
-
-
- vi/vim中三种模式
- 命令模式下的常用命令--光标移动
- 输入模式
- 末行模式
- vim中常用的操作类型
-
- 命令行模式下的常用命令--复制、粘贴、删除
- 命令模式下的常用命令--文件内容查找
- 命令模式中的基本操作--撤销编辑及保存退出
- 末行模式中的基本操作--保存文件内容及退出vi编辑器
- 末行模式中的基本操作--打开新文件或读入其他文件内容
- 末行模式中的基本操作--文件内容替代
vi/vim中三种模式
命令模式:控制光标移动,可对文本进行复制、粘贴、删除和查找等工作、
输入模式:正常的文本录用。
末行模式:保存或退出文档,以及设置编辑环境。
vim编译器模式切换方法如下:

命令模式下的常用命令–光标移动
命令 |
作用 |
dd |
删除光标所在行 |
dG |
删除光标所在行以及文档尾所有内容 |
dgg |
删除光标所在行以及文档首所有内容 |
d^ |
删除光标所在字符前到行首的字符 |
d$ |
删除光标所在字符到行尾字符 |
x |
删除光标所在字符 |
^ |
跳转的光标所在行的行首 |
$ |
跳转的光标所在行的行尾 |
G |
跳转到文档尾的行首 例如:NG跳转到指定行 |
gg |
跳转到文档首的行首 |
yy |
复制光标所在行 例如:Nyy从光标开始统计多行复制 |
cc |
剪切光标所在行 |
p |
粘贴到光标所在的下一行 |
输入模式
命令 |
作用 |
i |
插入在光标前 |
l |
在光标所在行的行首插入 |
a |
在光标后插入 |
A |
在光标所在行的行尾插入 |
o |
在光标所在的下一行插入 |
O |
在光标所在的上一行插入 |
s |
删除光标字符进入插入模式 |
S |
删除光标所在行进入插入模式 |
u |
向左撤销 |
Ctrl+r |
向右撤销 |
末行模式
命令 |
模式 |
:q |
正常退出 |
:q! |
强制退出 |
:w |
写入保存 |
:wq |
保存并退出 |
:wq! |
保存并强制退出 |
:10 |
跳转到第十行 |
:r filename |
指定文件内容读取到当前文件 |
:%s /配置字符信息/替代的字符/g |
替代每一行匹配到的所有字符 |
vim中常用的操作类型
操作类型 |
操作键 |
功能 |
光标方向移动 |
上、下、左、右 |
上、下、左、右 |
翻页 |
Page Down或Ctrl+F,Page Up或Ctrl+B |
向上翻一整页,向下翻一整页 |
行内快速跳转 |
Home键或“^”、数字“0” |
跳转至行首 |
|
End键或“$”键 |
跳转到行尾 |
行间快速跳转 |
1G或者gg |
跳转到文件的首行 |
|
G |
跳转到文件的末尾行 |
|
#G |
跳转到文件中的第#行 |
行号显示 |
:set nu |
在编译器中显示行号 |
|
:set nonu |
取消编译器中的行号显示 |
命令行模式下的常用命令–复制、粘贴、删除
操作类型 |
操作键 |
功能 |
|
x或Del |
删除光标处的单个字符 |
|
dd |
删除当前光标所在行 |
删除 |
#dd |
删除从光标处开始的#行内容 |
|
d^ |
删除当前光标之前到行首的所有字符 |
|
d$ |
删除当前光标处到行尾的所有字符 |
复制 |
yy |
复制当前整行的内容到剪贴板 |
粘贴 |
p |
将缓冲区中的内容粘贴到光标位置出之后 |
|
P |
粘贴到光标位置处之前 |
命令模式下的常用命令–文件内容查找
操作键 |
功能 |
/word |
从上而下在文件中查找字符串“word” |
?word |
从下而上在文件中查找字符串“word” |
n |
定位下一个匹配的被查找字符串 |
N |
定义上一个匹配的被查找字符串 |
命令模式中的基本操作–撤销编辑及保存退出
操作键 |
功能 |
u |
按一次取消最近的一次操作,多次重复按u键,恢复已进行的多步操作 |
U |
用于取消对当前行所做的所有编辑 |
末行模式中的基本操作–保存文件内容及退出vi编辑器
功能 |
命令 |
备注 |
保存文件 |
:w |
|
|
:w /root/newfile |
另存为其它文件 |
退出vi |
:q |
未修改退出 |
|
:q! |
放弃对文件内容的修改,并退出vi |
保存文件退出vi |
:wq |
|
末行模式中的基本操作–打开新文件或读入其他文件内容
命令 |
功能 |
:e ~/install.log |
打开新的文件进行编辑 |
:r /etc/filesystems |
在当前文件中读入其他文件内容 |
末行模式中的基本操作–文件内容替代
命令 |
功能 |
:s /old/new |
将当前行中查找到的第一个字符“old”串替换为“new” |
:s /old/new/g |
将当前行中查找到的所有字符串“old”替换为“new” |
:#,#s/old/new/g |
在行“#,#”范围内替换所有的字符串“old”为“new” |
:% s/old/new/g |
在整个文件范围内替换所有的字符串“old”为“new” |
:s /old/new/c |
在替换命令末尾加入c命令,将对每个替换动作提示用户进行确认 |