Nach dem Lesen help textwith
und habe help fo-table
ich das erwartet, als ich eingestellt habe
set textwidth=20 " for demonstration
set formatoptions=tcq
Wenn Sie dann Text einfügen, wird immer eine Zeile umbrochen, aber das ist nicht der Fall. Das Umschließen erfolgt nur an (oder vor) meinem Cursor. Und wenn ich einfüge, kommt das Wickeln überhaupt nicht vor.
Beispiel (Vim 7.4):
12345678901234567890
This is a long line
Die Zeile wird automatisch umbrochen, wenn ich drücke A
und mit der Eingabe beginne.
Aber wenn ich drücke 02wi
und "still" tippe, wird es nicht umbrochen:
12345678901234567890
This is still a long line
Ich muss weitere 7 Zeichen eingeben, bevor es umbrochen wird, und dann geht das Problem in der nächsten Zeile weiter:
12345678901234567890
This is still more <-- it wraps here
typing and again a long line
Das Einfügen löst auch keinen Wrap aus:
12345678901234567890
This is a long line This text is pasted and not wrapped
Ich denke, was ich will, ist, set fo+=a
aber das gilt auf Absatzebene, während ich nicht möchte, dass die automatische Formatierung einer Zeile auf andere Zeilen übertragen wird.
Oder fehlt mir eine Option?
Um klar zu sein, tippe vim -u NONE
ich nach dem Start Folgendes ein (weniger Kommentare):
:set textwidth=20<CR>
:set formatoptions=tcq<CR>
iThis is a long line<ESC>
02wistill <ESC> " no wrap happens, but I'd like it to
u
:let @r = "This text is pasted and not wrapped"<CR>
$"rp " no wrap happens, but I'd like it to
quelle
vim -u NONE
, um das Laden einer vimrc-Datei zu verhindern. Behebt dies das Problem für Sie? Welche Vim-Version verwenden Sie?paste
versehentlich eingestellt? Versuchen Sie:set paste?
paste
ist nicht gesetzt. Wennpaste
eingestellt, erfolgt überhaupt keine Umhüllung.Antworten:
Ich bin auf eine Teillösung gestoßen, bei der
formatoptions=tcqaw
. Grundsätzlich werden Absätze immer noch automatisch umbrochen, aber ein Absatz endet, wenn die Zeile kein nachfolgendes Leerzeichen enthält, was für viele Fälle geeignet ist.Anhand Ihres Beispiels (mit einer geringfügigen Änderung, ohne Rückgängigmachen und mit "
<SPACE>
This ...") erhalte ich folgendes Ergebnis:quelle