在linux下,vim编辑器无疑是个神器。在全命令行下编辑时,为了提高效率,快捷键就变得必不可少。在本文中,主要介绍了vim的快捷键。
vim编辑器的三种状态模式
启动与退出
命令 | 释意 |
---|
$vim | 直接进入编辑环境 |
$vim filename | 进入编辑环境并打开文件 |
:q | 退出vim编辑环境 |
:w | 保存对文件的修改 |
:w filename | 将文件另存为filename |
:wq | 保存并退出 |
:q! | 放弃更改过的内容并强制退出 |
光标移动操作
光标移动
翻页
命令 | 释义 |
---|
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 | 按照块的方式选择文本 |