Podczas gdy Vim obsługuje automatyczne wcięcia na listach, ustawienie domyślne obejmuje tylko listy uporządkowane, zaczynając od cyfr, takich jak:
1. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim
2. veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea
commodo consequat.
Nie byłem w stanie dowiedzieć się, jak rozszerzyć to na nieuporządkowane, wypunktowane listy, takie jak:
* Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim
* veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea
commodo consequat.
Zmiana formatlistpat
RegEx nie przyniosła pożądanych rezultatów (w rzeczywistości nawet złamała uporządkowane listy).
[]
to szybciej do użytku[[:digits:]*]
lub[\d*]
zamiast[0-9*]
let
zamiastset
, nplet &formatlistpat='^\s*\(\d\+[\]:.)}\t ]\|[*-][\t ]\)\s*'
. : (To dodaje obsługę*
i-
jako punktory, oprócz liczb.)comments
zmiennej, mimo że jest środkową częścią trzyczęściowego komentarza, pozwala vimowi pomylić gwiazdkę z komentarzem liniowym.Oprócz tego, co napisał jamessan (w szczególności jego
formatlistpat
sugestia dotycząca pracy z * listami), ważne jest, aby mieć wyłączoną opcję „c” (formatowanie komentarza) wformatoptions
:w przeciwnym razie Vim pomyli się między formatowaniem * list wypunktowanych a formatowaniem komentarzy. Skończysz z dodatkowym * w drugim i kolejnych wierszach.
źródło
q
(zezwalaj na formatowanie komentarzy za pomocągq
)formatoptions
może powodować problemy podczas formatowania za pomocągq
. +1Miałem pewne problemy z uzyskaniem list takich jak
a)
rozpoznane, więc opublikuję tutaj moje rozwiązanie:źródło
Piszę nową odpowiedź na to pytanie, ponieważ musiałem połączyć wiele odpowiedzi z tego pytania i drugiego pytania, aby to zadziałało. Oto moja końcowa konfiguracja.
źródło