虽然敲代码已经很多年,由于主要的开发语言一直是Java,IDE仅仅用过比较主流的Eclipse和Android Studio。
vim对程序员来说肯定是家喻户晓,但接触机会非常少,加之习惯了Eclipse和代码补全功能,一直以来对vim算是敬而远之。
然而现在工作的地方不知为何刮起了vim风,有幸收获了一些关于使用vim的经验。对IDE和自己的开发环境进行了一些整顿。当然下面提到的一些插件和工具都是很久以前已经存在的了,不算是什么新颖的东西。不过通过这些工具能使自己的开发环境和vim纠缠在一起,逼迫自己使用vim,而那些繁琐的vim命令,通过不断操作练习的积累最终被记忆,从而能熟练地操控vim。
简单说一下为什么要使用vim
1.避免使用方向健。
方向健与字母键距离太远,使用不便。而且每次只能一个字符,完全是浪费时间。
2.避免使用鼠标。
鼠标和键盘距离太远,使用不便。
右/左手频繁运动于键盘鼠标之间很容易使其疲劳过度导致腱鞘炎。
3.尽量避免使用辅助键。
辅助键与字母键距离太远,使用不便。
shift/ctrl之类的比较容易按,可以配合使用。
接着谈一下vim与开发环境的整合。由于因本人的工作问题,以下内容主要基于Java的开发环境。
1.Chrome的vimium插件。
这个可能是最容易上手的插件。如果担心因不熟悉vim而导致开发效率骤降,那么先从网页浏览器练手是个不错的选择。
特殊快捷键: f 显示页面上的所有链接并与将各个连接与键盘的某些键绑定,按下绑定键后即能打开连接。
2.Eclipse的vrapper插件。
既能让文件编辑变得有vim风,同时eclipse原有的一些辅助功能(代码补全)也得到保留。vim与eclipse的快捷键如果不冲突的话是能共存的(多余的话)。至少本人目前用下来的感觉还没有令人难受的地方。
3.terminal开启vim模式
本人习惯了使用zsh,主要原因就是因为它花里花哨,次要原因是更好的命令补全功能。
开启vim模式命令
bindkey -v
bash的话应该是set -o vi
terminal有一点不方便的就是无法识别就是是处在normal还是insert模式。解决问题的方案谷歌一下会有一大堆。随便复制粘贴一下就能搞定。本人的话是装了oh-my-zsh这个插件,然后在terminal的命令行右侧显示normal/insert。题外话oh-my-zsh真的是略慢,每次敲个命令要定1,2秒,正考虑使用其他插件。
最后说一下insert模式和normal模式,默认是用esc或ctrl [切换的。使用起来是还是不太舒服的,看了网上的一些资料,讲切换键改成连按j(jj)是很多人的做法。英语里面没有包含jj的单词,所以一般情况下是不会有问题的,当然中文的话...我觉得也是没有的。
附:
其他的vim整合插件
Intellij IDEA -- IdeaVIM
ATOM -- vim-mode
Firefox -- Vimperator
Safari -- vimari