1

Есть ли способ установить терминал vim как внешний редактор пентадактиля? Спасибо

Я пробовал это, но, похоже, не работает:

set editor='vim -f +<line> +"sil! call cursor(0, <column>)" <file>'

P/S: Моя ОС - Mac

1 ответ1

3

Поскольку vim является терминальным приложением, оно полагается на запуск внутри терминала, чтобы оно могло показать свой пользовательский интерфейс. Затем терминал отвечает за рендеринг всего этого в контексте используемого вами рабочего стола. Итак, все, что вам нужно добавить к этой команде - это вызов терминала.

Вот что работает для меня. Я использую Debian 6 с Gnome, FF20 и ночной сборкой Pentadactyl (hg6923 сегодня):

set editor='gnome-terminal -e "vim +<line> +\"sil! call cursor(0, <column>)\" <file>"'

Вы также можете (ек!) заставить его работать на Windows, вот так:

set editor='cmd /c vim +<line> +"sil! call cursor(0, <column>)" <file>'

Мы должны добавить дополнительный слой кавычек, чтобы передать всю строку выполнения vim на терминалы, отличные от Windows, но в остальном это почти та же команда. Vim автоматически перемещается к нужному файлу, строке и столбцу при открытии файла. Затем он ожидает выхода из vim и, если вы редактируете поле ввода, обновляет это поле новым текстом.

В качестве предупреждения, однако, документ говорит, что могут быть проблемы с некоторыми терминалами:

:help faq-editor-fork

Почему редактирование внешнего поля ввода не работает с настройками моего «редактора»?

К сожалению, внешние редакторы, которые возвращаются немедленно, до завершения редактирования, не поддерживаются. Это означает, что, например, gvim должен запускаться с флагом -f , а редакторы, запускаемые с терминала, не должны подключаться к удаленному процессу. В случае Rxvt-unicode это означает, что программа urxvtc не является опцией, и терминал Gnome, скорее всего, не будет использоваться ни при каких обстоятельствах.

Смущает, как мы только что видели, gnome-терминал прекрасно работает для меня. Будьте редактором.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .