Если у меня в текущем каталоге есть файл с длинным именем, начинающимся с «build», я могу написать в консоли «build», нажмите Вкладка и автозаполнение введите полное имя файла для меня. Однако, если у меня есть несколько файлов, начинающихся с build
автозаполнение не работает - оно просто дает мне список файлов, начинающихся с build
.
Напротив, в Windows нажатие Вкладка клавиша сразу дает мне полное имя файла первого файла, и если я нажму Вкладка ключ второй раз дает мне второе имя файла.
Как автозаполнение имен файлов в Linux, как в Windows? PS: Это действительно ужасно, если у меня есть несколько длинных имен файлов, которые отличаются только расширением.
Что-то, что спасает мне жизнь, - это циклический цикл bash по возможностям вместо показа тупого списка.
Поскольку 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
ваш терминал (или удаленный терминал, например, putty) и откройте его снова ...
Когда у вас 3 файла: file1
, file2
и file3
и вы вводите:
e fВкладкаВкладкаВкладка
он будет последовательно проходить через:
e file1
e file2
e file3
и когда вы хотите вернуться назад, просто нажмите сдвиг+Вкладка
Когда вы набираете:
very-complicated-command with lots of command line parameters
и в следующий раз, когда вам понадобится та же команда, просто введите:
very↑
и он наберет для вас:
very-complicated-command with lots of command line parameters
Если они отличаются расширением, только автозаполнение будет автоматически заполняться, пока не будет несколько вариантов. Когда табуляция дает список имен, введите следующий символ и снова нажмите табуляцию, чтобы возобновить автозаполнение.
Поскольку я настроен на Linux, у меня действительно есть проблемы с тем, как работает автозаполнение Windows, думаю, это то, к чему вы привыкли;)
У вас есть 2 варианта:
1) Вы можете ввести еще одну букву и снова перейти на вкладку
2) Используйте оболочку с лучшими доработками. Я использую zsh, но у рыбы также потрясающие (несколько лучше) завершения
Для zsh проверьте о-о-о-о
РЕДАКТИРОВАТЬ: по крайней мере, в конфигурации zsh по умолчанию вам нужно дважды перейти на вкладку, прежде чем она начнет циклически перебирать параметры