jak sprawić, by ctrl + p zachowywał się dokładnie jak strzałka w górę w zsh?

15

Przede wszystkim używam zsh i oh-my-zsh bez prawie innych modyfikacji.

W Zsh, kiedy naciskam strzałkę w górę, przynosi mi najnowsze polecenia. A jeśli wpisałem kilka znaków przed naciśnięciem strzałki w górę, przyniesie mi to najnowszą komendę zaczynającą się od tych znaków. Jest to dość przydatna funkcja, ponieważ alternatywnie wydaje wiele poleceń git / vim / scp.

Ale teraz przełączam się na klawiaturę bez klawiszy strzałek i do uzupełniania historii zwykle używam ctrl+ pzamiast strzałki w górę. Jednak bez względu na to, ile znaków wpisałem przed naciśnięciem ctrl+ p, zawsze przyniesie mi to najnowszą komendę (nie ostatnią zaczynającą się od tych znaków)

Jak mam skonfigurować Zsh (lub oh-my-Zsh), aby to naprawić?

Gordon Gao
źródło

Odpowiedzi:

18
bindkey "^P" up-line-or-search
Michael Wild
źródło
Wielkie dzięki! Zgłoszę problem do oh-my-zsh, aby dodać to do domyślnego pliku lib / keybinding.zsh.
Gordon Gao
5
Możesz również dodać, aby zachować bindkey "^N" down-line-or-searchspójność.
ejoubaud
6
bindkey -e

To używa skrótów klawiszowych emacsa i wydaje się, że działa dla mnie.

Nokturn
źródło
~/.zshrc Jeśli ustawisz plik rc powłoki , export EDITOR=vimto również powiązanie klawiszy w powłoce zmieni się na vim. W tym przypadku ręcznie ustaw powiązanie klawiszy na tryb emacsa przezbindkey -e
MutantMahesh