Небольшой обходной путь: в Bash [Ctrl]+u
удаляет из начала командной строки до курсора и помещает его в память, [Ctrl]+y
"дергает" (вставляет) его обратно.
Таким образом, предполагая, что вы хотите запустить команду ls
и предоставить ее в качестве файлов аргументов из ./deep/below/directory/
, вы можете:
1) начните с ввода длинного имени dir, перед которым ставится пробел (это сохранит несколько нажатий клавиш позже): ./deep/below/directory/
(вы можете использовать [Tab]
мере необходимости), а затем [Ctrl]+u
, который удалит его и сохранит в памяти (примечание: вам нужно использовать «./» в начале имени каталога, если это относительный путь, в противном случае bash не будет автозаполнять имена каталогов в начале командной строки )
2) затем введите команду (и ее параметры) с пробелом: ex: ls -alFtr
3) используйте [Ctrl]+y
чтобы восстановить здесь длинное имя dir, а затем введите начало искомого имени файла и используйте [tab]
как вы обычно это делаете, для автозаполнения его имени (имя вырезанного каталога все еще находится в памяти, готов к повторному использованию)
4) повторите шаг 3) столько раз, сколько необходимо
5) [Enter]
Долго печатать, но гораздо быстрее использовать ^^, попробуйте!