Термінал Ubuntu, як я можу "вкласти" (автозаповнювати) ім'я файлу вікно-cmd-стиль (параметри циклу)?


13

В основному, я хочу змінити термінал ubuntu функціонально, щоб я міг перемикати всі параметри, коли я вкладку (на рядку cmd), а не перелічити параметри, як це за замовчуванням?

Я використовую bash, ubuntu 9.04. Я бачу деякі можливості в ".bashrc", але там повинен бути хтось, хто вже вирішив цю проблему?


ви знаєте, що якщо двічі натиснути Tab, ви отримаєте список усіх можливих завершень, чи не так?
vava

@vava: Ви описуєте команду bash-можливих завершень, яка зазвичай є поведінкою за замовчуванням. Питання полягає в тому, як замінити цю поведінку поведінкою, наданою командою bash's-Complete.
las3rjock

@ las3rjock, я знаю, тому я залишив коментар, а не відповідь. Цілком можливо, що ОП не знає про цю особливість, оскільки це набагато краще, ніж велосипедний режим.
vava

@vava: ОП описує можливу поведінку, яка завершує, і заявляє, що хоче замінити її на поведінку, що завершується меню.
las3rjock

@vava я знаю, як працює термінал, і я хочу змінити цю прикрою поведінку.
Даніель Т. Магнуссон

Відповіді:


16

Відповідно до коментарів на цій сторінці , розміщуючи

bind '"\t":menu-complete'

у вашому випадку .bashrcслід включити циклічне заповнення вкладки.

Див розділ 8.4.6 в Bash Reference Manual для отримання додаткової інформації.


Дякую, дуже приємна знахідка! - Просто люблю коментар на цій сторінці "Мені знадобилися роки, щоб дізнатися, що баш підтримує циклічне завершення вкладки" - так, виграє суперрусер!
Даніель Т. Магнуссон

Спасибі! Як тільки це буде реалізовано, чи існує комбінація клавіш перебору, щоб миттєво використовувати старий спосіб? Наприклад, Shift + TAB.
Туз

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

Це допоможе вам заощадити тону часу на баш! ;-)

Джерело

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.