В ударе, как я могу выбрать опцию из списка, отображенного ВКЛАДКОЙ?
Напр. Предположим vim <TAB>
показывает различные возможности txt1 txt2 txt3
. Как я могу выбрать первый (txt1
)?
Править:
позвольте мне быть более точным дальнейшей разработкой предыдущего примера:
Предположим, что текущая папка содержит только названный файл txt1
. Если я пишу vim t<TAB>
, автозавершение правильно работает, т.е. оно отображается vim txt1
.
Однако, если папка содержит три файла txt1
, txt2
, txt3
, команда vim t<TAB>
дисплеи только txt1 txt2 txt3
, без любого автозавершения.
Как я могу заставить автозавершение происходить даже в последнем случае?
Bash работает следующий путь:
$ touch file1.txt file2.txt file3.txt video1.avi video2.avi
$ ls
file1.txt file2.txt file3.txt video1.avi video2.avi
Если Вы вводите первую букву f
и хит СНАБЖАЕТ ВКЛАДКАМИ в первый раз, когда он автоматически заполняет его к file
. При ударе ВКЛАДКИ во второй раз, когда она показывает все доступные варианты, запускающиеся с file
. Существует три файла, запускающиеся с file
префикс и bash
не знает, кого из них Вы хотите.
$ vim.tiny file # the second tab
file1.txt file2.txt file3.txt
Затем если Вы вводите следующий символ и нет никаких других файлов, запускающихся с него, он автоматически заполняет его полностью:
$ vim.tiny file
1# 1 added to 'file' word
$ vim.tiny file1
$ vim.tiny file1.txt # result
Если Вы хотите, чтобы это работало так же, как это находится в zsh
, Вы могли выполнить следующие команды:
bind 'set show-all-if-ambiguous on'
bind 'TAB:menu-complete'
Это будет вести себя следующий путь:
$ vim.tiny f
Результат:
file1.txt file2.txt file3.txt
$ vim.tiny file1.txt
$ vim.tiny file2.txt