Uzupełnianie Zsh, włączanie klawisza shift

13

Gdy zsh pokazuje menu możliwych uzupełnień, chciałbym, aby pozwolił mi użyć shift-tabdostępu do poprzednich wpisów ukończenia - czy istnieje opcja kontrolująca, który klucz jest używany do uzyskania dostępu do poprzednich wpisów ukończenia?

A jeśli tak, co powinienem dodać do mojego ~/.zshrc pliku, aby go skonfigurować.

Jeśli robi to jakąkolwiek różnicę, obecnie mogę poruszać się po menu ukończenia za pomocą klawiszy strzałek, ale nie lubię tego robić, ponieważ klawisze strzałek wydają się nie na miejscu i niewygodne w użyciu.

Alexej Magura
źródło

Odpowiedzi:

13

chcesz powiązać polecenie edytora reverse-menu-completez menuselectmapą klawiszy.

bindkey -M menuselect '^[[Z' reverse-menu-complete

Nie jestem pewien, jak przenośna ^[[Zjest sekwencja ucieczki , więc możesz sprawdzić terminfo (5), aby sprawdzić, czy istnieje sposób na użycie $terminfotablicy do poprawnego powiązania.

Pamiętaj, że menuselectmapa klawiszy jest dostępna po załadowaniu zsh/complistmodułu. Jeśli skonfigurowałeś system uzupełniania za pomocą compinstall, moduł ten jest generalnie automatycznie ładowany przy pierwszym wykonaniu. Aby móc dodać to powiązanie do swojego ~/.zshrc, musisz najpierw załadować moduł ręcznie za pomocą:

zmodload zsh/complist
llua
źródło
^[[Zjest też shift-tabna moim komputerze, więc nie martw się, że nie będzie przenośny; Dziękuję Ci. :)
Alexej Magura
1
Podczas zshdodawania bindkeywiersza do mojego ~/.zshrcpliku pojawia się następujący błąd : ~/.zshrc:bindkey:190: no such keymap `menuselect'
Alexej Magura
2
To by było "${terminfo[kcbt]}".
Thomas Dickey,