Vim Tips 2
此前写过一篇VIM常用命令。Vim 学习曲线还是比较陡峭的,很多教程都是直接给出一个Vim 命令或快捷键的参考列表,求全,这反而把有心学习的潜在用户吓跑了。我在学习使用 Vim 的时候尽量先总结最常用的,并按照操作类型归类,符合自己的认知结构。由此总结出该文中所记述的笔记。写作该文时比较急促,直接把 Evernote 中的 notes 拿过来,没有调整格式,也没有写注解。
有了基础,并能基本使用 vim 编程,以后就是问题驱动型的学习了,aka,coding 中遇到什么不方便的地方,就 google 一下有没有对应的命令、快捷键、插件之类。不久后写了一篇vim使用中的几个问题。
时间已经过去很久。去年入手 Mac 后,编程几乎都是在 Vim 中,之前用 terminal 的,现在已经习惯使用 Macvim 了。同样基于问题驱动,又 get 了一些技能,在此呈上。
- 插件管理用
pathogen
,安装插件非常简单,也比vundle
灵活。 Normal
模式下,寻找上次光标所在位置为ctrl + o
,下次的为ctrl + i
,跳到某行修改并返回的时候非常方便。- 用
:!command
可以在 Vim 中写 shell 命令,自动转入 shell 执行。不过,我现在一般用iTerm
+Macvim
,不再需要用这个命令了。 - 查看缓存文件
:ls
,是不是很像 shell 中的那个。切换到其中一个用:buffer n
。 - File browser 自然使用大名鼎鼎的NERDTREE,在 nerdtree 中新建文件的方式是
m-a
并写出文件名称。刷新用r
。忘记快捷键了,要习惯使用?
打开和关闭帮助。Bookmarks
功能刚开始用,赞! - 分屏之后切换窗口,用
ctrl + w + h
是切换到左边的窗口,自然,其他方向的分别是j, k, l
。另外还有两个非常重要,吐血推荐,t, b
,分别是直接切换到最左或最右,如果你用过Taglist
并打开了多个窗口,你就知道这东西多重要了。 - 交换两个窗口的位置,或者说移动窗口,用
ctrl + w + r/x
,试试就知道了,很多时候需要这东西。 - 窗口大小调整,宽度和高度分别用
ctrl + w + </>
和ctrl + w + +/-
,或者使用更加灵活的:res +n
,:vertical res +n
。自动分割的窗口未必好用,所以很多时候是需要自己调整的。 - 把鸡肋的 Caps Lock 键换成了 Esc,太爽了。
- 粘贴到 vim 中时由于 indent 的原因,经常会导致格式乱掉。在
.vimrc
中添加set pastetoggle=<F9>
,插入模式下按下 F9即可进入粘贴模式,之后再次通过 F9返回即可。
另外,安装了以下插件:
- pathogen:方便的插件管理器。
- nerdtree: 目录树。
- taglist:方便预览代码的block.
- vim-javascript:改善 vim 对 js 的高亮和语法支持。
- vim-markdown
- python-syntax:直接拷贝的,并修改、添加了对 self 的支持。
- indentLine
- syntastic:语法检查。
- pep8:检查python代码是否符合 pep8规范。
- Vundle:插件管理。
- supertab
- jedi-vim
- vim-jade
- html.vim: indent improved
- emmet-vim: zen coding in vim, a tutorial is here
- vim-airline: awsome statusline
vimrc 和插件列表同步在 github 上,从这里进入。
最后上一张效果图: