Вы получаете эти настройки для сообщения фиксации git, потому что Vim распознает тип файла (gitcommit
) и загружает для него настройки c, заданные для filetype.
В данном случае оно приходит из файл $VIMRUNTIME/ftplugin/gitcommit.vim
, который включает следующую строку:
setlocal nomodeline tabstop=8 formatoptions+=tl textwidth=72
Вы можете переопределить это, добавив другой плагин filetype для gitcommit
в свой домашний каталог, который будет загружаться после один из среды выполнения Vim.
Это можно сделать с помощью файла с именем ~/.vim/after/ftplugin/gitcommit.vim
(при условии, что вы используете Vim, если вы используете NeoVim, начальная часть пути будет другой.) after
Этот каталог используется для файлов плагинов, которые загружаются в конце, поэтому, поместив свой файл туда, вы будете уверены, что ваш код будет работать после указанного выше.
В этом файле вы Можно добавить команду для отмены нежелательных эффектов переноса строк, например:
setlocal textwidth&
Или:
setlocal formatoptions-=tc
Любая из этих двух настроек предотвратит автоматическое разбиение строк в столбце 72. Преимущество Изменение 'formatoptions'
вместо сброса 'textwidth'
заключается в том, что, изменяя 'formatoptions'
, вы все равно можете использовать такие команды, как gq
, чтобы вручную отформатировать блок текста в соответствует пределу ширины строки в 72 символа, если вы сделаете это sh. Таким образом вы получаете лучшее из обоих миров.
Какой бы из двух вариантов вы ни выбрали, убедитесь, что вы используете :setlocal
вместо :set
, так как этот плагин загружен только для этого буфера, вы должны попытаться изменить только параметры в этом буфере и не трогать глобальные параметры.