Терминал Ubuntu, Как мне «табулировать» (автозаполнение) имя файла в стиле окна-cmd (параметры цикла)?

13

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

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

Даниэль Т. Магнуссон
источник
Вы знаете, что если дважды нажать клавишу Tab, вы получите список всех возможных вариантов завершения, не так ли?
Вава
@vava: Вы описываете команду возможных завершений bash, которая обычно является поведением по умолчанию. Вопрос в том, как заменить это поведение поведением, предоставляемым командой bash menu-complete.
las3rjock
@ las3rjock, я знаю, поэтому я оставил комментарий, а не ответ. Вполне возможно, что OP не знает об этой функции, поскольку она намного лучше, чем режим езды на велосипеде.
Вава
@vava: ОП описывает поведение возможных завершений и заявляет, что хочет заменить его поведением завершения меню.
las3rjock
@ Vava Я знаю, как работает терминал, и я хочу изменить это очень раздражающее поведение.
Дэниел Т. Магнуссон

Ответы:

16

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

bind '"\t":menu-complete'

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

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

las3rjock
источник
Спасибо, очень приятно найти! - Мне очень нравится комментарий на этой странице: «Мне потребовались годы, чтобы узнать, что bash поддерживает циклическое завершение табуляции» - ха, суперпользователь побеждает!
Дэниел Т. Магнуссон
Благодарность! Как только это будет реализовано, существует ли комбинация переопределенных клавиш для мгновенного использования старого способа? Shift + TAB, например.
Ace
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! ;-)

Источник

Fabby
источник