Mac Терминала Автоматическое Заполнение


Я искал некоторое время для патч для этого. Обычно на терминале Unix / Linux, когда вы нажимаете tab, он автоматически завершается до тех пор, пока не появится несколько вариантов, а затем перечислит параметры ниже для выбора. Например:

cd he
helpFolder/ helpMe/ heIsThere/
cd help

теперь с терминалом Mac он заставляет вас нажать его дважды, чтобы увидеть параметры, и мне было интересно, можно ли изменить эту настройку на одно нажатие вкладки?

4   51  

4 ответа:

положите это в ваш ~/.inputrc:

set show-all-if-ambiguous on

вам нужно будет перезапустить оболочку (например, открыв новое окно терминала или введя exec /bin/bash).

  1. введите терминал nano ~/.inputrc
  2. вставьте следующее в отдельные строки

    set completion-ignore-case on
    set show-all-if-ambiguous on
    TAB: menu-complete
    
  3. нажмите Control+O, чтобы сохранить изменения .inputrc с последующим управлением+X, чтобы выйти
  4. откройте новое окно терминала или вкладку, или введите "login", чтобы открыть новый сеанс с действующими правилами
  5. Введите и нажмите клавишу tab

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

то, что вы хотите изменить, - это настройка оболочки Bash. Моя версия ОС-10.11.6, и я использую mvim, здесь просто vim или vi,если ~/.inputrc не существует,тогда вам нужно создать новый.

  1. в типе терминала vim /.inputrc.
  2. переменная completion-ignore-case и show-all-if-неоднозначная должна быть включена, это делается путем вставки этих настроек в две строки,set completion-ignore-case on и set show-all-if-ambiguous on

  3. добавить TAB: menu-complete и написать и выйти из vim. команду

  4. завершите работу терминала, команда+Q.
  5. снова запустите терминал и проверьте результат.

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

Я должен был удалить строку: TAB: menu-complete.

мое полное ~/.inputrc файл выглядит следующим образом:

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