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.

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

^[[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,
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.