Einzug für Listen mit Aufzählungszeichen im Klartext in Vim

3469
Oliver

Ich schreibe oft Text mit einem solchen Format in Vim -

- talking point 1  - talking point 2 .... continue on point 2 

Im Idealfall würde ich hoffen, dass Vim es für mich automatisch ausrichten könnte:

- talking point 1  - talking point 2  continue on point 2 

Ist das möglich?

3

4 Antworten auf die Frage

5
vbd

Ich habe das in meiner .vimrc:

set comments=s1:/*,mb:*,ex:*/,://,b:#,:%,:XCOMM,n:>,fb:-,fb:[+],fb:[x],fb:[-]

Wenn ich mich recht erinnere, fügen Sie diese Zeile in Ihre .vimrc ein und der Job wird erledigt:

set comments +=fb:-

Für eine detaillierte Erklärung versuchen Sie:

:help comments
Die zweite Zeile hat es für mich getan. Hugo vor 11 Jahren 0
2
Kazark

Wenn Sie das nFlag gesetzt haben formatoptions(z. B. mit set fo+=n), kann Vim bereits Listen mit numerischen Aufzählungszeichen formatieren. formatlistpat(Kurzname flp) ist der reguläre Ausdruck, den Vim verwendet, um dies zu erreichen. Sie müssen also diesen regulären Ausdruck verbessern. Dies sollte den Trick für Sie tun (aber fügt nur Unterstützung für -Aufzählungszeichen hinzu):

set formatlistpat=^\\s*\\(\\d\\+[\\]:.)}\\t\ ]\\|-\\)\\s* 

Tut mir leid für die Backslash-Kopfschmerzen. Dadurch set flp?wird klarer, wie der Regex aussieht:

formatlistpat=^\s*\(\d\+[\]:.)}\t ]-\)\s* 

Weitere Informationen finden Sie in diesem Beitrag .

0
akira
:set smartindent 

Wenn Sie vim benötigen, um die Zeile vor dem Hinzufügen zu brechen

:set tw=30 

oder wie viele Zeichen pro Zeile Sie benötigen.

0
macetw

Siehe auch: http://www.adp-gmbh.ch/vim/formatting/indenting_bullets.html

Stellen Sie aber auch sicher, dass smartindent / cindent nicht ebenfalls gesetzt ist.

Willkommen bei Super User! Während dies die Frage theoretisch beantworten kann, ist es [bevorzugt] (http://meta.stackexchange.com/q/8259), die wesentlichen Teile der Antwort hier aufzunehmen und den Link als Referenz bereitzustellen. Peachy vor 11 Jahren 1