vim_奇淫技巧
学习 vim 编辑器的语法的目的就是提高开发效率,因为 vim 的操作让开发者拜托了鼠标的限制。利用一些指令从而能够快速的完成各种操作。
本文以 Vscode 中的插件 vim 进行测试:
- 安装插件
1 | 安装插件 Vim |
- 在配置文件中将下列配置复制进去:
1 | "vim.easymotion": true, |
普通模式
光标的移动
1 | 普通模式下: |
针对文字的光标移动
按键 | 功能 |
---|---|
w | 跳到一个单词的开头 |
b | 跳到一个单词的开头 |
e | 跳到本单词或者下一个单词结尾 |
ge | 跳到上一个单词的结尾 |
针对在文字段落中的移动
按键 | 功能 |
---|---|
0 | 跳到行首 |
^ | 跳到从行首开始的第一个非空字符 |
$ | 跳到行尾 |
gg | 跳到第一行 |
G | 跳到最后一行 |
在字符之间移动
按键 | 功能 |
---|---|
f{char} | 光标跳到下一个{char}所在的位置 |
F{char} | 光标跳到上一个{char}的位置 |
t{char} | 光标跳到下一个{char}的前一个字符的位置 |
T{char} | 光标反向跳到上一个{char}的最后一个字符的位置 |
; | 重复上次的字符查找的操作 |
, | 反向查找上次查找的命令 |
motion
普通模式下
操作符和 motion 进行配合:
1 | u--撤销 |
操作 | 功能 |
---|---|
ciw | 修改当前的文字 |
piw | 复制当前的文字 |
diw | 删除当前的文字 |
ci+包裹文字的符号 | 修改符号内的文字 |
da+包裹文字的符号 | 连同符号和里面的内容都删除 |
yi+加包裹文字的符号 | 复制符号内的所以内容 |
cib/dab | 修改、删除小括号里面的内容 |
daa | 删除中括号里面的指定项 |
n+dd | 向下删除 n 行 |
n+cc | 向下删除 n 行并进入编辑模式 |
n+yy | 向下复制 n 行 |
d^/d$ | 删除以光标位置前面/后面的内容 |
c^/c$ | 删除以光标位置前面/后面的内容并进入编辑模式 |
die/cie/yie | 删除/修改/复制这个文件 |
cit/dit | 编辑/删除以光标位置为准的标签里面的所有内容 |
向前找 F 和向后找 f
1 | f{char} --- 向后找到某个字符的位置 |
大小写
操作 | 功能 |
---|---|
~ | 将光标下的字符改变大小写 |
n+~ | 将光标位置开始的 n 个字符改变其大小写 |
g~~ | 改变当前行的大小写 |
gUU | 将当前行的字符改成大写 |
guu | 将当前行的字母改成小写 |
gUaw(gUiw) | 将光标下的单词改成大写 |
guaw(guiw) | 将光标下的单词改成小写 |
V–可视模式
1 | v+h/j/k/l---进行选中区域 |
VIM-VSCode tips:
1 | gh--查看一些说明 |
easyMotion:
1 | <leader><leader>s{char}--搜指定字符 |
未完待续