我完全专注于Ruby on Rails开发。我目前使用TextMate在OS X中开发。我有一个虚拟机正在运行,以尽可能地模拟我的应用程序将部署到的环境,并且我将来自VM guest虚拟机的Samba共享上的代码安装到OS X中。从那里我用TextMate打开并编码。
我开始认为通过适当的插件和学习时间,我可以直接在VM上使用vim。现在我的TextMate基本上是库存,但我发现ProjectPlus插件是不可或缺的。我正在寻找的是一些关于vim资源和插件的建议(如果这是正确的术语)来模拟我不愿意在TextMate中放弃的功能。或者至少,令人信服的理由为什么我应该愿意放弃它们。这是一个简短的清单:
:stop; grep -nr; fg;
会完成此任务,除非有更好的方法。)答案 0 :(得分:27)
NERD Tree插件为您提供了一个可折叠的项目树。就个人而言,我发现netrw插件绰绰有余,而且这通常是与Vim一起安装的。虽然NERD树感觉好像它试图模仿其他IDE(和TextMate的项目抽屉)的行为,但我觉得netrw插件以Vim的方式做事。我建议你尝试两种方式,看看你喜欢哪种方式。
fugitive插件为Vim提供了一个git接口(请参阅Vimcast:部分1,2,3,4和5 )。
ack插件非常适合搜索整个项目。您需要阅读Vim的quickfix列表以充分利用它。
TextMate的单词完成由 esc 和 shift - esc 触发。在Vim中,您在插入中使用 ctrl - n 和 ctrl - p 获得类似的autocomplete功能模式。检查:help ins-completion
(更多!)更多信息。
我正在vimcasts.org运行一系列关于学习Vim的截屏视频。我的背景是使用TextMate,但我现在已经使用Vim一段时间了。在我写这篇文章时,我只有6集,但我确实计划涵盖你在未来剧集中提出的每一点。我会尝试回来编辑这个答案,并附带截屏视频的链接。
答案 1 :(得分:6)
答案 2 :(得分:4)
我目前处于类似的位置(从TextMate转移到Vim)
这是一个非常好的资源:
祝你好运!答案 3 :(得分:4)
对于文件导航,只需要爱CommandT
这与textmate中心爱的commandT函数非常相似。
答案 4 :(得分:2)
您可能希望从我的Ruby / Rails相关vimfiles开始,其中包括对rvm和git的支持。
答案 5 :(得分:1)
此截屏视频也非常棒http://blip.tv/file/1372096
我确实使用VIM,我特别喜欢如何从模型/视图和控制器相关旋转..
答案 6 :(得分:1)
搜索整个项目here.
代码完成:在插入模式下,通常使用 ctrl - X 然后 ctrl - O 完成。< / p>
Git Integration:git.vim
项目树:Nerdtree.vim
祝你好运答案 7 :(得分:1)
查看博文:From Textmate to VIM for Rails coders。
那里的评论对你也很有价值。
答案 8 :(得分:1)
所有其他答案加上:
能够在任何时候都可以看到(最好)可折叠的项目树,或者可以轻松切换。
:help mkview
和:help mksession
也可以提供帮助。能够在此项目树(优选)或其他内容中一目了然地查看SCM状态。 (如果这有任何不同,我几乎只使用git。)
:help fugitive-statusline
中显示Git状态。能够从vim中查看并排差异也很棒
:Gdiff
命令。<CR>
以在另一个窗口中打开上一个提交,然后点D
以查看双差异。代码完成,如果可能
<C-x><C-o>
,<C-n>
和<C-p>
就足够了,如果你想要“自动完成”,你可以试试these few plugins。我最喜欢的是autocomplpop。答案 9 :(得分:0)
我今天发表了关于这个主题的扩展帖子,其中我解释了如何从VIM中的Textmate复制100个功能。这是大量研究的结果。
例如我解释:
阅读原创文章: Textmate To VIM