Vim использует нестандартную конфигурацию при вызове из `git commit`?

Я заметил, что git, похоже, использует разные настройки vim каждый раз, когда я пишу сообщение о фиксации. Я установил git+svn с Macports, и я проверил переменную $MYVIMRC: она установлена на правильный файл. Тем не менее, каждый раз, когда я собираюсь зафиксировать сообщение, у меня появляется ограничение на 80 символов в строке, поиск с учетом регистра и ни один из установленных мной плагинов.

Возможно, это что-то глупое. Был бы признателен за подсказку, что это такое.

EDIT: На самом деле я только что проверил: мои плагины работают. Только ширина колонки в 80 символов чудесным образом оживает, когда я набираю сообщения о фиксации.

7
задан Andres Riofrio 27 April 2012 в 21:45
поделиться

3 ответа

Это не ошибка, это особенность!

Vim знает о множестве типов файлов, включая коммиты git (и интерактивные перестановки, и config ...). Для каждого из них есть определения синтаксиса и ftplugins (подключаемые модули, активируемые типом файла). Одна из настроек ftplugin фиксации - textwidth = 72 . Это сделано для того, чтобы вывод git log хорошо смотрелся в терминале стандартной ширины. Если вы действительно хотите его изменить, вы можете отредактировать плагин, но я бы очень рекомендовал оставить его.

Плагин должен находиться в /vimXX/ftplugin/gitcommit.vim. XX - это номер версии, например 72 для версии 7.2, а ведущим компонентом обычно является что-то вроде / usr / share / vim .

P.S. Плагин также определяет команду DiffGitCached, которая откроет различие для фиксации в окне предварительного просмотра. Удобно!

15
ответ дан 6 December 2019 в 08:40
поделиться

:verbose set textwidth? formatoptions? сообщит вам значения этих опций и какой скрипт устанавливал их последним. Текст будет жестко обернут при наборе, только если 'textwidth' ненулевое значение и 'formatoptions' содержит параметр t. Скорее всего, плагин gitcommit filetype (ftplugin/gitcommit.vim) изменяет одну или обе эти опции, потому что у вас включены плагины filetype (:filetype показывает plugin:ON).

4
ответ дан 6 December 2019 в 08:40
поделиться

Частичный ответ, может быть полезным ...

Согласно ps aux , git запускает vim с помощью этой команды:

vim .git/COMMIT_EDITMSG

Это запускает синтаксический режим gitcommit , который на моя система Ubuntu находится в

/usr/share/vim/vimcurrent/syntax/gitcommit.vim

и загружается из

/usr/share/vim/vimcurrent/filetype.vim
1
ответ дан 6 December 2019 в 08:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: