Заставь vim прекратить разделять мои сообщения коммита Git

14

Vim имеет эту ужасную досадную привычку разбивать мои коммит-сообщения и автоматически разбивать их, по какой-то причине отображая вторую строку с красным фоном.

введите описание изображения здесь

Как я могу заставить Vim перестать делать это?

Нафтули Кей
источник
1
Какие переменные vim twи wmустановлены в? Если они установлены в ненулевые значения, вы получите автоматические разрывы строк (по умолчанию в столбце 80).
Ewhac
11
Это встроенная в Vim подсветка синтаксиса типов файлов для сообщений git commit, пытающихся применить определенный формат для сообщений git. Ваше выделение выглядит некрасиво, потому что ваше сообщение git commit является "некрасивым", в том смысле, что оно соответствует формату, который Vim ожидает от вас. Как gitcommit.vimмодуль подсветки синтаксиса, так и руководство были написаны Тимом Папой. Вы можете прочитать их здесь: tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html . Для быстрого подведения итогов сделайте в первой строке резюме из 50 символов, оставьте пустую строку, а затем напишите свои абзацы ниже.
jw013
11
(продолжение) ... Итак, технически это не ответ, но вы должны сделать подсветку не безобразной, написав правильно отформатированное сообщение git commit. Постарайтесь, чтобы первая строка была ниже 50 символов. Строка 2 должна быть пустой, поэтому она выделяется жирным красным цветом для «Предупреждение: этот текст не должен быть здесь!» Введите расширенное сообщение, начинающееся со строки 3. Vim автоматически разбивает ваши строки на 72 символа. Пусть это так. Если вам нужен Vim, чтобы повторить разрывы строк, потому что вы сделали какое-то редактирование, выделите абзац и сделайте, gqчтобы исправить разрывы строк.
jw013
1
«Если вам нужен Vim, чтобы повторить разрывы строк, потому что вы сделали какое-то редактирование, выделите абзац и выполните gq, чтобы исправить разрывы строк». Или перейдите к пункту и типа gqipк gqв paragraph вы будете iн.
Эндрю Мартин

Ответы:

5

Плагин filetype обеспечивает предпочтительный стиль сообщения Git commit: короткий заголовок и разрывы строк. Если вы не согласны с этим стилем, отмените настройки, добавив следующее ~/.vim/after/ftplugin/gitcommit.vim:

setlocal wrap formatoptions<
Инго Каркат
источник
1
Для тех , кому интересно , как formatoptions<может быть действительным аргументом setlocal, то документы для :setlocalобъяснить , что это будет «Установить локальное значение {опции} к глобальной стоимости путем копирования значения». Таким образом , эта команда удалит tи lфлаги (задокументированы в fo-table) , что плагин добавляет к 'formatoptions'.
Рори О'Кейн
4

Я нашел нужную настройку ~/.vim/after/ftplugin/gitcommit.vim:

setlocal textwidth=0

Джефф Гилберт
источник
Спасибо. Другое решение не работает для меня на OpenSUSE, но это сработало.
Артем Руссаковский