7

Когда-то я нашел потрясающую опцию bash, но теперь не могу вспомнить, как ее снова включить.

Это расширило автозаполнение, чтобы посмотреть на вашу самую недавнюю историю. Так что, если вы ранее набрали, open index.html а затем open map.html , набрав

$ op

и однократное нажатие клавиши Tab приведет к автозаполнению, чтобы open map.html . Повторное нажатие Tab приведет к автозаполнению, чтобы open index.html .

Кто-нибудь знает, как я могу это снова включить?

2 ответа2

5

Согласно этой странице ("Включение интеллектуального завершения Bash") в блоге Ubuntu, это так же просто, как редактировать файл bash.bashrc . Для ясности я переписал приведенные ниже инструкции в более удобной для начинающих манере.

Инструкции (Linux)

  1. Из окна терминала отредактируйте файл bash.bashrc вашей системы. Для этого с помощью текстового редактора командной строки, такого как nano, выполните команду sudo nano /etc/bash.bashrc (и, если необходимо, введите свой пароль).
  2. Используйте клавиши со стрелками, чтобы найти эти строки:

    #if [ -f /etc/bash_completion ]; then
    #   . /etc/bash_completion
    #fi
    
  3. Снимите комментарий с каждой из этих строк (удалив префикс # который есть в каждой строке).

  4. Сохраните файл (вы делаете это в nano, нажав Ctrl+o и Enter, затем Ctrl+x, чтобы выйти), и теперь он должен работать. Обратите внимание: для того , чтобы изменения вступили в силу в существующих терминалах, /etc/bash.bashrc должны быть получены. Или выйдите и войдите снова, или просто перезагрузите компьютер.

Чтобы отключить его, все, что вам нужно сделать, это прокомментировать каждую из строк выше (добавив знак # в начале каждой строки).

Предположительно, вышеприведенное также сработает (для вашей учетной записи пользователя), если вы вставите три вышеупомянутые строки без их символов # в свой личный файл .bashrc . Если вы сделаете это, вам не нужно использовать sudo .


Согласно этому сообщению в блоге ("Bash Completion для Mac OS X"), инструкции для Mac OS X различны. Вот что вам нужно сделать.

Инструкции (Mac OS X)

  1. Убедитесь, что у вас установлен Homebrew , а затем используйте его для установки пакета bash-completion (введя команду brew install bash-completion).
  2. Доморощенный теперь должен сказать вам, что вам нужно сделать, чтобы завершить установку. В этом случае вам нужно добавить эти три строки в ваш файл .bashrc (используя текстовый редактор командной строки, такой как nano, который мы использовали выше, или графический):

    if [ -f $(brew --prefix)/etc/bash_completion ]; then
       . $(brew --prefix)/etc/bash_completion
    fi
    
  3. Теперь у вас должно быть автозаполнение в bash. Обратите внимание: для того , чтобы изменения вступили в силу в существующих оболочках, .bashrc должны быть получены. Или выйдите и войдите снова, или просто перезагрузите компьютер.

Чтобы отключить его, все, что вам нужно сделать, это удалить строки, которые мы добавили выше, и запустить команду brew uninstall bash-completion --force .

3

Запустите в вашем bash:

cat >> ~/.inputrc <<'EOF'
"\e[A": history-search-backward
"\e[B": history-search-forward
EOF

Перезапустите сеанс ssh или просто перезагрузите inputrc:

bind -f  ~/.inputrc

Теперь используйте и после ввода начала команды - она автоматически завершится из истории.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .