Vermeiden Sie die Neuformatierung von Aufzählungslisten mit Formatoptionen + = a


8

Ich verwende Vim mit formatoptions +=awie in Vim beschrieben: Zeilenumbruch für Dokumente, um Zeilen automatisch zu formatieren, während ich Dokumente schreibe, insbesondere Markdown-Dokumente.

Mein Problem ist, dass Vim auch Aufzählungslisten neu formatieren möchte, da zwischen jedem Aufzählungspunkt eine Leerzeile steht.

Was passiert ist, dass vim neu formatiert

This is wath we will do:

* task 1,
* task 2,
* task 3.

in

This is wath we will do:

* task 1,   task 2,   task 3.

(Ich verstehe auch nicht, warum die Sternchen bei diesem Neuformatierungsprozess verschwinden.)

Wie kann ich Vim dazu bringen, diese Listen nicht mehr neu zu formatieren?


Die Sternchen verschwinden, weil Vim sie für Kommentarführer gehalten hat.
Gioele

Antworten:


4

Versuche dies:

  • hinzufügen n, formatoptionsdamit vim Listen erkennt ( :set fo+=n)
  • Stellen Sie die formatlistpatOption ein, Sternchen als Aufzählungszeichen zu erkennen ( set flp+=\\\|^\\*\\s*) (beachten Sie, dass die Anzahl der Backslashes von Ihrer magicNess-Stufe abhängt ).

Es ist nicht perfekt, basierend auf meinen Tests, aber es scheint nahe zu sein.


2

Ist die filetypeOption aktiviert, markdownwenn Sie Ihre Markdown-Dateien bearbeiten? Mit können Sie :verbose set filetype?den aktuellen Wert überprüfen.

Wenn Sie ausgeführt haben :filetype plugin on(zB von Ihrem .vimrc) und filetypeist auf markdown, wird Vim Quelle , $VIMRUNTIME/ftplugin/markdown.vimdie einige Optionen eingestellt werden ( comments, formatlistpat, und formatoptions) , die mit der Formatierung Markdown Listenelemente helfen sollte.

Hinweis: Das allgemeine Markdown-Dateinamenmuster *.mdwird tatsächlich dem modula2Dateityp von zugeordnet $VIMRUNTIME/filetype.vim. Möglicherweise möchten Sie diese Einstellung überschreiben, wenn Sie dieses Dateinamenmuster häufig für Ihre Markdown-Dateien verwenden. Sie können dies tun, indem Sie dies in Ihre .vimrcDatei einfügen:

autocmd! filetypedetect BufNewFile,BufRead *.md setfiletype markdown

Alternativ können Sie jeder Datei eine Modeline hinzufügen :

<!-- vim: set filetype=markdown : -->

Die Syntaxdateien von tpope (die von mir verwendete) legen den Formatlistenpfad in github.com/tpope/vim-markdown/blob/master/ftplugin/markdown.vim fest . Aus einigen Gründen sieht es so aus, als ob das Ftplugin nicht geladen ist ...
Gioele

1
Dieses vim-markdownPlugin sollte ausreichen, aber Sie müssen seine Funktionalität (und die anderer Dateityp-Plugins) mit aktivieren :filetype plugin on. Siehe :help :filetype-plugin-on.
Chris Johnsen
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.