2

Давным-давно, прежде чем я переключился на vims, я использовал редактор для OS X, известный как TextMate. (Кто-нибудь помнит это? ;)

Его двоичный файл командной строки, mate , допускал флаг mate -w , который блокировал бы выход двоичного файла командной строки до тех пор, пока файл не был сохранен, и закрылся. Это позволило использовать mate -w в качестве редактора для git commit-messages и аналогичных.

Попытка сделать то же самое с MacVim (или gVim) не удалась; как помощник mvim закрывается, как только MacVim запускается (или как только файл открывается). Это приводит к тому, что «ваше сообщение было пустым» или аналогичной другой ошибке, от какой бы программы ни вызывал $EDITOR: насколько программа знает, программа-редактор (вспомогательный двоичный файл mvim , но файл, который она предоставила редактировать пока пусто.

Есть ли какая-либо команда, настройка конфигурации или хак, которые я мог бы использовать, чтобы гарантировать, что помощник mvim командной строки (или любой другой альтернативный псевдоним или скрипт, который вы мне придумали) не завершится, пока открытые файлы не будут сохранены и закрыты в МакВим?

3 ответа3

7

Возможно, вам нужна опция командной строки -f (что означает «оставаться на переднем плане»; см . :help -f). Обычно вы можете включить его непосредственно в значение EDITOR (или значения VISUAL, GIT_EDITOR или Git core.editor и т.д.):

EDITOR='mvim -f'; export EDITOR

Эта опция не специфична для mvim ; он также должен работать с gvim (то есть с любым графическим интерфейсом vim).

1

Знаете ли вы, что вы можете запустить MacVim в эмуляторе терминала?

$ mvim -v filename
0

Вы можете заставить mvim заблокировать терминал, добавив: -f или --nofork

-f или --nofork Foreground: не форкать при запуске GUI

Так что просто добавьте это в свой профиль:

export EDITOR="mvim -f"

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