Jak mogę zmusić Vima do wcięcia wszystkich linii w elemencie listy - nie tylko w drugim?

17

nOpcja Vima formatoptionsustawienie będzie wciąć drugą linię elementu listy, aby dopasować wcięcia pierwszego wiersza. Jednak trzeci i kolejne wiersze powracają do braku wcięcia, a zatem:

1. Doing a list. This is my list. I am writing
   a list. It's quite a long list. It's really
long. I can't believe how long it is. And
this just the first item!

2. Another list item.

Naprawdę chciałbym, żeby wcięło wszystkie wiersze, tak:

1. Doing a list. This is my list. I am writing
   a list. It's quite a long list. It's really
   long. I can't believe how long it is. And
   this just the first item!

2. Another list item.

Czy to możliwe, używając własnych opcji Vima, skryptu lub zewnętrznego programu formatującego, takiego jak par?

Bogaty
źródło

Odpowiedzi:

16

Myślę, że ustawienie „autoindent” powinno to naprawić. To mi odpowiada.

set ai
garyjohn
źródło
2
Działa również dla mnie i czuję się głupio, że sam tego nie rozgryzłem, zwłaszcza że jest to zawarte w dokumentacji ustawienia „n”! Dzięki.
Bogaty
@akira Yup. Jestem idiotą. Myślę, że moje zamieszanie polegało na tym, że ponieważ Vim wciął drugą linię, przypuszczałem, że już się autoindentwłączyłem i że zachowanie opisane w pytaniu było zachowaniem zaprojektowanym. Sądzę jednak, że instrukcja mogłaby być sformułowana jaśniej, aby przynieść korzyści idiotom takim jak ja. :)
Rich
Zobacz @ Akiry odpowiedź na rozwiązanie bardziej dogłębne.
Clint Pachl
5

w twoim przypadku zrobiłbym to:

 :set autoindent       " just for interactive indenting (see answer of @Rich) 
 :set fo+=2n           " :help fo-table
 :set tw=47            " your text shall wrap at xyz

( tw=47jest to ważne dla ..), a następnie ponownie sformatuj akapit, naciskającgqap

uwaga: nie mogłem ponownie przytoczyć paragrafu =, może ktoś inny to wymyślił.

akira
źródło
Dziękuję za przypomnienie mi o a pruchu formatowania linii. Zawsze używam odpowiedniej ortezy, która jest podobna. Nie zapomnij można dodać licznik, na przykład, formatować kolejne trzy akapity: g q 3 }.
Clint Pachl