Как открыть внешний редактор Vim, содержащий активный файл редактора Eclipse

Я не ищу "плагин Vim" для Eclipse. Вместо этого я просто хочу, чтобы клавиатура-ярлык открывал текущий файл Eclipse в новом экземпляре Vim.

Есть ли быстрый и простой способ сделать это?

Ответ 1

Есть два способа сделать это, канонический путь и взлом. Во-первых:

Канонический путь

  • Окно > Настройки... Сбросить Общие > Редакторы > Ассоциации файлов.
  • Выберите тип файла, который вы хотите изменить
  • Нажмите кнопку "Добавить" рядом с полем "Связанные редакторы".
  • Нажмите "Внешние программы" и "Обзор...", затем найдите gvim или введите /usr/bin/gvim или вообще перейдите в gvim.

Теперь файлы этого типа должны отображаться во внешнем экземпляре vim. Удивительно, правда? Но это не решает вашу проблему нажатия текущего буфера на vim.


The Hack

Вместо этого мы собираемся установить vim как "инструмент сборки", и eclipse отправит ему текущий файл в качестве аргументов. Это может иметь некоторые незатронутые побочные эффекты, основанные на настройках вашего проекта, но внимательно изучите их, если вы испытываете такие вещи, как неожиданное восстановление ваших файлов.

  • Запустить > Внешние инструменты > Конфигурация внешних инструментов...
  • Выберите "Программа" слева и щелкните значок "Создать".
  • Введите "Отправить в vim" для имени
  • Введите "/usr/bin/gvim" (или любой другой путь) для местоположения
  • В разделе "Рабочий каталог" введите ${project_loc} (это переменная, представляющая ваш верхний каталог проекта)
  • В аргументе введите ${resource_loc} (это представляет ваш текущий путь к ресурсу)
  • На вкладке "Создать" снимите флажок "Сборка перед запуском" (если вы этого не хотите)
  • На вкладке "Общие" установите флажок "Внешние инструменты" в разделе "Экран в меню" Избранное "

Вы должны быть настроены! Теперь вы можете отправить свой файл в vim с помощью меню

Run > External Tools > Send to vim

Если вы хотите получить фантазию, вы даже можете добавить кнопку на свою панель инструментов.

Обратите внимание: я использовал gvim в примерах. Если вы хотите использовать терминал vim, вам придется называть его соответствующим образом на основе терминала, который вы используете. Для xterm это будет /usr/bin/xterm -e /usr/bin/vim вместо /usr/bin/gvim

Ответ 2

Вы также можете создать небольшую оболочку script, которая просто открывает все параметры, переданные ей в именованном экземпляре vim. Например, оболочка script, которую я использую, проста:

#!/bin/bash

gvim --servername eclipse --remote-tab-silent "[email protected]"

Затем выполните исполняемый файл script и следуйте каноническому методу, описанному sleepynate, используя ваш script в качестве внешнего редактора.

Ответ 3

Я знаю, что есть очень высокий ответ, но я должен сказать, что то, что я нашел наиболее убедительным в OSX, было использовать QuickCursor чтобы я мог открыть любой текст в macVim.