history-search-backward funziona diversamente in zsh che in bash


10

Ho history-search-backwardmappato come PageUp.

Quando scrivo:

git push <PageUp><PageUp><PageUp>
  1. in Bash inizia a scorrere tutte le voci della cronologia che iniziano con git push
  2. in Zsh inizia a scorrere tutte le voci della cronologia che iniziano con git, quindi elencherà voci come queste git status, git remote updateecc. Questo non è quello che voglio.

Come posso fare in modo che zsh si comporti come bash? Cosa setoptdevo impostare?

Risposte:


13
bindkey "^[[5~" history-beginning-search-backward

bindkey "^[[6~" history-beginning-search-forward

Questo è quello che uso


Se si desidera che le stesse funzionalità ma con Su e Giù arror, sostituire la chiave vincolante "^[[5~"per "^[[A"e "^[[6~"da"^[[B"
Autodidatta

1
La storia-inizio-ricerca di zsh ha ancora una sottile differenza dalla ricerca della storia di bash (readline). Il comando di readline equivale a storia-indietro / avanti (e posiziona il cursore alla fine della riga) prima di spostare il cursore nella riga (che lo trasformerà in "storia-inizio-ricerca") mentre quelli di zsh mettono sempre il cursore all'inizio della riga. Esiste un modo semplice per modificare questo comportamento senza scrivere un nuovo widget? THX
yuyichao,

@yuyichao, hai forse trovato il modo di zshcomportarti come bash?
Blaz,

@courteous Non proprio, anche se mi sto abituando al comportamento di zsh dopo averlo usato per un po 'di tempo ... Soprattutto dal momento che un semplice <C-e>può trasformare il zshcomportamento in bashcomportamento ma non è così semplice il contrario.
yuyichao,
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.