History-Search-Backward funktioniert in zsh anders als in bash

10

Ich habe history-search-backwardals PageUp zugeordnet.

Wenn ich tippe:

git push <PageUp><PageUp><PageUp>
  1. In Bash werden alle Verlaufseinträge beginnend mit git push durchlaufen
  2. in Zsh beginnt es durch alle Historieneinträge zu Zyklus beginnend mit git , damit es Einträge so auflistet git status, git remote updateetc. Dies ist nicht das, was ich will.

Wie kann ich zsh dazu bringen, sich wie Bash zu verhalten? Was setoptsoll ich einstellen?

Paweł Gościcki
quelle

Antworten:

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

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

Das benutze ich

gtmanfred
quelle
Wenn Sie die gleiche Funktionalität wünschen, jedoch mit Auf- und Ab-Arror, ersetzen Sie den Bindungsschlüssel "^[[5~"zu "^[[A"und "^[[6~"zu"^[[B"
Autodidact
1
Die Verlaufssuche von zsh unterscheidet sich immer noch geringfügig von der Verlaufssuche von bash (readline). Der Befehl von readline entspricht dem Vorwärts- / Rückwärtsverlauf (und setzt den Cursor an das Ende der Zeile), bevor Sie den Cursor in der Zeile bewegen (wodurch er zur "Suche nach Verlaufsanfang" wird), während die von zsh immer gesetzt werden der Cursor am Zeilenanfang. Gibt es eine einfache Möglichkeit, dieses Verhalten zu ändern, ohne ein neues Widget zu schreiben? THX
Yuyichao
@yuyichao, hast du vielleicht herausgefunden, wie man sich so zshverhält bash?
Blaz
@courteous Nicht wirklich, obwohl ich mich nach einiger Zeit an das zsh-Verhalten gewöhne ... Zumal ein einfaches <C-e>das zshVerhalten in das bashVerhalten umwandeln kann, aber nicht so einfach umgekehrt.
Yuyichao