在linux下,vim编辑器无疑是个神器。在全命令行下编辑时,为了提高效率,快捷键就变得必不可少。在本文中,主要介绍了vim的快捷键。
vim编辑器的三种状态模式
启动与退出
命令 |
释意 |
$vim |
直接进入编辑环境 |
$vim filename |
进入编辑环境并打开文件 |
:q |
退出vim编辑环境 |
:w |
保存对文件的修改 |
:w filename |
将文件另存为filename |
:wq |
保存并退出 |
:q! |
放弃更改过的内容并强制退出 |
光标移动操作
光标移动
命令 |
释义 |
h |
左移光标 |
l |
右移光标 |
k |
上移光标 |
j |
下移光标 |
翻页
命令 |
释义 |
ctrl + f |
向下翻整页 |
ctrl + b |
向上翻整页 |
ctrl + u |
向上翻半页 |
ctrl + d |
向下翻半页 |
行内移动光标
命令 |
释义 |
^ |
将光标跳转到本行的行首字符 |
$ |
将光标跳转到本行的行尾字符 |
文件内跳转
命令 |
释义 |
:set nu |
在编辑器中显示行号 |
:set nonu |
取消编辑器中的行号显示 |
gg(1G) |
跳转到文件的首行 |
G |
跳转到文件末尾行 |
:n |
跳转到文件的第n行 |
编辑操作
进入插入模式
命令 |
释义 |
i |
在当前光标处进入插入状态 |
I |
在行首进入插入状态 |
a |
在当前光标后进入插入状态 |
A |
在行末进入插入状态 |
o |
在当前行的下一行插入新行,光标移动到新行行首,进入插入状态 |
O |
在当前行的上一行插入新行,光标移动到新行行首,进入插入状态 |
c(n)w |
删除当前光标到单词尾部的字符,并进入插入状态 |
c$/C |
删除当前光标之后(包括光标上的字符)到行末的字符,并进入插入状态 |
c^ |
删除当前光标之前(不包括光标上的字符)到行首的字符,并进入插入状态 |
删除操作
命令 |
释义 |
x |
删除光标处的单个字符 |
(n)dd |
删除光标所在行(包括光标所在行)向下n行 |
:3,5 d |
删除3到5行的内容 |
daw |
删除光标所在处的一个单词 |
dw |
删除当前字符到单词尾部(包括空格)的所有字符 |
de |
删除当前字符到单词尾部(不包括单词尾部的空格)的所有字符 |
d$ |
删除当前字符到行尾的所有字符 |
d^ |
删除当前字符到行首的所有字符 |
J |
合并当前行和下一行的内容。删除光标所在行行尾的换行符 |
拷贝和粘贴
命令 |
释义 |
(n)yy |
复制当前整行的内容到缓冲区 |
:3,4 co(m) 9 |
复制(剪切)3-6行,到12行处 |
p |
读取缓冲区中的内容,并复制带光标当前的位置(不覆盖文件已有的内容) |
撤销与恢复
命令 |
释义 |
u |
取消最近一次的操作,并恢复操作结果;可以多次使用u命令恢复已进行的多步操作 |
U |
取消对当前整行进行的所有操作 |
ctrl + r |
对使用u命令撤销的操作进行恢复 |
查找与替换
查找
命令 |
释义 |
/word |
从上而下在文件中查找字符串“word” |
?word |
从下而上在文件中查找字符串“word” |
n |
定位下一个被匹配到的字符串 |
N |
定位上一个被匹配到的字符串 |
替换
命令 |
释义 |
r |
替换当前光标处的字符,仅替换一次 |
R |
进入替换模式,可替换多次 |
:s/old/new |
将当前行中查找到的第一个字符“old”串替换为“new” |
:s/old/new/g |
将当前行中查找到的所有字符串“old”替换为“new” |
:#,# s/old/new/g |
将行号“#,#”范围内替换所有字符串“old”为“new” |
:% s/old/new/g |
在整个文件范围内替换所有的字符串“old”为“new” |
选中
命令 |
释义 |
v |
逐个字符选择文本 |
V |
逐行选择文本 |
ctrl +v |
按照块的方式选择文本 |