如何打开包含活动Eclipse编辑器文件的外部Vim编辑器

时间:2010-11-03 04:00:50

标签: eclipse vim

我不是在寻找Eclipse的“Vim插件”。相反,我只想要一个键盘快捷方式来在新的Vim实例中打开当前的Eclipse文件。

有没有快速简便的方法呢?

3 个答案:

答案 0 :(得分:47)

有两种方法可以做到这一点,规范方式和黑客攻击。第一:

Canonical Way

  1. 窗口>偏好...折叠一般>编辑>文件关联。
  2. 选择要修改的文件类型
  3. 点击“关联的编辑器”框旁边的“添加”按钮。
  4. 点击“外部程序”和“浏览...”,然后找到gvim,或输入/ usr / bin / gvim,或者通常转到gvim。
  5. 现在,该类型的文件应该显示在外部vim实例中。太棒了吧?但这并不能解决将当前缓冲区推送到vim的问题。


    The Hack

    相反,我们要将vim设置为“构建工具”,并让eclipse将当前文件作为参数发送给它。根据您的项目设置,这可能会产生一些未受影响的副作用,但如果您遇到意外重建文件等问题,请仔细查看。

    1. 运行>外部工具>外部工具配置......
    2. 选择左侧的“程序”,然后单击“新建”图标。
    3. 输入名称
    4. 的“发送至vim”
    5. 为位置输入“/ usr / bin / gvim”(或您的路径)
    6. 在“工作目录”下输入${project_loc}(这是代表项目首要目录的变量)
    7. 在参数下输入${resource_loc}(这代表您当前资源的路径)
    8. 在“构建”标签上,取消选中“在发布前构建”(除非您真的需要)
    9. 在“常用”选项卡上,选中“在收藏夹菜单中显示”
    10. 下的“外部工具”

      你应该全力以赴!现在,您可以使用菜单

      将文件发送到vim
      Run > External Tools > Send to vim
      

      如果你想获得幻想,你甚至可以在工具栏中添加一个按钮。

      请注意,我在示例中使用了gvim。如果你想使用终端vim,你必须根据你正在使用的终端适当地调用它。对于xterm,这将是/usr/bin/xterm -e /usr/bin/vim,而不是/usr/bin/gvim

答案 1 :(得分:2)

您还可以创建一个小的shell脚本,只需打开在命名的vim实例中传递给它的任何选项。例如,我使用的shell脚本只是:

#!/bin/bash

gvim --servername eclipse --remote-tab-silent "$@"

然后使用脚本作为外部编辑器,使脚本可执行并遵循sleepynate描述的规范方法。

答案 2 :(得分:1)

我知道有一个高度赞成的答案,但我应该说我在OSX上发现最令人信服的是使用QuickCursor让我在macVim中打开任何文本。