Выберите конкретный результат из предложений завершения
Допустим, у меня есть 3 файла в определенном каталоге: abc.txt, aww.txt, ant.txt
Если я сделаю: cat a
(и нажмите вкладку, чтобы увидеть опции) терминал отобразит 3 имени файла: abc.txt, aww.txt, ant.txt
Есть ли способ выбрать n-ый результат, а не набирать его, указав номер индекса в результатах, отображаемых терминалом?
что-то вроде: cat a2
получить второй файл (aww.txt
)?
1 ответ
Предполагая, что вы используете Bash, либо добавьте следующее к вашему ~/.bashrc
:
bind '"\e[6~": menu-complete'
bind '"\e[5~": menu-complete-backward'
Или измените настройки по умолчанию для всех программ, которые используют библиотеку завершения readline, а не только bash, создайте файл ~/.inputrc
содержащий:
$include /etc/inputrc
"\e[6~": menu-complete
"\e[5~": menu-complete-backward
Теперь, когда вы открываете новый терминал, вы можете нажать:
- Нажмите как обычно, чтобы увидеть доступные дополнения.
- Нажмите Dn, чтобы выбрать первое завершение или перейти к следующему.
- Pg Up, чтобы выбрать последнее завершение или перейти к предыдущему.
- Alt+ n Pg Dn, чтобы выбрать n-е завершение или продвинуться вперед на n завершений.
Поэтому для вашего примера наберите Pg Dn,Pg Dn или Alt+2Pg Dn, чтобы получить второй файл. aww.txt
,