Vim ganzes Wort suchen - aber schneller
Ich weiß, dass die Suche nach einem ganzen Wort in vim, die Sie benötigen, um Typ:
/\<word\><CR>
Nun, was ich tun möchte, ist die Karte dieses Verhalten zu ? (da ich nie Suche rückwärts, und wenn nötig, könnte ich die Suche vorwärts und dann NN). I. e. Ich würde gerne Typ:
?word<CR>
haben und das gleiche Ergebnis wie oben (vim sucht das ganze Wort). Ich habe schon hantieren mit vim-Befehle und mappings für einige Wochen jetzt, aber ich bin mir nicht sicher, wie dies zu erreichen eine. Vielen Dank für jede Hilfe.
Update: (insead aus ? Ich benutze \ jetzt).
Du musst angemeldet sein, um einen Kommentar abzugeben.
Neige ich zum
*
und#
(wie vorgeschlagen von Brian Agnew), aber wenn Sie möchten, eine Methode, die beinhaltet der Eingabekönnte man etwas wie das hier tun:
Hinweis: es ist ein Leerzeichen nach
SearchWord
auf die Letzte Zeile.Erklärung:
Mapping machen
?
öffnen Sie eine Eingabeaufforderung, und geben SieSearchWord
(einschließlich Leerzeichen). Der Befehl machtSearchWord myword
tun das äquivalent voncall SearchWord('myword')
(d.h. es setzt die Zitate Runden das argument, um es in einen string). Die Funktion setzt die Suche register@/
gleich zu Ihrem Wort umgeben von\<
und\>
und dann wird ein normal-Modusn
zu finden, die nächste Instanz, die den Inhalt der such-register.Natürlich verlieren Sie die Vorteile der inkrementellen Suche, wenn Sie dies tun, aber ich hoffe, es ist nützlich sowieso.
Können Sie die Suche für Wörter, die unter dem cursor mit
*
und#
(vor und zurück).g*
undg#
wird das gleiche tun, aber die Suche nach Worten mit, was unter deinem cursor zunächst.Offensichtlich (!) Sie müssen gefunden haben, die erste Instanz bereits für diese zu arbeiten, aber es ist sehr effektiv für alle nachfolgenden Suchvorgänge.
Al ' s Lösung ist sehr schön, aber wäre es nicht einfacher, nur geben Sie das
\<\>
Muster, dann bewegen Sie den cursor zurück doppelt? Dies funktioniert für mich:Diese Weise erhalten Sie noch die inkrementelle Suche (irgendwie).