Есть ли способ получить Vim в командном режиме, чтобы завершить слова из текущего файла? Скажи, у меня есть этот файл:
one
two
three
once
и я вхожу в режим командной строки
:myruncommand o|
где |
обозначает позицию курсора. Как сделать Vim завершенным one
или once
при нажатии Tab?
vim
tab-completion
Николай Колев
источник
источник
Ответы:
Изначально это невозможно, но на поиск этого скрипта и этого на vim.org ушло около одной минуты .
источник
jamesc в ответ часто является самым удобным, но, когда вы знаете заранее , что вы хотите использовать автозаполнение для команды или поиска строки, или другие функции , доступные только в буфере, вот еще один способ , чтобы добраться до соответствующих буферов :
myruncommand o
По сути, q :делает то же самое, что и : Ctrl+ F: позволяет вводить команды, как если бы вы вводили текст в буфер. Точно так же q /и / Ctrl+ Fоба позволяют вводить строки поиска в буфере.
источник
Ctrl+F
, так что ваш ответ мне тоже помог.Хотя это правда, что это не может быть завершено изначально с помощью «Tab», есть возможность:
Ввод нужной команды в режиме командной строки. Для приведенного выше примера это было:
Теперь нажмите,
Ctrl-F
чтобы войти в командное окно.A
перемещение до конца строки и войдите в режим вставки.Ctrl-N
/,Ctrl-P
чтобы открыть завершение ключевого слова и выберите нужный вариант - в этом примере обаone
иonce
должны быть доступны, поскольку они находятся в открытом буфере.Я добавил этот ответ, потому что мой поиск «vim complete word in command mode» привел меня сюда, и это кажется работоспособным решением, даже если он не использует клавишу «tab».
Это работает для меня в Vim 7.4
источник
Ctrl+F
удобнее во многих случаях. superuser.com/a/1016058/219388Завершение доступно, если вы войдете в историю командного режима. Очень удобно для изменения или повторения ранее использованных команд.
Нажмите q: в обычном режиме, чтобы войти в панель истории команд.
См. Http://vim.wikia.com/wiki/Using_command-line_history для получения дополнительной информации.
источник
Ctrl-f
открывается история командной строки, и если вы хотите закрыть это окно, вы можете набратьCtrl-w q