Завершення Zsh, включення зсуву


13

Коли zsh показує вам меню можливих доповнень, я хотів би дозволити мені використовувати shift-tabдля доступу до попередніх записів завершення - чи є опція, яка контролює, який ключ використовується для доступу до попередніх записів завершення?

І якщо так, що мені потрібно додати до свого ~/.zshrc файлу, щоб його налаштувати.

Якщо це має якусь різницю, в даний момент я можу переходити по меню завершення за допомогою клавіш зі стрілками, але мені це не подобається, оскільки клавіші зі стрілками відчувають себе на місці і незручно використовувати.

Відповіді:


13

ви хочете прив’язати команду редактора reverse-menu-completeдо menuselectклавішної карти.

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

Я не впевнений, наскільки портативна послідовність евакуації ^[[Z, тому ви, можливо, захочете перевірити terminfo (5), щоб побачити, чи існує спосіб використання $terminfoмасиву, щоб правильно його прив’язати.

Зауважте, що menuselectкарта клавіш доступна після завантаження zsh/complistмодуля. Якщо ви налаштували систему завершення compinstall, цей модуль, як правило, автоматично завантажується при першому виконанні чогось. Щоб мати змогу додати це прив'язку до свого ~/.zshrc, потрібно спочатку завантажити вручну модуль:

zmodload zsh/complist

^[[Zє і shift-tabна моєму комп’ютері, тому не хвилюйтеся, щоб він не був переносним; Дякую. :)
Олексій Магура

1
Я отримую таку помилку, коли звертаюся zshпісля додавання bindkeyрядка до мого ~/.zshrcфайлу: ~/.zshrc:bindkey:190: no such keymap `menuselect'
Олексій Магура

2
Це було б "${terminfo[kcbt]}".
Томас Дікі
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.