Vim命令 & 技巧备忘录
2016-04-12 本文已影响331人
rh_Jameson
用Vim当IDE也有两年了,但赶脚自己总是倾向于停留在舒适区,能用基本命令解决的,就懒得去用些高级一点,省力一点的命令了。
倒不是说不知道这些命令,而是每次到用的时候,偶滴反射弧还是映射到基本命令上去了...
故写篇备忘录,分享的同时,自己每周也来瞄一眼,直到反射弧映射到高级命令上...
废话不多说,上命令~~
快速移动技巧:
命令 | 功能 |
---|---|
t, | 到逗号前的第一个字符。逗号可以变成其它字符 |
w | 先前移动一个单词 |
b | 向后移动一个单词 |
e | 移动到当前单词末尾 |
) | 向前移动一条句子 |
} | 向前移动一个段落 |
vb | 向前选一个单词 |
vw | 向后选一个单词 |
gj / gk | 向下 / 上 移动一个屏幕行 |
mm / `m | 设置m标志位 / 跳回m标志位 |
H / M / L | 跳到屏幕上 / 中 / 下方 |
快速修改技巧:
命令 | 功能 |
---|---|
. | "重复上次的修改" |
\\>G | "增加缩进级别" |
<G | "减少缩进级别" |
A | "在当前行末尾添加内容" |
I | "在当前行开头添加内容" |
dw & cw | "删除一个单词" |
daw => iw / aw | inside the word / around the word |
v选中U | "转换大写" |
v选中u | "转换小写" |
v选中~ | "自动转换大小写" |
A | "在当前行末尾添加内容" |
<C - u> | 删除当前下标到当前行开头 |
C | 删除当前下标到当前行末尾 |
S | 删除当前行并插入 |
yt, | 拷贝当前下标到逗号符前 |
R | 进入替换模式 |
gv | 重选上次的高亮选区 |
ggvG => = | 代码自动缩进 |
EX快速执行命令:
命令 | 功能 |
---|---|
:s/going/rolling/g | 将going替换为rolling |
:%s/going/rolling/g | 将将所有going替换为rolling |
:reg | 查看缓存区寄存器内容 |
"0P / "aP / "+P | 拷贝相应寄存器的内容 |
:CtrlIp | search file from cur dir |
:!{cmd} | 执行一次shell cmd |
:shell | 进入shell会话 |
:read !{cmd} | 执行shell cmd并把结果插入到光标下方 |
其他技巧:
命令 | 功能 |
---|---|
* => cw => write content => ESC => n => . | 查找并手动替换 |
r or R | nerdtree目录结构刷新 |
xp | 交换当前光标左右两个字符的位置 |
ddp | 交换当前行与下一行的位置 |
最后, 附上一张Vim Sheet: