代码之家  ›  专栏  ›  技术社区  ›  Josh Lindsey

考虑从textmate迁移到vim进行Rails开发。我需要什么?

  •  24
  • Josh Lindsey  · 技术社区  · 14 年前

    我几乎只做RubyonRails开发。我目前使用textmate在OSX中开发。我有一台虚拟机正在运行,以尽可能接近地模拟我的应用程序将部署到的环境,并且我将代码装载在Samba共享上,从VM客户机装载到OS X中。从那里,我打开了textmate,代码消失了。

    我开始认为,有了合适的插件和花在学习上的时间,我可以直接在虚拟机上提高VIM的效率。现在我的textmate基本上是库存的,尽管我发现projectplus插件是必不可少的。我要找的是一些VIM资源和插件的建议(如果这是正确的术语),以密切模拟我不愿意在textmate中放弃的特性。或者至少,我愿意放弃他们的有力理由。下面是一个简短的列表:

    • 能够始终可见(最好是)可折叠项目树,或者可以轻松切换。
    • 能够一目了然地看到供应链状态,无论是在这个项目树中(最好)还是在其他方面。(如果有任何不同,我几乎只使用git。)
      • 能够从VIM中查看并排差异也很好
    • 能够随意搜索整个项目(我想 :stop; grep -nr; fg; 如果没有更好的方法,就可以做到。)
    • 代码完成(如果可能)
    10 回复  |  直到 10 年前
        1
  •  27
  •   Hulk1991 moinudin    11 年前

    这个 NERD Tree 插件为您提供了一个可折叠的项目树。就个人而言,我发现 netrw 插件已经足够了,这通常与VIM一起安装。尽管书呆子树感觉像是在模仿其他IDE(和textmate的项目抽屉)的行为,但我觉得netrw插件是以vim的方式完成的。我建议你两个都试试,看看你喜欢哪一个。

    这个 fugitive 插件为vim提供了一个git接口(参见vimcasts:parts 1 , 2 , 3 ,请 4 5 )。

    这个 ack 插件非常适合搜索整个项目。你要读维姆的书 quickfix 列出最有效的方法。

    textmate的单词完成被触发 ESC 转移 - ESC . 在维姆,你会得到相似的 autocomplete 功能使用 CTRL - n 控制 - 在插入模式下。检查 :help ins-completion 为了(多)!更多信息。

    我正在运行一系列关于在 vimcasts.org . 我的背景是和textmate,但我已经使用vim一段时间了。在我写这篇文章的时候,我只写了6集,但我确实计划在以后的每一集中都要涵盖你提到的每一点。我会试着回来编辑这个答案,并在它们可用时链接到屏幕广播。

        2
  •  6
  •   allenwei    14 年前
        3
  •  4
  •   Ganesh Shankar    14 年前

    我现在和你的处境相似(从textmate搬到vim)

    一个很好的资源是:

    http://robots.thoughtbot.com/post/166073596/intro-rails-vim

    祝你好运!

        4
  •  4
  •   recursive_acronym    13 年前

    因为文件导航只是爱情命令
    这个函数与textmate中心爱的commandt函数非常相似。

        5
  •  2
  •   Kris    13 年前

    你可能想从我的Ruby/Rails开始 vimfiles 其中包括对rvm和git的支持。

        6
  •  1
  •   VP.    14 年前

    这个剧本也不错 http://blip.tv/file/1372096

    我确实使用VIM,我特别喜欢如何从模型/视图和控制器相关的旋转。

        7
  •  1
  •   user281308    14 年前

    查看博客帖子: From Textmate to VIM for Rails coders .

    那里的评论对你也很有价值。

        8
  •  1
  •   romainl    13 年前

    所有其他答案加上:

    能够始终可见(最好是)可折叠项目树,或者可以轻松切换。

    • 这个 project.vim 插件并不像textmate的项目抽屉那样工作,但它已经关闭了。
    • 使用NerdTree,您可以设置书签,使其工作起来有点像项目抽屉。
    • :help mkview :help mksession 也能帮上忙。

    能够一目了然地看到供应链状态,无论是在这个项目树中(最好)还是在其他方面。(如果有任何不同,我几乎只使用git。)

    • vcscommand.vim 为多个SCM提供相同的命令集,它与Git、SVN、Mercurial_
    • 您可以使用上述逃犯插件在状态行中显示Git状态, :help fugitive-statusline .

    能够从VIM中查看并排差异也很好

    • 逃犯提供 :Gdiff 就是这样的命令。
    • 最近发布的插件名为 Gitv 尝试在vim中模仿gitk。我非常喜欢它,而且作者的反应非常迅速。在树视图中,点击 <CR> 在另一个窗口中打开上一个提交,然后 D 看到双重差异。

    代码完成(如果可能)

    • 如果你不需要它自动的话,有几个解决方案 <C-x><C-o> ,请 <C-n> <C-p> 就足够了,如果你想“自动完成”,你可以试试。 these few plugins . 我最喜欢的是 autocomplpop .
        9
  •  1
  •   Hulk1991 moinudin    11 年前

    搜索整个项目 here.

    代码完成:通常使用 CTRL - X 然后 CTRL - o 在插入模式下。

    git集成:git.vim

    项目树:nerdtree.vim

    祝你好运

        10
  •  0
  •   Asta    10 年前

    我今天发表了一篇关于这个主题的扩展文章,我在其中解释 如何在VIM中复制来自textmate的100个特性 . 这是大量小时研究的结果。

    例如,我解释:

    • 如何复制项目抽屉
    • 如何管理选项卡
    • 如何执行特定于Rails的命令(让我们面对现实:很多textmate用户都是Rails程序员)
    • 如何查找和替换
    • 如何进行项目范围的搜索

    阅读原文: Textmate To VIM