2017-10-22 3 views
2

Unter Linux Fedora verwende ich Vim und Markdown.Vim mit Markdown, wie Leerzeichen nach Aufzählungszeichen entfernen?

Nach der Verwendung von Aufzählungspunkten. Ich möchte zurückgehen, um weiter Text zu schreiben. Ich drücke Enter und lösche den letzten Punkt.

  • Linie 1
  • Linie 2

Nachdem ich den leeren Aufzählungspunkt löschen und drücken Sie Enter. Die neue Zeile fügt 4 Leerzeichen hinzu. Ich möchte einen Zeilenumbruch von Anfang an starten.

Es ist ziemlich ärgerlich, wenn ich viele Aufzählungspunkte benutze.

Wie kann ich dieses Verhalten loswerden?

enter image description here

+0

Verwenden Sie ein ftplugin für Markdown? Ich kann dieses Verhalten nicht mit Vanille vim reproduzieren. Führen Sie '$ vim -u NONE' aus, aktivieren Sie': filetype on', ': set ft = markdown' und geben Sie Ihre Zeichenfolgen ein. Standardeinstellungen für Abschriften können mit ': e $ VIMRUNTIME/ftplugin/markdown.vim' gefunden werden. Eine weitere relevante Option ist ': set formatoptions + = r'! – Hotschke

Antwort

1

eine neue Linie Einrücken vor Linien entsprechen ist eine vim Option autoindent, smartindent oder cindent, die Sie ausschalten.


 *'autoindent'* *'ai'* *'noautoindent'* *'noai'* 

'autoindent' 'ai' boolean (default off) lokale aus aktueller Zeile
kopieren indent puffern, wenn eine neue Zeile (Eingabe in Insert-Modus oder bei Verwendung des Start " o "oder" O "Befehl). Wenn Sie nicht irgendwas in die neue Zeile außer CTRL-D eingeben und dann , STRG-O oder eingeben, wird der Einzug erneut gelöscht. Das Verschieben des Cursors auf eine andere Zeile hat den gleichen Effekt, es sei denn, das 'I'-Flag ist in' cpoptions 'enthalten .
Wenn die automatische Einfügung aktiviert ist, wird beim Formatieren (mit dem Befehl "gq" oder wenn Sie im Einfügemodus "textwidth" erreichen) die Einrückung der ersten Zeile verwendet.
Wenn 'smartindent' oder 'cindent' aktiviert ist, wird der Einzug in auf eine andere Weise geändert.
Die Option 'autoindent' wird zurückgesetzt, wenn die Option 'Einfügen' festgelegt wird. {Kleiner Unterschied von Vi: Nachdem der Einzug gelöscht wird, wenn eingegeben wird oder die Cursorposition beim Verschieben nach oben oder unten nach dem deleted-Einzug ist; Vi setzt den Cursor irgendwo in den gelöschten Einzug}.


 *'smartindent'* *'si'* *'nosmartindent'* *'nosi'* 

'smartindent' 'si' boolean (default off)
lokal puffern
{nicht in Vi}
{nicht verfügbar, wenn ohne die
zusammengestellt | + smartindent | feature}
Führen Sie eine intelligente Autoindent-Funktion durch, wenn Sie eine neue Zeile starten. Funktioniert für C-ähnliche Programme, kann aber auch für andere Sprachen verwendet werden. 'cindent' tut so etwas, funktioniert in den meisten Fällen besser, ist aber strenger, siehe | C-indent | |.Wenn 'cindent' eingeschaltet oder 'indetexpr' eingestellt ist, hat Einstellung 'si' keine Wirkung. 'indentexpr' ist eine erweiterte Alternative.
Normalerweise sollte 'autoindent' auch bei Verwendung von 'smartindent' eingeschaltet sein. Ein Einzug wird automatisch eingefügt: - Nach einer Zeile mit der Endung '{'.
- Nach einer Zeile beginnend mit einem Schlüsselwort aus 'cinwords'.
- Vor einer Zeile, die mit '}' beginnt (nur mit dem "O" -Befehl).
Wenn Sie '}' als erstes Zeichen in einer neuen Zeile eingeben, erhält die Zeile denselben Einzug wie das passende '{'.
Wenn '#' als erstes Zeichen in einer neuen Zeile eingegeben wird, wird der Einzug für diese Zeile entfernt, das '#' wird in die erste Spalte eingefügt. Der Einzug wird für die nächste Zeile wiederhergestellt. Wenn Sie dies nicht möchten, verwenden Sie diese Zuordnung: ": inoremap # X^H #", wobei^H mit STRG-V STRG-H eingegeben wird.
Wenn Sie den Befehl ">>" verwenden, werden Zeilen, die mit '#' beginnen, nicht um nach rechts verschoben.
HINWEIS: 'smartindent' wird zurückgesetzt, wenn 'kompatibel' eingestellt ist. Wenn 'Einfügen' gesetzt ist, wird die intelligente Einrückung deaktiviert.


  *'cindent'* *'cin'* *'nocindent'* *'nocin'* 

'cindent' 'cin' Boolean (default off)
lokal puffern
{nicht in Vi}
{nicht verfügbar, wenn ohne die kompilierte | + cindent | feature}
Aktiviert das automatische Einrücken von C-Programmen. Siehe 'cinneys', um die Schlüssel festzulegen, die das Einfügen im Einfügemodus auslösen, und 'cinoptions', um den bevorzugten Einzugsstil festzulegen.
Wenn 'indentexpr' nicht leer ist, wird 'cindent' überschrieben. Wenn 'lisp' nicht aktiviert ist und 'indentexpr' und 'equalprg' leer sind, verwendet der Operator "=" diesen Algorithmus, anstatt ein externes Programm aufzurufen.
Siehe | C-Einrückung |.
Wenn Sie nicht mögen, wie 'cindent' funktioniert, versuchen Sie die 'smartindent' Option oder 'indentexpr'.
Diese Option wird nicht verwendet, wenn "Einfügen" eingestellt ist.
HINWEIS: Diese Option wird zurückgesetzt, wenn "kompatibel" eingestellt ist.

1

Ich habe diese Antwort von here, von Reddit-Benutzer dutch_gecko.

In vimrc:

let g:vim_markdown_new_list_item_indent = 0 

setlocal formatoptions=tqlnrc 
set comments=b:> 

Das ist für mich gearbeitet.

Verwandte Themen