pentadactyl - установить внешний редактор как vim termnial
Есть ли способ, которым мы можем установить терминал vim как внешний редактор пентадактиля? Спасибо
Я пробовал это, но, похоже, не работает:
set editor='vim -f +<line> +"sil! call cursor(0, <column>)" <file>'
P / S: моя ОС Mac
1 ответ
Поскольку vim
является терминальным приложением, оно полагается на запуск внутри терминала, чтобы показать свой пользовательский интерфейс. Затем терминал отвечает за рендеринг всего этого в контексте рабочего стола, который вы используете. Итак, все, что вам нужно добавить к этой команде - это вызов терминала.
Вот что работает для меня. Я использую Debian 6 с Gnome, FF20 и ночной сборкой Pentadactyl (hg6923 сегодня):
set editor='gnome-terminal -e "vim +<line> +\"sil! call cursor(0, <column>)\" <file>"'
Вы также можете (eek!) Заставить его работать в 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 Terminal, скорее всего, не будет использоваться ни при каких обстоятельствах.
Смущает, как мы только что видели, gnome-терминал прекрасно работает для меня. Будьте редактором.