
学习linux
的一项必会技能,熟练使用vi/vim
编辑器那便最重要的了。不过一堆操做看的也是太头疼了,如下整理了些经常使用到的命令。html
工做模式
vi
编辑界面有三种不一样的工做模式,分别为命令模式、输入模式、和末行模式,不一样的模式对文件进行的操做也不一样。linux
模式 |
判断方法 |
可进行的操做 |
命令模式 |
启动后默认进入命令模式 |
光标移动、复制、粘贴、删除、字符串查找等 |
输入模式 |
最后一行有"--INSERT--"状态提示 |
录入文件内容 |
末行模式 |
最后一行有":"提示符 |
保存、退出、查找、替换等 |
这张图说明了三种模式之间的切换方式。vim

命令模式中的基本操做
操做类型 |
操做键 |
功能 |
进入输入模式 |
a |
光标位置以后插入内容 |
^ |
A |
光标所在行末尾插入内容 |
^ |
i |
光标位置以前插入内容 |
^ |
I |
光标所在行开头插入内容 |
^ |
o |
光标所在行下面插入新行 |
^ |
O |
光标所在行上面插入新行 |
退出输入模式 |
Esc |
退出输入模式,返回命令模式 |
操做类型 |
操做键 |
功能 |
方向移动 |
↑、↓、←、→ |
上、下、左、右 |
翻页 |
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 |
复制当前行整行的内容到剪贴板 |
^ |
#yy |
复制从光标所在行开始的#行内容 |
粘贴 |
p |
将缓冲区中的内容粘贴到光标位置处以后 |
^ |
P |
粘贴到光标位置处以前 |
操做键 |
功能 |
/word |
从上而下在文件中查找字符串"word" |
?word |
从下而上在文件中查找字符串"word" |
n |
定位下一个匹配的被查找字符串 |
N |
定位上一个匹配的被查找字符串 |
操做键 |
功能 |
u |
按次取消最近的一次操做;重复u键,恢复多步操做 |
U |
用于取消对当前行所作的全部编辑 |
ZZ |
保存当前的文件内容并退出vi编辑器 |
末行模式中的基本操做
功能 |
命令 |
备注 |
保存文件 |
:w |
保存修改的内容 |
^ |
:w /root/newfile |
另存为其它文件 |
退出 |
:q |
未修改退出 |
^ |
:q! |
放弃对文件内容的修改,并退出 |
保存文件退出 |
: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命令,将对每一个替换动做提示用户进行确认 |
vi/vim 键盘图
附上一张中文版的 vi/vim
键盘图,里面应该是把全部的操做都注明了,不知你怎么想,反正我是看蒙了。编辑器
原英文版图片:vi-vim-cheat-sheet学习

参考说明
Linux vi/vim | 菜鸟教程网站
菜鸟教程是一个很不错的学习网站,在学习Linux
的过程当中,给过我很多帮助。spa