Обнаружение причины выхода из Vim - PullRequest
4 голосов
/ 11 мая 2011

На ходу:

vim /tmp/blah
:q
echo $?

Я получаю статус выхода 1. Это ломает разные вещи, включая Git. Если я запускаю vim без моего vimrc:

vim -u NONE /tmp/blah
:q
echo $?

Я получаю статус выхода 0. Я использую Pathogen, так что это также эффективно отключает плагины. У кого-нибудь есть предложения по эффективному определению причины статуса выхода? Я знаю о том, как запустить Vim многословно и войти в файл. Должен ли я искать что-то конкретное в этом файле?

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

1 Ответ

2 голосов
/ 11 мая 2011

Наконец нашел эту команду в справке: :cq[uit]. Поэтому после подробного ведения журнала выполните поиск \<cq\%[uit]\>.

.

Обновление: Существуют также методы для изменения состояния выхода с использованием vim, скомпилированного с поддержкой некоторых интерпретаторов: по крайней мере, следующие работы:

python import sys
python sys.exit(1)
" (same for python3)

perl exit 1

Я не знаю других языков достаточно, чтобы писать здесь примеры кода, который мог бы выйти из vim с другим статусом выхода. Также обратите внимание, что такие команды внутри файлов, поставляемых с использованием :pyfile, :rubyfile и других :*file, также должны работать, как и этот код в модулях, не распространяемых с плагином.

Я думаю, что наиболее эффективным способом на данном этапе является отключение плагинов, пока вы не найдете источник проблемы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...