1.安装
Ubuntu:
$ apt-get install vim
Mac:
* 安装 Homebrew: http://brew.sh
* $ brew update
* $ brew install vim && brew install macvim
2.下载配置好的配置文件
$ git clone https://github.com/sg552/my_vim.git
# 下载完毕后,把这两个文件copy到 home 目录就可以了。
$ cd my_vim
$ cp .vimrc ~
$ cp -r .vim ~
3.来安装各种插件
先进入到Vim:
$ vim
有可能会报几个错误,没关系。这是由于我们缺少几个plugin 造成的。出一次错误按一次回车就可以了。等到进入到Vim界面后,输入:
:BundleInstall
(注意冒号不要省略,输入冒号才可以进入到命令模式)
安装过程中,会有一个步骤让你输入你的github的账号和密码。不要蒙,直接输入账号密码就ok了(保证输入的账号密码正确,输入密码的时候可能没有字符提示,会给人一种没有打上字的错觉,没关系大胆输入就ok)
Vim 快捷键
撤销
u 撤销上一步的操作
Ctrl+R 恢复上一步被撤销的操作
1.上下左右
h 左 j 下 k 上 l 右
2.下一个词,上一个词
w: 下一个词。 (word) b: 上一个词。 (backword)
所以,按一下w 相当于按多下l.
3.向下一屏,向上一屏。
ctrl + f: 向下一屏(f = forward)
ctrl + b: 向上一屏(b = backward)
4.选择多行
shift + v, 然后上下移动。
(你也可以 直接 v然后上下左右移动, 这也是选择多行,只是不是整行整行的选择。动手试一下吧!)
5.搜索
搜索 /some_thing
继续搜索下一个: n
搜索前一个: shift + n
6.在当前整个文件中,替换(也叫全局替换)
!:%s/原来的字符串/新字符串/
如果某个字符串在某一行出现了多次,希望对它所有出现的次数都替换的话,就在末尾加个g ,像这样: :%s/原来的字符串/新字符串/g )
7.局部替换
* 先 shift + v 选中若干行
* :s/原来的/新的字符串
8.快速打开历史文件
ctrl + e 即可。
9.跳到行首, 行末
跳到当前行的末尾: shift + 4 (意为 $ , 这是正则表达式中 末尾的意思)
跳到当前行的行首: 0
10.快速跳到文件首行 , 尾行。
“跳到尾行” 这个功能很多时候很有用。例如, vim 进入到文件夹后,最新的文件(特别是以日期命名的文件)往往排在最下面。shift + g 然后按回车可以直接打开。 想象不到吧~
gg 第一行 shift + g 末行。
11.快速跳到 上一次 / 下一次编辑的地方:
* 跳到 上一次编辑的地方: g;
* 跳到 下一次编辑的地方: g,
12.返回上一次/下一次编辑的文件或位置
* 快速返回上一次编辑的文件: ctrl + o ( o 意为 outer )
* 快速返回下一次编辑的文件: ctrl + i ( i 意为 inner )
13.输入模式
输入文本
从导航模式到编辑模式,有下面几种方法:
* 在光标前输入 i ( insert )
* 在光标后输入 a (append / after )
* 在行首增加内容 shift + i
* 在行末增加内容shift + a
* 在光标下行增加内容: o
* 在光标上行增加内容: shift + o (这个操作往往会有500毫秒的延迟)
14.删除
以下删除都以当前光标作为起始位置。
* 删掉一个字母:x
* 删掉一个单词: dw
* 删掉一行: dd
* 删掉多行: shift +v, 然后 x 或者 d
15.复制与粘贴
复制,或者删除(vim认为删除就是剪切,所有被删掉的内容,都会被放到复制缓冲区中)后,就可以粘贴了。
* 复制一个单词: yw
* 复制当前行: yy
* 粘贴: p
16.多重复制与粘贴
现在在 Windows, Mac 和 Linux下的复制操作,都不支持多种复制。 很奇怪。
Vim中支持。 使用YRShow 插件。
在我的个人配置中, , + a 即可。原始命令: :YRShow 。 在弹出的“复制历史列表”中, 上下移动, 找到合适的后直接按回车即可。
17.分割屏幕
让一个27寸显示器显示多个窗口是很酷的事儿(虽然我个人很少用)
* 竖屏分割: vs (vertical split缩写)
* 横屏分割: sp (split缩写)
* 来回跳换: ctrl + w + w (跳到下一个小窗口), 或者 ctrl + w +
18.注释多行
这里使用了插件: nerd-commentor. 我为它配置了自己的快捷键。
* 选中多行 (shift + v)
* ,cb (逗号 c b 三个键要快速按)
取消注释: 使用传统的替换即可。
19.为多行代码格式化
多行选中后, 按 = 即可。 (注意:不是100%好用。 因为有的代码本身就是不完整的)
20.快速跳到当前光标所属文件(如果可能的话)
在 Rails的 路由或者 视图文件中,很好用。gf 即可。 (gf = go to file)
在 View 中, 快速跳到一个 partial.
在 config/routes.rb 中跳到controller
21.显示/隐藏行数
:set number 显示行数
:set nonumber 取消行数
22.折叠/取消折叠过长的行
:set wrap 折叠
:set nowrap 取消折叠