Gehen Sie zum n-ten Symbol in der Zeile

84

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?

Nutel
quelle
1
Rechtspfeil Lösung funktionierte für mein Problem ... thnx
raj_gt1
Wer benutzt jemals <right arrow>statt lin vim?
LRDPRDX

Antworten:

126

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. . .

Herbert Sitz
quelle
Großartig, das war es, wonach ich gesucht habe
Nutel
4
@CamilB Versuchen Sie etwas wie $3h, das Sie an das Ende der Zeile und dann 3 Zeichen nach links bringt.
Jeff Klein
40

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

Ramy
quelle
1
Dies war das erste Ergebnis in Google und das war es, wonach ich gesucht habe, danke
kgwong
Diese Bewegung kann auch zu anderen Befehlen hinzugefügt werden, wie zum Beispiel: Wechsel von der aktuellen Position zum 2. Auftreten des Zeichens "e" - c2te :)
Vũ Tô
8

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.

Chris Morgan
quelle
Ich sehe, Sie haben die Frage jetzt bearbeitet. lanstelle des rechten Pfeils ist ungefähr das Beste, was Sie bekommen. (sind Sie mit hjkl Navigation vertraut?)
Chris Morgan
Ich weiß, dass echte Vimmer keine Pfeile verwenden sollten, aber ich verwende einige andere Anwendungen, die keine einfache Tastenbindung unterstützen. Die einzige Möglichkeit zum Navigieren sind Pfeile. Um den Wechsel zwischen ihnen zu vereinfachen, verwende ich Pfeile
Nutel
@Vetal: Ich bin gelegentlich frustriert, wenn das Scrollen in anderen Anwendungen einfach nicht funktioniert ... hjkl sind viel schöner als die Pfeile.
Chris Morgan
Wie die Antwort von Herbert Sitz hervorhebt, |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.
Hobbs
Ich denke, ich sollte darauf achten, was Charaktere tun. Hätte es für unwahrscheinlich halten sollen, dass es zwei Möglichkeiten gibt, dasselbe zu tun.
Chris Morgan