vim的使用--必须记住的快捷键
vim不适合指法不好的同学。
Vim的每个键都是需要盲打的。 所以,指法不好,就赶紧提高自己的指法。否则很难的。
安装:
Ubuntu:
$ apt-get install vimMac:
- 安装 Homebrew: The Missing Package Manager for macOS (or Linux) — Homebrew
$ brew update$ brew install vim && brew install macvim
Vim 中有无数种插件,你可以随意安装使用。 可以在 scripts : vim online 搜索到,也可以直接google。
$ git clone https://github.com/sg552/my_vim.git
# 下载完毕后,把这两个文件copy到 home 目录就可以了。
$ cp .vimrc ~
$ cp .vim ~ -r
$ vim
:BundleInstallRails插件
Rails插件允许我们快速的在各种文件中跳来跳去(相信Vim 也有 Django, Spring, angular, 这样的插件, 有兴趣的朋友可以看看。)
- 跳转到 controller:
ctrl + c- 跳转到 model :
ctrl + m- 跳转到 view : 先移动到对应的action, 再
ctrl + v
自动补全
凡是在 Vim 缓冲区中(近期打开过的文件)的代码,都可以补全。
- 从上到下选择候选词:
ctrl + n- 从下到上选择候选词:
ctrl + p
- 左移: 选多行后,
( <) shift + ,- 右移: 选多行后,
( >) shift + .- 重复上次操作:
.
粘贴模式
Vim 正常模式下的粘贴,会导致粘贴的代码一行接一行的缩进。 如果要取消这种缩进的话,就要进入到 "粘贴模式". (记得在这个模式下,无法使用
命令来快速打开文件。 ) ctrl + t
进入到粘贴模式 :set paste取消粘贴模式 :set nopaste
三种模式的切换:字母切换输入模式,esc切换导航模式,:切换命令模式。
上下左右 hjkl 光标移动, 然后上下移动。就是选中, shift + v
: 下一个词。 (word) w: 上一个词。 (backword) b
: 向下一屏(f = forward) ctrl + f: 向上一屏(b = backward) ctrl + b分屏
- 竖屏分割:
(vertical split缩写) vs- 横屏分割:
(split缩写) sp- 来回跳换:
(跳到下一个小窗口), 或者 ctrl + w + w(跳到某个方向的小窗口) ctrl + w + <j/k/h/l>多行注释
- 选中多行 (
) shift + v(逗号 c b 三个键要快速按) ,cb- 取消注释: 使用传统的替换即可。
多行代码格式化
多行选中后, 按
即可。比如多行缩进对齐。 =
(所有都替换的话,就在末尾加个 :%s/原来的字符串/新字符串/ 查找替换 g) :%s/原来的字符串/新字符串/g先
选中若干行 shift + v :s/原来的/新的字符串 替换
: 下一个候选 ctrl + n: 上一个候选 ctrl + p
搜索 some_thing:
继续搜索下一个: /some_thing搜索前一个: nshift + n
快速打开文件
使用的插件: fuzzy find
, 就会弹出 ctrl + t这样的标志,然后输入: >file>即可。 文件名是模糊查询。输入 **/文件名, vim 也会把 ab的结果列出来 aubCtrl + e 打开最近编辑的文件
快速进另一个文件:
在 Rails的 路由或者 视图文件中,很好用。
即可。 (gf = go to file) gf
- 跳到当前行的末尾:
shift + 4- 跳到当前行的行首:
0
: 第一行 gg: 末行。 shift + g
- 跳到 上一次编辑的地方:
g;- 跳到 下一次编辑的地方:
g,
- 快速返回上一次编辑的文件:
( o 意为 outer ) ctrl + o- 快速返回下一次编辑的文件:
( i 意为 inner ) ctrl + i- shift+8 跳到光标位置相同的标签或者单词处
输入文本
- 在光标前输入:
( insert ) i- 在光标后输入:
(append / after ) a- 在行首增加内容:
shift + i- 在行末增加内容:
shift + a- 在光标下行增加内容:
o- 在光标上行增加内容:
shift + o
删除
以下删除都以当前光标作为起始位置。
删掉一个字母:x
删掉一个单词: dw
删掉一行: dd
删掉多行: shift +v, 然后 x 或者 d
- 复制一个单词:
yw- 复制当前行:
yy- 粘贴:
p,a查看历史复制的内容,enter选中粘贴的内容
针对多个文件进行 查找和替换
使用插件: Greplace
这里的 Gsearch -F '要替换的字符串' . -R --include=*rb, -F这些参数,跟 -R --include=*rb中的一样。 grep- 在返回的结果中,把该替换的替换。
然后选择 Greplace来决定是否替换。 y/a/n- 最后, 输入
保存所有文件的改动。 wa
切换背景色
深色背景色 :set background=dark亮色 :set background=light
显示/隐藏行数
显示行数 :set number取消行数 :set nonumber
折叠/取消折叠过长的行
折叠 :set wrap取消折叠 :set nowrap
进入到粘贴模式 :set paste取消粘贴模式 :set nopaste