vim常用快捷键
快捷键 | 功能 |
---|---|
移动光标 | |
Ctrl + f | 向下翻页,相当于pageDown |
Ctrl + b | 向上翻页,相当于pageUp |
0 或功能键home | 数字0,移动到这一行最前面的字符处 |
$ 或功能键end | 移动到这一行最后的字符处 |
G | 移动到这个档案的最后一行 |
gg | 移动到这个档案的第一行,相当于1G啊 |
n<Enter> | n为数字,光标下移n行 |
查找与替换 | |
/word | 向光标之下寻找名为word的字符串。例如在文档中搜索vbird,输入/vbird即可 |
?word | 向光标之上寻找名为word的字符串 |
n | 向下寻找,重复前一个搜寻动作 |
N | 与n相反,向上寻找 |
:n1,n2s/word1/word2/g | n1,n2为数字,在n1行和n2行之间寻找word1这个字符串,并替换为word2。举例:在100至200行之间查找vbird并替换为VBIRD,『:100,200/vbird/VBIRD/g』 |
:1,$s/word1/word2/g | 从第一行到最后一行寻找word1,并替换为word2 |
:1,$s/word1/word2/gc | 从第一行到最后一行寻找word1,并替换为word2,在替换前显示提示字符给用户确认(confirm)是否需要替换 |
删除、复制和粘贴 | |
x,X | 在一行字中,x为向后删除一个字符(相当于[del]键),X为向前删除一个字符(相当于[backspace]键) |
dd | 删除光标所在的那一行 |
ndd | n为数字,删除光标所在的向下n行,例如20dd是删除20行 |
yy | 复制光标所在的那一行 |
nyy | n为数字,复制光标所在的向下n行 |
p,P | p将已复制的内容在光标所在的下一行粘贴,P则粘贴在光标所在的上一行。 |
u | 撤销上一个动作,相当于Ctrl + z |
Ctrl + r | 重做上一个动作 |
. | 小数点,重复前一个动作。例如重复删除,重复粘贴等 |
进入插入或替换的编辑模式 | |
i.I | 进入插入模式(insert mode), i为在目前光标所在处插入,I为在目前所在行的第一个非空格符处开始插入 |
a,A | 进入插入模式(insert mode),a为从目前光标所在的下一个字符处开始插入,A为从光标所在行的最后一个字符处开始插入 |
o,O | 进入插入模式(insert mode),这是英文字母o。o为从目前光标所在行的下一行处插入新的一行;O为从目前光标所在行的上一行插入新的一行。 |
r,R | 进入替换模式(replace mode),r只会取代光标所在那个字符一次;R会一直取代光标所在的文字,直到按下ESC为止。 |
Esc | 退出编辑模式,回到一般模式中 |
指令列的存储、离开等指令 | |
:w | 将编辑的数据保存到硬盘中 |
:w! | 若文件属性为只读时,强制写入该档案。不过到底能不能写入,还跟用户对该档案的权限有关 |
:q | 离开vi |
:q! | 若曾修改文档,又不想保存,使用!为强制离开不存储文档 |
感叹号(!)在vi当中,常常具有 强制 的意思 | |
:wq | 储存后离开,:wq! 强制储存后离开 |
ZZ | 若档案没有修改,则不存储离开;若档案已经被修改,则存储后离开。 |
vim 环境的变更 | |
:set nu | 显示行号,设定之后,会在每一行的前缀显示该行的行号 |
:set nonu | 与set nu相反,取消行号 |
网友评论