Historia-wyszukiwanie-wstecz działa inaczej w zsh niż w bash


10

Mam history-search-backwardodwzorowane jako PageUp.

Kiedy piszę:

git push <PageUp><PageUp><PageUp>
  1. w Bash zaczyna przeglądać wszystkie wpisy historii zaczynające się od git push
  2. w zsh zaczyna przechodzić wszystkich zapisów historycznych począwszy git więc będzie wymienić takie pozycje git status, git remote updateitd. To nie jest to, co chcę.

Jak mogę zachowywać się zsh jak bash? Co setoptmam ustawić?

Odpowiedzi:


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

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

Tego używam


Jeśli chcesz mieć tę samą funkcjonalność, ale z błędami w górę i w dół, zamień klucz powiązania "^[[5~"do "^[[A"i "^[[6~"do"^[[B"
Autodidact

1
Przeszukiwanie historii zsh nadal ma subtelną różnicę w stosunku do wyszukiwania historii bash (readline). polecenie readline jest równoważne z historią wstecz / do przodu (i umieść kursor na końcu linii), zanim przesuniesz kursor w linii (co spowoduje, że zmieni się w „wyszukiwanie od początku historii”), podczas gdy polecenia zsh zawsze umieszczają kursor na początku linii. Czy istnieje prosty sposób na zmianę tego zachowania bez pisania nowego widżetu? THX
yuyichao,

@ yuyichao, może odkryłeś, jak się zshzachować bash?
Blaz

@courteous Nie bardzo, chociaż przyzwyczajam się do zachowania zsh po użyciu go przez pewien czas ... Zwłaszcza, że ​​prosty <C-e>może zmienić zshzachowanie na bashzachowanie, ale nie jest tak łatwo na odwrót.
yuyichao
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.