最近要写Scala代码,本来想用它的Eclipse插件,但Scala这种语言较新,Eclipse插件的补全功能太弱(或是我没配置好?),所以转向Vim。
NERDTree : http://www.vim.org/scripts/script.php?script_id=1658
按树形浏览项目文件,然后你可以选择指定的文件打开编辑,类似于Eclipse的资源浏览器。
当然Vim自带的netrw也有文件浏览的功能,但同时只能看一个目录
用命令NERDTree触发
AutoComplPop : http://www.vim.org/scripts/script.php?script_id=1879
相当NB的插件。我一直很喜欢SciTE的自动补全,因为它可以候选词只有一个的时候自动弹出来。这个插件让Vim也可以自动弹出补全窗口,相当于你随时都按着Ctrl-N。而且也是通过当前所有打开的缓冲区里的单词token来补全的,既不需要太高的CPU占用,又很实用。
snipMate : http://www.vim.org/scripts/script.php?script_id=2540
为Vim加上像TextMate一样的code snippets。用tab键触发。
其实说到代码片段,很多人的思路都是:使用编辑器内置的功能,比如Eclipse的code snippets,或Vim的这个插件,或map定义。如果我们换个思路:为什么不用外部的软件?
我推荐使用AutoHotKey(http://www.autohotkey.com/ ),工作在输入法级别的键盘宏工具。可惜的是只能用在Windows上。
我们希望的功能无非是键入p,再按下tab,然后变成<p></p>,而且光标还在中间,诸如此类的功能。AutoHotKey的Hot String能很好的做到这一点,它可以把一个按键序列绑定到一个用于触发的字符串上。而且你只需在AutoHotKey中定义一次,就可以在Vim、Eclipse、记事本……所有的文本编辑器中使用——因为它工作在输入法模式。
但我之所以还要用snipMate,是因为AutoHotKey对带有变量的code snippets支持得不够好——它毕竟不是专门针对编程设计的。
还有些人推荐的Vim插件是BufExplorer或MiniBufExplorer,用来浏览当前缓冲区,我因为在Windows下用gVim,用菜单就可以浏览当前缓冲区,所以用不着。
顺便晒下我的vim会话文件:
每次加载会话文件就可以自动执行这些命令,相当于Eclipse的project文件。有了这些,用Vim编写和管理一个project都方便不少。
相关日志:
我的 AutoHotKey 脚本:http://blog.youkuaiyun.com/shell_picker/archive/2010/09/02/5860073.aspx
本文介绍了如何使用Vim作为Scala开发的高效替代工具,包括安装和配置NERDTree用于文件浏览,使用AutoComplPop实现自动补全,以及snipMate增强代码片段功能。此外,还分享了如何利用AutoHotKey实现键盘宏来简化代码输入,提供了Vim会话文件示例,以及展示了一个AutoHotKey脚本实例。
1044

被折叠的 条评论
为什么被折叠?



