2015-06-20 6 views
39

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

cd he 
helpFolder/ helpMe/ heIsThere/ 
cd help 

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

ответ

18

это в вашем ~/.inputrc:

set show-all-if-ambiguous on 

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

+0

где is ~/.inputrc file –

+2

@Vikas просто введите nano ~/.inputrc или pico .inputrc, чтобы его отредактировать. из-за периода, файл скрыт, поэтому вы не увидите его в любом браузере. – Bqin1

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

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

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

+1

Для других людей, которые пробовали это: я пробовал это в ~/.profile и получил ошибку при перезапуске: -bash: TAB: menu- complete: команда не найдена. В .inputrc он работал нормально. –

+0

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

4

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

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

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

  4. Выход из терминала, команда + Q.
  5. Снова запустите терминал и проверьте результат.