记录一下较为完整的VIM使用方法的🔗链接,并记录一些自己常用的快捷键,以便于查找。
光标移动
键位组合 |
功能说明 |
h |
光标左移 |
l |
光标右移 |
k |
光标上移 |
j |
光标下移 |
CTRL-F |
下一页 |
CTRL-B |
上一页 |
CTRL-U |
上移半屏 |
CTRL-D |
下移半屏 |
0 |
跳到行首 |
^ |
跳到从行首开始第一个非空白字符 |
$ |
跳到行尾 |
gg |
跳到首行 |
G |
跳到行尾 |
nG |
跳到第N行 |
:n |
跳到第N行 |
w |
跳到下一个单词开头 (word: 标点或空格分隔的单词) |
W |
跳到下一个单词开头 (WORD: 空格分隔的单词) |
e |
跳到下一个单词尾部 (word: 标点或空格分隔的单词) |
E |
跳到下一个单词尾部 (WORD: 空格分隔的单词) |
b |
上一个单词头 (word: 标点或空格分隔的单词) |
B |
上一个单词头 (WORD: 空格分隔的单词) |
) |
向前移动一个句子(句号分隔) |
( |
向后移动一个句子(句号分隔) |
} |
向前移动一个段落(空行分隔) |
{ |
向后移动一个段落(空行分隔) |
<enter> |
移动到下一行首个非空字符 |
+ |
移动到下一行首个非空字符(同回车键) |
- |
移动到上一行首个非空字符 |
插入模式
键位组合 |
功能说明 |
i |
在光标处进入插入模式 |
I |
在行首进入插入模式 |
a |
在光标后进入插入模式 |
A |
在行尾进入插入模式 |
o |
在下一行插入新行并进入插入模式 |
O |
在上一行插入新行并进入插入模式 |
gi |
进入到上一次插入模式的位置 |
文本编辑
键位组合 |
功能说明 |
cc |
改写当前行(删除当前行并进入插入模式),同 S |
cw |
改写光标开始处的当前单词 |
ciw |
改写光标所处的单词 |
caw |
改写光标所处的单词,并且包括前后空格(如果有的话) |
c0 |
改写到行首 |
c^ |
改写到行首(第一个非零字符) |
c$ |
改写到行末 |
C |
改写到行尾(同c$) |
ci" |
改写双引号中的内容 |
ci' |
改写单引号中的内容 |
cib |
改写小括号中的内容 |
cab |
改写小括号中的内容(包含小括号本身) |
ci) |
改写小括号中的内容 |
ci] |
改写中括号中内容 |
ciB |
改写大括号中内容 |
caB |
改写大括号中的内容(包含大括号本身) |
ci} |
改写大括号中内容 |
cit |
改写 xml tag 中的内容 |
dd |
删除当前行 |
d0 |
删除到行首 |
d^ |
删除到行首(第一个非零字符) |
d$ |
删除到行末 |
D |
删除到行末(同 d$) |
dw |
删除当前单词 |
diw |
删除光标所处的单词 |
daw |
删除光标所处的单词,并包含前后空格(如果有的话) |
di" |
删除双引号中的内容 |
di' |
删除单引号中的内容 |
dib |
删除小括号中的内容 |
di) |
删除小括号中的内容 |
dab |
删除小括号内的内容(包含小括号本身) |
di] |
删除中括号中内容 |
diB |
删除大括号中内容 |
di} |
删除大括号中内容 |
daB |
删除大括号内的内容(包含大括号本身) |
dit |
删除 xml tag 中的内容 |
u |
撤销 |
guu |
全行转为小写 |
gUU |
全行转为大写 |
« |
减少缩进 |
>> |
增加缩进 |
复制粘贴
键位组合 |
功能说明 |
p |
粘贴到光标后 |
P |
粘贴到光标前 |
v |
开始标记 |
y |
复制标记内容 |
V |
开始按行标记 |
CTRL-V |
开始列标记 |
y$ |
复制当前位置到本行结束的内容 |
yy |
复制当前行 |
Y |
复制当前行,同 yy |
yiw |
复制当前单词 |
查找替换
键位组合 |
功能说明 |
/pattern |
从光标处向文件尾搜索 pattern |
?pattern |
从光标处向文件头搜索 pattern |
n |
向同一方向执行上一次搜索 |
N |
向相反方向执行上一次搜索 |
注释
需要安装VIM插件 vim-commentary,步骤如下:
mkdir -p ~/.vim/pack/tpope/start
cd ~/.vim/pack/tpope/start
git clone https://tpope.io/vim/commentary.git
vim -u NONE -c "helptags commentary/doc" -c q
键位组合 |
功能说明 |
gcc |
注释当前行 |
gc |
在 Visual Mode 下面按 gc 注释选中区域 |