Gibt es eine Möglichkeit in Vim das Suchregister in die Befehlszeile einzufügen, aber ohne die umgebenden \<
Klammern \>
? Ich finde oft, dass ich eine Suche in einem Puffer durchführe und dann das angepasste Muster als Argument für grep
(genauer ack.vim) verwenden möchte.Vim: Suchregister in der Befehlszeile ohne Klammern einfügen
Hier ist, was passiert, wenn man für foo
suchen und geben Sie dann :Ack '<C-r>/
‚:
:Ack '\<foo\>'
Das wird nicht alles zu finden. Was ich will, ist stattdessen:
:Ack 'foo'
Dies ist natürlich ein simplistic Beispiel. Wo dies wertvoller wäre, ist mit komplexeren Suchergebnissen.
Ich bin bewusst <C-r><C-w>
und <C-r><C-a>
für das Einfügen des Wortes/WORD unter dem Cursor, und diese oft ausreichen, aber nicht immer.
' /' fügt Ihr Suchmuster ein, während Sie es eingegeben haben. Beachten Sie, dass das * Suchmuster * eingefügt wird, nicht die Übereinstimmung: Wenn Sie nach 'foo \ d' suchen, wird' /'' foo \ d', nicht 'foo9' einfügen. –
romainl
Aha! Das macht Sinn. In diesem Fall habe ich Dinge getestet, indem ich '*' verwendet habe, um ein Wort zu markieren, von dem die umgebenden Klammern kommen. Ich habe auch früher mit '/ pattern' versucht, das ich auf'/\ v' gemappt habe und das resultierende '\ v' im Suchregister bekommen habe, aber die Verbindung nicht hergestellt habe. Wenn Sie Ihren Kommentar als Antwort geben möchten, würde ich mich freuen, es zu akzeptieren. –
Auch für Leute, die daran interessiert sind, wird die Verwendung von 'g *' anstelle von '*' das Suchmuster ohne '\ <' Klammern '\>' um es herum erhalten. –