本文记录了 Vim
常用的快捷键作为备忘清单。
常用快捷键
移动光标
快捷键 |
功能 |
h , ← |
光标向左移动一个字符 |
j , ↓ |
光标向下移动一个字符 |
k , ↑ |
光标向上移动一个字符 |
l , → |
光标向右移动一个字符 |
Ctrl + f , Page Down |
屏幕向下移动一页 |
Ctrl + b , Page Up |
屏幕向上移动一页 |
0 |
光标移动至本行开头 |
$ |
光标移动至本行末尾 |
G |
光标移动至文件最后一行 |
nG |
光标移动至文件第n行 |
gg |
光标移动至文件第一行 |
n<Enter> |
光标向下移动n行 |
n<space> |
光标向右移动n个字符 |
^ |
光标移动至本行第一个非空字符处 |
w |
光标移动到下一个词 (上一个字母和数字组成的词之后) |
W |
光标移动到下一个词 (以空格分隔的词) |
b |
光标移动到上一个词 (下一个字母和数字组成的词之前) |
B |
光标移动到上一个词 (以空格分隔的词) |
查找和替换
快捷键 |
功能 |
/word |
向光标之后搜索word |
?word |
向光标之前搜索word |
n |
重复前一个查找操作 |
N |
反向进行前一个查找操作 |
:n1,n2s/original/replacement/g |
在第n1行到第n2行之间查找original并替换为replacement |
:1,$s/original/replacement/g |
在第1行到最后一行之间查找original并替换为replacement |
:1,$s/original/replacement/gc |
在第1行到最后一行之间查找original并替换为replacement,替换前需确认 |
:%s/original/replacement |
在所有行中查找行中第一个出现的original并替换为replacement |
替换格式如下 :[range]s/<pattern>/[string]/[flags] [count]
删除/复制/粘贴
快捷键 |
功能 |
x |
向后删除一个字符,相当于 Del |
X |
向前删除一个字符,相当于 Backspace |
nx |
向前删除n个字符 |
dd |
删除(剪切)光标所在的行 |
ndd |
删除(剪切)光标所在开始的n行 |
d1G |
删除(剪切)光标所在到第1行的所有行 |
dG |
删除(剪切)光标所在到最后一行的所有行 |
d$ |
删除(剪切)光标所在到该行的最后一个字符 |
d0 |
删除(剪切)光标所在到该行的第一个字符 |
yy |
复制光标所在的行 |
nyy |
复制光标所在开始的n行 |
y1G |
复制光标所在到第1行的所有行 |
yG |
复制光标所在到最后一行的所有行 |
y$ |
复制光标所在到该行的最后一个字符 |
y0 |
复制光标所在到该行的第一个字符 |
p |
将复制的内容粘贴到光标所在的下一行 |
P |
将复制的内容粘贴到光标所在的上一行 |
u |
恢复前一个操作 |
Ctrl+r |
重做上一个操作 |
. |
重复前一个操作 |
进入编辑模式
快捷键 |
功能 |
i |
进入插入模式,从光标所在处开始插入 |
I |
进入插入模式,从光标所在行的第一个非空格开始插入 |
a |
进入插入模式,从光标所在的下一个字符处开始插入 |
A |
进入插入模式,从光标所在行的最后一个字符处开始插入 |
o |
进入插入模式,在光标所在行的下一行插入新的一行 |
O |
进入插入模式,在光标所在行的上一行插入新的一行 |
r |
进入替换模式,只会替换光标所在的字符一次 |
R |
进入替换模式,替换光标所在的字符,直到通过Esc退出 |
Esc |
退出编辑模式,回到一般命令模式 |
保存和退出
快捷键 |
功能 |
:w |
保存文件 |
:w! |
若文件为只读,强制保存 |
:q |
退出 Vim,如果文件已修改,将退出失败 |
:q! |
强制退出 Vim,不保存文件修改 |
:wq |
保存文件并退出 Vim |
:w filename |
另存为新文件 |
ZZ |
退出 Vim,若文件无修改,则不保存退出;如果文件已修改,保存并退出 |
:r filename |
读入另一个文件的数据并添加到光标所在行之后 |
额外功能
可视模式
快捷键 |
功能 |
v |
字符选择,将光标经过的地方反白选择 |
V |
行选择,将光标经过的行反白选择 |
Ctrl + v |
区块选择,用矩形的方式反白选择 |
y |
复制反白选择的地方 |
d |
删除反白选择的地方 |
~ |
对反白选择的地方切换大小写 |
多文件编辑
快捷键 |
功能 |
:n |
编辑下一个文件 |
:N |
编辑上一个文件 |
:files |
列出当前 Vim 打开的所有文件 |
多窗口功能
快捷键 |
功能 |
:sp [filename] |
打开一个新窗口 |
Ctrl + w + j Ctrl + w + ↓ |
光标移动到下方的窗口 |
Ctrl + w + k Ctrl + w + ↑ |
光标移动到上方的窗口 |
Ctrl + w + q :q :close |
关闭窗口 |
关键词自动补全
快捷键 |
功能 |
Ctrl + x + Ctrl + n |
使用当前文件的内容文字作为关键词,予以补齐 |
Ctrl + x + Ctrl + f |
使用当前目录的文件名作为关键词,予以补齐 |
Ctrl + x + Ctrl + o |
使用扩展名作为语法补充,以 Vim 内置的关键词,予以补齐 |
环境配置
设置参数 |
功能 |
:set nu :set nonu |
设置和取消行号 |
:syntax on :syntax off |
是否依据程序相关语法显示不同颜色 |
可以通过 vim ~/.vimrc
修改配置文件。
参考文章