Як можна змусити завершення zsh поводитись як завершення Bash?


12

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

У bash, це було просто - натисніть вкладку, і я отримаю префікс. Якби я продовжував набирати текст (і натискати вкладку), баш завершиться настільки, наскільки можна було б бути впевненим. Я вважаю таку поведінку набагато більш інтуїтивно зрозумілою, але віддаю перевагу іншим особливостям zsh до bash.

Чи є спосіб отримати цей стиль завершення? Google запропонував setopt bash_autolist, але це не вплинуло на мене (і після запуску оболонки не було надруковано жодного повідомлення про помилку).

Дякую.

Відповіді:



8

Те, що ви хочете, це, мабуть, це:

setopt noautomenu

1
(10 років потому) Прийнята відповідь не мала (явного) ефекту для мене. Це було саме те, чого я хотів, і, схоже, просив ОП.
Джер

1

Є інший варіант, якщо ви використовуєте опцію "вибір меню" в .zshrc, як це:

autoload -U compinit
compinit
zstyle ':completion:*:*:*:*:*' menu select

Ви зможете орієнтуватися по результатам за допомогою клавіш зі стрілками. Візьмемо ваш приклад із "20 файлами із спільним префіксом":

  • при першому натисканні на [TAB], zsh завершить більше можливостей, а потім відобразить список можливостей
  • тоді ви можете або виконати так, як у баш (введіть додатковий символ, перейдіть до 0)
  • або повторно введіть [TAB], і тоді ви побачите можливі варіанти, виділені в меню під запитом оболонки; бонус, ви можете орієнтуватися в можливостях за допомогою клавіш зі стрілками

Врешті-решт дійти до останньої можливості:

  • з Bash, у кращому випадку, ви натискаєте [TAB], а потім додатковий знак, а потім [TAB] знову (можливо більше)
  • за допомогою Zsh ви знову натискаєте [TAB], потім [TAB] (для входу в меню), потім "<-" (ліва клавіша зі стрілкою), щоб дійти до останніх елементів

Обидва є 3 ключовими штрихами в цьому випадку. Решта - це переважно питання смаку.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.