Spraw, aby vim przestał dzielić moje wiadomości Git commit

14

Vim ma ten okropnie irytujący nawyk dzielenia wiadomości zatwierdzających i automatycznego łamania linii, z jakiegoś powodu renderując drugą linię na czerwonym tle.

wprowadź opis zdjęcia tutaj

Jak sprawić, by Vim przestał to robić?

Naftuli Kay
źródło
1
Jakie są zmienne vim twi wmustawione na? Jeśli są ustawione na wartości niezerowe, wstawione zostaną automatyczne podziały linii (domyślnie w kolumnie 80).
ewhac
11
To jest wbudowane podświetlanie składni typów plików Vima dla komunikatów git commit próbujących wymusić określony format dla wiadomości git. Podświetlanie wygląda brzydko, ponieważ wiadomość git commit jest „brzydka”, w tym sensie, że pasuje do formatu, którego oczekuje od ciebie Vim. Zarówno gitcommit.vimmoduł podświetlania składni, jak i wytyczne zostały napisane przez Tima Pope'a. Możesz je przeczytać tutaj: tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html . Aby uzyskać szybkie podsumowanie, ustaw pierwszy wiersz na 50 znaków, zostaw pusty wiersz, a następnie napisz akapity poniżej.
jw013
11
(ciąg dalszy) ... Tak więc nie jest to technicznie odpowiedź, ale podświetlenie nie powinno być brzydkie przez napisanie poprawnie sformatowanego komunikatu git commit. Staraj się, aby linia pierwsza nie przekraczała 50 znaków. Wiersz 2 powinien być pusty, dlatego jest oznaczony kolorem BOLD RED dla „Uwaga: ten tekst nie powinien tu być!” Wpisz rozszerzoną wiadomość zaczynając od linii 3. Vim automatycznie przerwie twoje linie na 72 znaki. Niech to zrobi. Jeśli potrzebujesz Vima, aby powtórzyć podziały linii, ponieważ dokonałeś edycji, zaznacz akapit i zrób to, gqaby naprawić podziały linii.
jw013
1
„Jeśli potrzebujesz Vima, aby powtórzyć podział linii, ponieważ dokonałeś edycji, zaznacz akapit i wykonaj gq, aby naprawić podział linii”. Lub przejdź do ust i rodzaju gqipdo gqtej pstęp jesteś in.
Andrew Martin

Odpowiedzi:

5

Wtyczka typu pliku wymusza preferowany styl komunikatu Git commit: krótki tytuł i twarde łamanie linii. Jeśli nie zgadzasz się z tym stylem, cofnij ustawienia, wprowadzając następujące ustawienia ~/.vim/after/ftplugin/gitcommit.vim:

setlocal wrap formatoptions<
Ingo Karkat
źródło
1
Dla tych, którzy zastanawiają się, jak formatoptions<uzasadnić ten argument setlocal, dokumentacja :setlocalwyjaśnia, że ​​„ustawi wartość lokalną {opcja} na jej wartość globalną, kopiując wartość”. To polecenie usunie flagi ti l(udokumentowane fo-table), do których dodaje się wtyczka 'formatoptions'.
Rory O'Kane
4

Znalazłem potrzebne ustawienie ~/.vim/after/ftplugin/gitcommit.vim:

setlocal textwidth=0

Jeff Gilbert
źródło
Dziękuję Ci. Inne rozwiązanie nie działało dla mnie w OpenSUSE, ale to zadziałało.
Artem Russakovskii