vim快捷键
命令模式
|
| ||||||||||||||||||||||||||||||||||||
|
|
普通模式
命令 | 解释 |
zc | 代码折叠 |
zo | 展开代码折叠 |
za | toggle折叠 |
zn | 全部展开 |
zN | 全部展开 |
ctrl + w w | 在多个窗口中切换 |
ctrl + w c | 关闭当前窗口 |
ctrl + w q | 关闭当前窗口,如果是最后一个窗口则退出vim |
ctrl + w s | 上下分隔打开的文件 |
ctrl + w v | 左右分隔打开的文件 |
ctrl + w r | 左右或上下交换分屏位置 |
ctrl + w = | 让所有分屏都一样高 |
ctrl + w + | 增加高度 |
ctrl + w - | 减小高度 |
ctrl + w > | 增加宽度 |
ctrl + w < | 减小宽度 |
>> | 右缩进 |
<< | 左缩进 |
== | 自动对齐当前行 |
ctrl-p | 自动补全 |
ctrl-g | 显示文件名和行数 |
ga | 显示当前字符的内码 |
w/W | 下一个单词 |
b/B | 上一个单词 |
e/E | 当前单词的末尾 |
) | 当前句子的末尾 |
( | 当前句子的开始 |
} | 当前段落的末尾 |
{ | 当前段落的开始 |
H | 将光标跳转到屏幕最上方 |
L | 将光标跳转到屏幕最下方 |
M | 将光标跳转到屏幕中间 |
zz | 将当前光标位置设为屏幕中间 |
% | 跳转到与之匹配的括号处 |
ctrl + f | 上翻一页 |
ctrl + b | 下翻一页 |
0 | 跳到行首 |
^ | 跳到行首(第一个字符处) |
$ | 跳到行尾 |
gd | 跳转到定义 |
gg | 跳到文件首 |
G | 跳到文件尾 |
[N]G | 跳到第N行 |
`` | (反引用号)跳回上一个光标位置 |
ctrl+o | 跳回上一个光标位置 |
ctrl+i | 回退上面的跳动 |
g, | 跳回上一个编辑位置 |
g; | 跳回上一个编辑位置 |
`. | 跳回上一个编辑位置 |
fx | 在当前行中找到x字符就跳过去 |
Fx | 与fx方向相反 |
tx | 与fx相似,跳到x的前一个字符 |
ma | 把当前位置存为书签 |
`a | 跳到a书签处 |
|
|
cw/cW | 删除单词进入插入模式 |
bw/BW | 删除单词进入插入模式 |
dw/DW | 删除单词 |
db/dB | 删除单词 |
d0 | 删除当前到行首的单词 |
d$ | 删除当前到行尾的单词 |
d) | 删除当前到句末的单词 |
d( | 删除当前到句首的单词 |
d} | 删除当前到段末的单词 |
d{ | 删除当前到段首的单词 |
di( | 删除圆括号中的内容 |
di{ | 删除大括号中的内容 |
di[ | 删除中括号中的内容 |
dt[标记] | 删除光标到标记的内容 |
r | 替换一个字母 |
R | 替换一连串字母 |
s | 删除一个字母并进入插入模式 |
S | 删除本行并进入插入模式 |
C/c$ | 删除光标到行尾并进入插入模式 |
cc | 删除当前行并进入插入模式 |
xp | 交换前后字母位置 |
. | 重复最后一个动作 |
|
|
|
|
u/ctrl-r | 撤销与重做 |
~ | 大小写反转 |
:r!<cmd> | 读取命令的输出结果到当前 |
:1,$!sort | 排序文件 |
* | 向前搜索光标所在的单词 |
# | 向前搜索光标所在的单词 |
插入模式
命令 | 解释 |
ctrl + r = | 简单的计算器 |
ctrl+d zz | 将当前光标位置设为屏幕中间 |
|
|
可视模式
命令 | 解释 |
o/O | 跳转光标到选中块的另一端 |
U | 将选中块的内容转为大写 |
ab | 选中()中的内容,包括括号本身 |
ib | 选中()中的内容,不包括括号本身 |
aB | 选中{}中的内容,包括括号本身 |
iB | 选中{}中的内容,不包括括号本身 |
~ | 大小写反转 |
其他
命令 | 解释 |
%s/\/\*\_.\{-}\*\///gi | vim 正则删除Java块注释 |
set cc=80 | 设置列标尺 |