Durchlaufen Sie die Übereinstimmungen im ZSH-Verlauf – inkrementelle Mustersuche – rückwärts

Durchlaufen Sie die Übereinstimmungen im ZSH-Verlauf – inkrementelle Mustersuche – rückwärts

Ich habe vor kurzem auf die Verlaufssuche umgestellt, history-incremental-pattern-search-backwardda sie Muster in der Suche zulässt. So ist sie in meinem.zshrc

bindkey -M vicmd '/' history-incremental-pattern-search-backward

Das funktioniert gut, aber ich kann nicht herausfinden, wie ich vom Suchmenü zum nächsten Treffer gelange.

% cat foobarbaz.txt
bck-i-search: f*baz

Gibt es hierfür eine Tastenkombination?

Antwort1

Endlich habe ich den richtigen Zauberspruch gefunden. Du musst die Mustersuche im Einfügemodus abbilden. Das war das Teil, das mir noch fehlte:

# Search backwards and forwards with a pattern
bindkey -M vicmd '/' history-incremental-pattern-search-backward
bindkey -M vicmd '?' history-incremental-pattern-search-forward

# set up for insert mode too
bindkey -M viins '^R' history-incremental-pattern-search-backward
bindkey -M viins '^F' history-incremental-pattern-search-forward

Ich hätte es ^Bfür die Rückwärtssuche im Einfügemodus verwendet, aber ich habe es etwas anderem zugeordnet. Also jetzt ^Rdurch ^Fdie Übereinstimmungen blättern.

Antwort2

Laut der zshzleManualpage für zsh 4.3.10 ist standardmäßig kein Schlüssel gebunden. Sie müssen der isearchKarte Bindungen hinzufügen, und es sind nur wenige Widgets verfügbar. Sie können beispielsweise Folgendes tun:

bindkey -M isearch '^R' history-incremental-search-backward
bindkey -M isearch '^S' history-incremental-search-forward

verwandte Informationen