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}--搜指定字符 |
未完待续