Wie bewege ich mich in vim zum letzten Zeichen der Datei?

26

Datei:

i am someone1.
i am someone2.
i am someone3
~
~

Die Dokumentation sagt, dass Gich das Ende der Datei brauche, aber nur bis zum Anfang der letzten Zeile. Ich möchte in der Lage sein, zum letzten Zeichen der Datei zu gelangen, 3 in diesem Fall, und drücke aund tippe einen Punkt.

Wie mache ich das?

Animesh
quelle

Antworten:

32

Wenn Sie Anach Geingeben, wechseln Sie am Ende der letzten Zeile in den Einfügemodus.

Wenn Sie nur zum letzten Zeichen gehen möchten, G-Endreicht dies aus

Bernhard
quelle
Adann Ggeht es mir gut Aber wenn ich nicht bearbeiten möchte, ist G-Enddie einzige Option? Gibt es einen einzigen Schlüssel anstelle von zwei?
Animesh
3
Nicht, dass mir das bewusst wäre, aber das ist keine Garantie. Sie können jederzeit eine eigene Karte erstellen, wenn Sie möchten.
Bernhard
30

Ggeht zur letzten Zeile und $geht zum letzten Zeichen der Zeile, also

G$
Gilles 'SO - hör auf böse zu sein'
quelle
Gilles, danke, das ist mehr von dem, wonach ich gesucht habe.
Animesh
Vielen Dank. Es lohnt sich zu klären, Shiftg
ob
5

Strg + Ende funktioniert auch im normalen Modus und im Einfügemodus. :help <C-End>

Kurt Hutchinson
quelle
Dies bewegt den Cursor nur zum letzten Zeichen in der aktuellen Zeile.
Sebix
@sebix: Nein, überprüfe die Hilfe.
Kurt Hutchinson
Funktioniert bei mir nicht mit vim 7.4
sebix
@sebix: Es funktioniert bei mir prima und der Hilfetext ist ziemlich klar. Möglicherweise haben Sie ein Mapping oder Plugin, das das eingebaute Verhalten überschreibt.
Kurt Hutchinson
0
  • Zur letzten Zeile in der Datei gehen: G
  • In die erste Zeile der Datei verschieben: 1G
  • Zum Ende der Zeile gehen: $
  • Zum Zeilenanfang gehen: ^
user239993
quelle
1
Willkommen bei U & L, dies fügt der bestehenden und akzeptierten Antwort kaum etwas hinzu.
Archemar
0

Die meisten Antworten hier gehen von einer nicht leeren letzten Zeile der Datei aus - was wahrscheinlich der häufigste Fall ist. Es gibt auch Annahmen über die Verfügbarkeit einer END- Taste auf der Tastatur. Allerdings END Tasten sind nicht überall verfügbar und Leerzeilen sind möglich am Ende einer Datei. Daher kann für alle Fälle Folgendes genutzt werden, um das letzte (nicht am Zeilenende stehende) Zeichen einer Datei zu finden:

G?.

Dies ist nur eine von wenigen (oder möglicherweise mehreren) Befehlskombinationen, die das beabsichtigte Ergebnis erzielen können. Das Muster ist:

"Set Cursor Position" + "Search Method" + "Pattern"

Bei der obigen Befehlssequenz gehen Sie zum Ende der Datei und führen eine umgekehrte Suche nach einem beliebigen Zeichen durch (jedoch nicht nach einem Zeichen für das Zeilenende).

Bill Totman
quelle
-1

Sie können eine große Zahl wie 99 oder 999 und $ verwenden. wie 999 $

Fred Yang
quelle
Dies ist mehr Tastenanschläge als G$und weniger sicher. Viele Dateien sind länger als 1000 Zeilen.
Wildcard
Stimmen Sie zu, aber diese Lösung eröffnet die Möglichkeit, dass Sie bis zum Ende einer Zeile positionieren können, beispielsweise bis zum Ende von Zeile 13. Sie können 13 $ tun.
Fred Yang