Виберіть конкретний результат із пропозицій щодо завершення


10

Скажімо, у конкретному каталозі у мене є 3 файли: abc.txt, aww.txt, ant.txt

Якщо я роблю: cat a(і натисніть вкладку, щоб побачити параметри), термінал відобразить 3 назви файлів:abc.txt, aww.txt, ant.txt

Чи є спосіб вибору n-го результату, а не набору тексту, вказавши номер індексу в результатах, що відображаються терміналом?

щось на кшталт: cat a2отримати другий файл ( aww.txt)?


Не те, що мені відомо. У Zsh ви можете повторити всі можливі завершення, натискаючи TAB кілька разів (тобто, натиснувши TAB 4 рази, буде завершено ant.txt). Він також може бути налаштований так, щоб можна було повторити назад для кращої навігації. Це, очевидно, передбачає зміну оболонки на Zsh, хоча. Якщо ви вважаєте, що це досить хороша альтернатива, я можу написати відповідь на це.
kos

Відповіді:


11

Припустимо, що ви використовуєте bash, або додайте до свого ~/.bashrc:

bind '"\e[6~": menu-complete'
bind '"\e[5~": menu-complete-backward'

Або змінити параметри за замовчуванням для всіх програм, які використовують бібліотеку завершення читання рядків, а не просто bash, створіть файл, ~/.inputrcщо містить:

$include /etc/inputrc
"\e[6~": menu-complete
"\e[5~": menu-complete-backward

Тепер, відкривши новий термінал, ви можете натиснути:

  • TAB як звичайно, щоб побачити доступні доповнення.
  • Pg Dn щоб вибрати перше завершення або змінити на наступне.
  • Pg Up щоб вибрати останнє завершення або змінити попереднє.
  • Alt+ n Pg Dnдля вибору n-го завершення або переміщення вперед n завершень.

Отже, для вашого прикладу введіть Pg DnPg Dnабо Alt+, 2Pg Dnщоб отримати другий файл aww.txt.


Давайте зробимо вигляд, що ви використовуєте cdта їздите по каталогах. Яку клавішу ви натискаєте, щоб "вибрати" цей каталог і почати циклікувати вміст цього каталогу? Чи є інша річ, яку потрібно встановити / зв’язати?
Тоні

Якщо ви не хочете рухати руки занадто далеко від домашнього рядка клавіатури, це використовувати Ctrl + Alt + P замість PageUp та Ctrl + Alt + N замість PageDown, що можна зробити через bind '"\e\20": menu-complete-backward'і bind '"\e\16": menu-complete'.
Руслан
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.