vim repeat finde nächstes Zeichen 'x'


122

Ich navigiere oft in vim vorbei f x , um das nächste Vorkommen des Zeichens 'x' zu finden, übersehen jedoch, dass sich zwischen dem Wort, das ich bearbeiten möchte, und der Anfangsposition des Cursors ein Wort (oder mehrere Wörter) befindet, das 'x' enthält.

Also muss ich f xnochmal, was irgendwie nervig ist, da es diesen netten Button gibt ., der den letzten Befehl wiederholt. Gibt es also eine Möglichkeit, f xmit einem einzigen Tastendruck zu wiederholen ?

Antworten:


239

Der Befehl zum Wiederholen von fist ;(Semikolon); ,(Komma) kehrt die Suchrichtung um.


2
Gibt es einen nützlichen Grund, den Sie dafür nicht verwenden .können? Das war der Befehl, den ich erwartet hatte.
Daniel Kaplan

4
@DanielKaplan Es ist sinnvoll, das Novement, dh die Suche nach einem Zeichen ( fund ;), einem anderen Zeichen zuzuordnen als die Wiederholung einer Bearbeitung ( .). Auf diese Weise können Sie schnell suchen und Änderungen an den Suchergebnissen vornehmen. Wenn Sie einige +in einer Zeile durch ersetzen möchten, können *Sie so etwas tun (einige Zeichen überspringen und andere ersetzen):f+r*;.;;.;.;;;.
Marcus Krahl

2
Gibt es eine Möglichkeit, diese Befehle neu zuzuordnen? Viele Leute verwenden ,für Führer.
rk1

@ rk1 Ändern Sie die Führung mit: let mapleader = "" (wenn Sie ein Leerzeichen möchten)

@ DrEval Sicher, aber ich möchte meinen Anführer behalten ,und trotzdem die umgekehrte Suche durchführen. Wie auch immer, jetzt bin ich ein glücklicher Benutzer von vim-easymotion.
rk1

18

Die Zeit ist vergangen, seit ich diese Frage gestellt habe - heutzutage verwende ich vim-easymotion , was die Notwendigkeit ;fast unnötig macht.

Mit diesem Plugin können Sie direkt zu einem bestimmten Buchstaben springen. Wenn Sie das Plugin auslösen, werden alle Buchstaben grau, mit Ausnahme aller 'x' auf dem Bildschirm. Diese werden durch rote Buchstaben ersetzt, die Sie drücken können, um direkt dorthin zu springen.

easymotion im Gebrauch

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.