Автозаповнення терміналу Mac


80

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

cd he
helpFolder/ helpMe/ heIsThere/
cd help

Тепер із терміналом Mac він змушує вас натиснути його двічі, щоб побачити параметри, і мені було цікаво, чи можна змінити це налаштування на одне натискання вкладки?

Відповіді:


53

Помістіть це у свій ~/.inputrc:

set show-all-if-ambiguous on

Вам потрібно буде перезапустити свою оболонку (наприклад, відкривши нове вікно терміналу або набравши текст exec /bin/bash).


де ~ / .inputrc файл
Вікас Панді

6
Для редагування @Vikas просто введіть nano ~ / .inputrc або pico .inputrc. через крапку файл прихований, тому ви не побачите його в жодному браузері
Bqin1

1
Для тих, хто запитує про файл ~ / .inputrc: просто відкрийте термінал і введітьvim ~/.inputrc
seralouk

1
@VikasPandey ~/дорівнює домашньому каталогу вашого поточного користувача і в ньому ви хочете зберігати цей тип файлу налаштувань.
NathanQ

146
  1. Введіть термінал nano ~/.inputrc
  2. Вставте наступне в окремі рядки

    set completion-ignore-case on
    set show-all-if-ambiguous on
    TAB: menu-complete
    
  3. Натисніть Control + O, щоб зберегти зміни у .inputrc, а потім Control + X, щоб вийти
  4. Відкрийте нове вікно або вкладку терміналу або введіть “login”, щоб відкрити новий сеанс із чинними правилами
  5. Введіть і натисніть клавішу табуляції

Src: http://osxdaily.com/2012/08/02/improve-tab-completion-in-mac-os-x-terminal/


2
Для інших людей, які пробують це: я спробував це в ~ / .profile і при перезапуску отримав помилку: -bash: TAB: menu-complete: команду не знайдено. У .inputrc це працювало нормально.
Ендрю Свіфт,

1
чи можна змусити це показати все, якщо це неоднозначно? прямо зараз, коли я двічі натискаю вкладку для порожнього каталогу, він нічого не показує
VTS12

11

Я додаю нову відповідь, оскільки в моєму випадку додавання рядка set show-all-if-ambiguous onбуло недостатньо.

Я був також видалити рядок: TAB: menu-complete.

Мій повний ~/.inputrcфайл такий:

set completion-ignore-case on
set show-all-if-ambiguous on

2
Це вирішило мою проблему +1 з цією вкладкою (вона прагнула автозаповнення)
Хамза Белмеллукі,

6

Що ви хочете змінити, це налаштування оболонки Bash. Моя версія ОС 10.11.6, і я використовую mvim, тут просто vim або vi, якщо ~ / .inputrc не існує, то вам потрібно створити нову.

  1. У термінальному типі vim /.inputrc.
  2. Змінну fill-case-ignore-case та show-all-if-ambiguous потрібно увімкнути, це робиться шляхом вставки цих параметрів у два рядки, set completion-ignore-case onіset show-all-if-ambiguous on

  3. Додайте TAB: menu-completeта напишіть та вийдіть з vim. : wq

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