Як отримати функцію загального автозаповнення терміналу?


1

Я новачок у macOS і використовую macOS Sierra,

У моїй Ubuntu та іншій системі на базі Linux, термінал має автозаповнення, яке допомагає виконувати команди та їх параметри.

Наприклад для wget та інші команди, додатково до завершення команди, після натискання Tab 2 рази відображає всі опції команд (якщо такі є) або в sudo w перелічити всі команди починаються з w

Ubuntu terminal auto-compelete

Але на моєму Mac, це просто завершення перших команд і не допомагають для варіантів або другої частини команди, як хто я в sudo whoami,

Я маю на увазі, що він не показує список всіх команд, які починаються з who після натискання Tab 2 рази sudo who

[ 2]

Я знайшов деякі сценарії для git опції на https://github.com/git/git/tree/master/contrib/completion/ , але я хочу щось зробити це для всіх команд і додатків.

Чи є рішення для цього?

Відповіді:



1

Функція завершення не надходить ні від кого Terminal додаток або операційна система, на якій ви працюєте: MacOS X, Linux…

Цю функцію надає ваша оболонка. Щоб перевірити, яка з них надає вам потрібну функцію завершення, просто отримайте оболонку, яку ви використовуєте в Linux, за допомогою:

echo ${SHELL}

Потім змініть вашу оболонку входу на MacOS X за допомогою:

chsh -s /bin/my_preferred_shell

використовувати той, який виконує потрібну функцію завершення.

Переконайтеся, що ця оболонка існує і є виконуваною, і читайте документацію chsh:

ls -ld /bin/my_preferred_shell

man chsh

Щоб протестувати його без ризику, не перезапускайте сеанс, просто відкрийте новий термінал. У разі виникнення помилки ви зможете працювати chsh ще раз.


Спасибі, отже, яка оболонка підтримує цю функціональність? bash
M.A. Heshmat Khah

Запустіть цю команду у середовищі, яке ви хотіли б мати, а не ті, які вам не подобаються :).
daniel Azuelos

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