Bei einigen Textformaten sind Zeilenumbrüche wichtig.
Zum Beispiel verwende ich Vim oft, um MediaWiki-Dokumente zu schreiben, bei denen Sie nicht einfach irgendwo einen Zeilenumbruch setzen können (im Gegensatz zu Markdown). Also bin ich gezwungen, Zeilen mit vielen Zeichen zu schreiben.
Dies kann zu langen (mehr als 200 Zeichen) oder sogar sehr langen (mehr als 1000 Zeichen) Zeilen führen. Ich finde es sehr umständlich, das in Vim zu verwenden. Wenn ich beispielsweise etwas in der Mitte der 1000-Zeichen-Zeile bearbeiten möchte, muss ich meinen Cursor 500-mal bewegen.
Dies kann mit w
oder etwas schneller gemacht werden /
, ist aber immer noch umständlich.
Gibt es bessere Möglichkeiten, damit umzugehen? Bessere Bewegungstasten? Irgendeine Art von "Fake Wrapping" (Text verhält sich so als ob tw=80
, aber nein \n
in der Datei) oder was anderes?
quelle
Antworten:
Sie können eine
g
Reihe von Befehlen verwenden, um an die Grenzen des sichtbaren Bildschirmbereichs zu gelangen. Bewegt sich zum Beispiel g$zum rechten Rand des Bildschirms (der nicht unbedingt das Ende der Zeile ist). gjBewegt den Cursor eine Zeile nach unten, wie er auf Ihrem Bildschirm angezeigt wird (was nicht unbedingt eine logische Zeile nach unten ist).Vielleicht könnten Sie die Pfeiltasten neu binden:
Oder manche Leute binden auch direkt nach kund j:
Für den Einfügemodus können Sie Folgendes verwenden:
Oder:
Wenn Sie
:set wrap
Vim verwenden , werden die Zeilen umbrochen, sodass Sie die gesamte Zeile sehen können. Sie können auchset showsbreak=+
ein+
anzeigen, um anzuzeigen, dass Vim das Wrappen ausführt.Mit dem |Befehl können Sie zu bestimmten Spaltenpositionen springen . Beispiel: 200|Wechselt zur Spaltenposition 200.
quelle
g5j
wie immer 5 nach unten springen.5gj
g5j
,g5
wird zuerst gesehen , die auf die nächste gerade springt ,5
bevor Sie die Anwendungj
. Deshalb kann es nicht tun, was es5gj
tut.Vim unterstützt Soft Wrapping, nur
set wrap
um es zu aktivieren, und es wird lange Zeilen umbrechen, die über den sichtbaren Bildschirm hinausgehen. Sie könnengj
& verwendengk
, um über solche umbrochenen Zeilen nach oben bzw. unten zu fahren.quelle
Wenn ich mit sehr langen Linien zu tun habe, hat der größte Schmerzpunkt mit unterschiedlichen Linienlängen zu tun. Wenn Sie sich also in der Nähe der Zeilenenden nach oben oder unten bewegen, wird das Fenster ganz nach links oder rechts verschoben.
Dies kann vermieden werden, indem Sie festlegen
virtualedit=all
, dass Sie den Cursor lange nach den Zeilenenden in die Leerstelle bewegen können.quelle
Wie andere gesagt haben, können Sie g+ etwas verwenden, um sich zu bewegen. Wenn Sie jedoch extrem lange Zeilen haben, gjist es nicht ergonomisch , mehrmals zu drücken , um nach unten zu gelangen. Ich habe das Folgende in meinem
.vimrc
, um das viel einfacher zu machen:Auf einem Mac kann ich damit j, k, $, 0 und ^ in Anzeigezeilen verwenden, indem ich die Befehlstaste gedrückt halte. Auf anderen Systemen können Sie stattdessen oder für Alt oder für Control
D
versuchen .M
A
C
quelle