首先,我完全支持@matkelly的回答:你不需要任何插件就可以在VIM中使用SVN。
作为一个狂热的vim用户,我想给出一些关于如何将vim作为IDE与subversion集成的指针。我刚刚拍摄了几张我的vim屏幕截图,这样你就可以看到实际效果。
我是从eclipse背景转过来的。虽然现在我主要在Fedora工作站上用VIM编码。但我仍然会在某些任务中使用eclipse,比如Mylyn / Tasktop集成(通过Planning Perspective),它与subversion和bugzilla集成,帮助我编写特定于任务的提交消息。
在VIM中,为了轻松地与SVN(以及一般的shell任务)交互,你需要知道一些快捷键:
我使用以下命令获取我目前正在工作的文件的日志:
:!svn log -l3 %
'
'%'是一个特殊的快捷方式,它会被当前文件路径替换。上述命令列出了此当前文件的最后3条日志消息。
你猜这个命令是做什么用的?
'
:!svn diff %
'%:h'可以让你得到当前文件所在的目录:
:!svn status %:h
顺便提一下,对于想要从GUI-IDE转换到vim,并且在浩瀚的项目文件中难以导航的新手,请注意以下几点:
我推荐使用NERDTree插件,它可以打开类似IDE的目录树并将您当前的文件定位在树中。它仅在我需要删除、复制、移动文件或设置当前工作目录时才有用。但是,如果我只想从成百上千个项目文件中找到特定的文件,我只需输入:
:find Inventory.pm
酷的事情是,我可以部分键入文件名并按[ TAB ],这样就会为我展开文件名!如果有多个匹配项,它会简单地迭代列表,直到我找到自己想要的。
这是我的编码会话的第一个命令,我CD到我的项目根文件夹(因为 vim 的 "path" 设置为 '。' ), 启动 VIM 并输入 :find 文件名。我使用过的没有 GUI IDE 能以如此快的速度完成这个任务。然后,如果我想浏览我的项目文件夹,我只需按 F10 ,这映射到 NERDTreeFind,并使用 jklm VIM 命令导航目录结构。
当我在 VIM 中打开多个缓冲区(文件)时,我使用“Buffer Explorer”轻松导航打开的缓冲区。
当我在 VIM 中输入方法或某个关键字时,我键入“CTRL-N”,这将打开标记列表(我已经通过 cron 设置了 exuberant ctags)。
“Tag List”插件也是必须的,它会打开当前缓冲区中的函数/方法列表,定位您当前所在的方法,并将焦点放在它上面。