Gibt es eine Möglichkeit, in Vim wie in Emacs zu suchen?
Nehmen wir genauer an, ich beginne die Suche mit aktivierter inkrementeller Suche. Der Cursor springt zum ersten Treffer. Ich drücke die Eingabetaste und dann 'n', um zum nächsten Spiel zu gelangen. Jetzt möchte ich meinem ursprünglichen Suchausdruck einige Zeichen hinzufügen und nach der nächsten Übereinstimmung suchen. Ich kann dies nicht tun, da der Fokus nach dem Drücken der Eingabetaste den Suchbegriffbereich verlässt.
Das Emacs-Äquivalent wäre ctrl-s blah ctrl-s ha. Und am Ende würde ich nach dem Begriff "blahha" suchen.
Ist das sinnvoll? Ist es möglich?
Bearbeiten
Die ideale Situation wäre, etwas wie / blah <CS> zu tun und es sofort zum zweiten Vorkommen von 'blah' springen zu lassen, während der Fokus im Suchpuffer bleibt.
q/
. Siehe:h q/
für weitere Informationen. Auch gibt es einen schönen Vimcast zu diesem Thema. vimcasts.org/episodes/…Antworten:
Das Nächste, was mir auf den ersten
/<C-R>/
Blick einfällt, ist, den neuen Text anzuhängen./
Öffnet das Suchdialogfeld und<C-R>
ermöglicht das Einfügen aus einem Ihrer Register. Das/
Register ist der vorherige Suchpuffer, der den neuesten Suchtext enthält.Wenn Sie feststellen, dass Sie dies häufig tun, können Sie beispielsweise eine Zuordnung dazu vornehmen
Wie ich in dem anderen Kommentar erwähnt habe, können Sie Ihrem vimrc etwas Ähnliches hinzufügen, wenn Sie im Suchpuffer bleiben möchten. Ich denke das bringt dir was du willst.
quelle
<C-R>
hier bedeutet gleichzeitig control + R. Wenn das nicht funktioniert, bin ich ein bisschen überrascht. Ich denke, Toms Antwort ist wahrscheinlich sowieso besser.<C-s>
wird oft vom Terminal gegessen./<Up>
oder/<C-P>
bringt Sie zu Ihrer vorherigen Suche und Sie können danach weiter tippen, um sie anzufügen. Sie können:nnoremap / /<Up>
vimrc hinzufügen , wenn dies Ihr Standardverhalten sein soll.quelle
cnoremap <C-S> <cr>/<up>
, Ihrem vimrc etwas hinzuzufügen. Ich denke, das wird das tun, wonach du fragst.:map <C-S>