13

По сути, я хочу изменить терминал Ubuntu функционально, чтобы я мог циклически переключаться между всеми опциями, когда вкладка i (в строке строки cmd), и не выводить список опций, как по умолчанию?

Я использую Bash, Ubuntu 9.04. Я вижу некоторые возможности в .bashrc, но должен быть кто-то, кто уже решил эту проблему?

2 ответа2

16

Согласно комментариям на этой странице, положить

bind '"\t":menu-complete'

в вашем .bashrc должно быть включено циклическое завершение табуляции.

См. Раздел 8.4.6 Справочного руководства Bash для получения дополнительной информации.

0

Что-то, что спасает меня для жизни, - это циклически использовать возможности, а не показывать тупой список.

Поскольку bash использует readline для автоматического завершения, добавьте следующие строки в ~/.inputrc

Как только вы будете удовлетворены и тщательно протестируете приведенное ниже решение в течение нескольких дней / недель, вырезайте и вставляйте (не копируйте!) те же настройки от ~/.inputrc до /etc/inputrc которые содержат общесистемные настройки, что делает их доступными для всех пользователей вашей системы (включая гостя).

Кодез:

# mappings to have up and down arrow searching through history:
"\e[A": history-search-backward
"\e[B": history-search-forward
# mappings to have left and right arrow go left and right: 
"\e[C": forward-char
"\e[D": backward-char

# mapping to have [Tab] and [Shift]+[Tab] to cycle through all the possible completions:
"\t": menu-complete
"\e[Z": menu-complete-backward

затем exit своего терминала (или удаленного терминала, как замазка) и откройте его снова ...

Примеры:

  1. Когда у вас есть 3 файла: file1 , file2 и file3 и вы набираете :

    e fTabTabTab

    это будет проходить через:

    e file1
    e file2
    e file3
    

    и когда вы хотите вернуться, просто нажмите Shift+Tab

  2. Когда вы печатаете:

    very-complicated-command with lots of command line parameters
    

    и в следующий раз, когда вам понадобится та же команда, вы просто наберете:

    very

    и он напечатает для вас:

    very-complicated-command with lots of command line parameters
    

Это сэкономит вам массу времени в bash! ;-)

Источник

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