Wie bewege ich den Cursor in Vim von links auf das n-te Symbol?
Eine der Lösungen, die ich sehe, ist Drücken 0n<right-arrow>. Sie bewegt sich in die Position n + 1. Gibt es einen natürlicheren Weg, dies zu tun?
Wie bewege ich den Cursor in Vim von links auf das n-te Symbol?
Eine der Lösungen, die ich sehe, ist Drücken 0n<right-arrow>. Sie bewegt sich in die Position n + 1. Gibt es einen natürlicheren Weg, dies zu tun?
<right arrow>statt lin vim?
Antworten:
Die Pfeife '|' Charakter kann sein, was Sie wollen:
Um im normalen Modus zur 25. Spalte in einer Zeile zu gelangen, drücken Sie 25|
Um im normalen Modus zur 37. Spalte in einer Zeile zu gelangen, drücken Sie 37|
und so weiter. . .
$3h, das Sie an das Ende der Zeile und dann 3 Zeichen nach links bringt.
EDIT: Ihre Frage falsch verstanden.
Sie können zu einem bestimmten Symbol wechseln, indem Sie fgefolgt von dem betreffenden Symbol Folgendes eingeben :
Wenn Sie zum dritten wechseln möchten $, geben Sie Folgendes ein:
3f$
Um rückwärts zu gehen, verwenden Sie das Großbuchstaben "F".
F$
Um zuerst ans Ende der Zeile zu gelangen, verwenden Sie "$".
Ihre Tastenanschläge zum Finden des dritten $ am Ende einer Zeile lauten also:
$3F$
Ich mag es, so etwas bei der Verwendung von Vim griffbereit zu halten:
http://www.lagmonster.org/docs/vi.html
Ich bin mir nicht sicher, ob Sie das n-te Zeichen oder das n-te Vorkommen eines Zeichens meinen. Der zweite wurde beantwortet, also werde ich den ersten beantworten.
^bringt Sie zum Anfang der Zeile ohne Leerzeichen (also zur ersten nicht weißen Spalte) und |(Pipe) oder 0(Null) bringt Sie zum ersten Zeichen. Dann lbringt Sie (Kleinbuchstabe L) nach rechts; und 7lbringt Sie sieben Zeichen nach rechts. Also alles zusammen, um zum (n + 1) -ten Zeichen in der Zeile zu gelangen, für n = 7 , 07l.
lanstelle des rechten Pfeils ist ungefähr das Beste, was Sie bekommen. (sind Sie mit hjkl Navigation vertraut?)
|geht es nur um das erste Zeichen, weil der [count]Standardwert 1 ist - es geht tatsächlich um das [count]dritte Zeichen in der Zeile, also 8|ist es so, 07lals wäre es eine einzelne Bewegung anstelle von zwei.