Scorri le partite in ZSH history-incremental-pattern-search-backward


10

Di recente ho cambiato la ricerca della cronologia da utilizzare history-incremental-pattern-search-backwardpoiché consente la ricerca di schemi. Ecco come è installato nel mio.zshrc

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

Funziona benissimo, ma non riesco a capire come passare alla prossima partita dal menu di ricerca.

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

C'è una chiave destinata a farlo?

Risposte:


12

Finalmente trovato il giusto incantesimo. È necessario mappare la ricerca del modello in modalità inserimento. Questo era il pezzo che mi mancava:

# 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

Avrei usato ^Bper la ricerca all'indietro in modalità inserimento, ma l'ho mappato a qualcos'altro. Quindi ora ^Re ^Fscorrere le partite.


cosa fa il -Mcomando? Nel mio caso anche senza la -Mparola chiave funziona alla grande ..
alpha_989

La -M keymapdice bindkey quale keymap per applicare il legame. L'ho impostato sia per la modalità di inserimento che per la modalità di comando.
Claytron,

Grazie per il chiarimento. Nel mio caso l'ho appena fatto bindkey '^R' history-incremental-pattern-search-backwarde funziona. Uso anche il /comando predefinito nel modello normale vi in ​​zsh. In questo posso cercare la cronologia dei comandi e, una volta trovato il comando, lo fornirà semplicemente nella riga di comando. Quindi posso modificare l'ultimo comando, se necessario.
alpha_989,

Se invece lo uso '^R' history-incremental-pattern-search-backward, mi atterrerà sull'ultimo comando che corrisponde alla stringa di ricerca. Tuttavia, non ho trovato un modo per poter effettivamente modificare il comando. Dopo aver trovato un comando adatto che abbina la stringa di ricerca alla ricerca di picchiettini incremantali, ci sono combinazioni di tasti specifici, che posso premere per poter modificare il comando?
alpha_989,

9

Secondo la zshzlepagina di manuale di zsh 4.3.10, nessuna chiave è associata per impostazione predefinita. Devi aggiungere collegamenti alla isearchmappa e sono disponibili solo pochi widget. Ad esempio, puoi fare:

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

bindkey -lnon mostra una isearchmappatura
claytron,

@claytron: deve essere un problema di versione: isearchè nuovo in 4.3.10, mentre è history-incremental-pattern-search-backwardapparso in 4.3.7 (se ho letto correttamente il log delle modifiche ).
Gilles 'SO- smetti di essere malvagio' il

Sto usando 4.3.10, non sono sicuro del perché non ci sia. L'uso dei collegamenti in modalità insert ha funzionato per me.
Claytron,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.