Linux中vi/vim 编辑器的使用
模式说明

按键及命令说明
按键/命令 | 说明 |
---|
方向键 [↑][↓][←][→] | 向对应方向移动光标 |
[ESC] | 如果在非一般模式时退出当前模式返回到一般模式 |
按键/命令 | 说明 |
---|
i,I | 以插入模式进入编辑模式 i为从目前光标的位置插入,I为在目前行的第一个非空格处插入 |
a,A | 以插入模式进入编辑模式 a 为从光标的下一个字符处开始插入,A为从光标所在行的最后一个字符处开始插入 |
o,O | 以插入模式进入编辑模式 o为在目前光标所在的下一行处插入新的一行,O为在光标所在行的上一行出入新的一行 |
r,R | 以替换模式进入编辑模式 r 只会替换光标所在那一个字符一次,R会一直替换光标所在的文字 |
ctrl + f | 向下翻页,相当于 Page Down 键 |
ctrl + b | 向上翻页, 相当于Page Up 键 |
ctrl + d | 向下翻半页 |
ctrl + u] | 向上翻半页 |
0或Home | 将光标移动到当前行的起始位置 |
$或End | 将光标移动到当前行的末尾位置 |
G | 移动到这个文件的最后一行(注意是大写的) |
nG | 移动光标到第n行(注意G是大写的,n代表行数) |
gg | 移动光标到这个文件的第一行 |
nEnter | n为数字,将光标移动到第n行,比nG香 |
u | 复原前一个操作相当于撤销 |
ctrl + r | 重做上一个操作,和u相反 |
. | 这个玩意是小数点,意思是重复上一个操作 |
查找命令
按键/命令 | 说明 |
---|
/word | 向下查找word字符串,word是要查找的内容 |
?word | 向上查找word字符串 |
n | 查找下一个 |
N | 查找上一个 |
:n1,n2s/word1/word2/g | 在n1行和n2行之间将word1替换为word2 |
:1,$s/word1/word2/g | 从第一行到最后一行将word1替换word2 |
:1,$s/word1/word2/gc | 功能和上一个一样,但是在替换前会让用户进行确认 |
删除,复制,粘贴
按键/命令 | 说明 |
---|
dd | 删除光标所在的一整行 |
ndd | 删除光标所在的向下n行 |
d1G | 删除光标所在行到第一行的所有数据 |
dG | 删除光标所在行到最后一行的所有数据 |
d$ | 删除光标到行末的内容 |
d0 | 删除光标到本行最开始的所有内容 |
yy | 复制当前行 |
nyy | 复制光标所在的向下n行 |
y1G | 复制光标所在行到第一行的所有数据 |
yG | 复制光标所在行到最后一行的所有数据 |
y$ | 复制光标到行末的内容 |
y0 | 复制光标到本行最开始的所有内容 |
p,P | p粘贴到光标所在的下一行,P粘贴到光标所在的上一行 |
J | 将下一行和当前行拼接在一起 |
命令
命令 | 说明 |
---|
:w | 保存 |
:w! | 强制保存,比如当前文件如果是只读文件,是无法进行保存的,使用w!可以尝试保存,具体能否成功保存还要看你对该文件是否有足够的权限 |
:q | 退出vi |
:q! | 强制退出,不保存修改内容 |
:wq | 保存退出 |
:wq! | 强制保存退出 |
:w[finename] | 另存为filename |
:! command | 暂时离开vi到命令行模式下执行command的显示结果。例如":! ls /home "即可在vi中查看/home下的内容 |
:set nu | 显示行号 |
: set nonu | 关闭行号 |
Notice: 以上内容部分整理自《鸟哥的Linux私房菜》
详细内容请查询《鸟哥的Linux私房菜 第三版》10.2 节