Назад | Перейти на главную страницу

Как автозаполнить длинные имена файлов в терминале

Если у меня в текущем каталоге есть файл с длинным именем, начинающимся с «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) и откройте его снова ...

Примеры:

  1. Когда у вас 3 файла: file1, file2 и file3 и вы вводите:

    e fВкладкаВкладкаВкладка

    он будет последовательно проходить через:

    e file1
    e file2
    e file3
    

    и когда вы хотите вернуться назад, просто нажмите сдвиг+Вкладка

  2. Когда вы набираете:

    very-complicated-command with lots of command line parameters
    

    и в следующий раз, когда вам понадобится та же команда, просто введите:

    very

    и он наберет для вас:

    very-complicated-command with lots of command line parameters
    

Это сэкономит вам массу времени в bash! ;-)

Источник

Если они отличаются расширением, только автозаполнение будет автоматически заполняться, пока не будет несколько вариантов. Когда табуляция дает список имен, введите следующий символ и снова нажмите табуляцию, чтобы возобновить автозаполнение.

Поскольку я настроен на Linux, у меня действительно есть проблемы с тем, как работает автозаполнение Windows, думаю, это то, к чему вы привыкли;)

У вас есть 2 варианта:

1) Вы можете ввести еще одну букву и снова перейти на вкладку

2) Используйте оболочку с лучшими доработками. Я использую zsh, но у рыбы также потрясающие (несколько лучше) завершения

Для zsh проверьте о-о-о-о

РЕДАКТИРОВАТЬ: по крайней мере, в конфигурации zsh по умолчанию вам нужно дважды перейти на вкладку, прежде чем она начнет циклически перебирать параметры