Перемещение каталогов с завершением имени файла vim в режиме вставки (Ctrl-X Ctrl-F)
Я пытаюсь использовать функцию vims compl-filename
(Ctrl-X Ctrl-F) для завершения путей в режиме INSERT
, но я не могу разобраться, как перемещаться в директории без (временно) окончания режима завершения:
Предположим, что я хочу завершить путь /etc/sysconfig/network-scripts/ifup
.
Я хотел бы сделать что-то вроде:
/eCtrl-XCtrl-F
/etc/
/etc/sysCtrl-F
/etc/sysconfig/
/etc/sysconfig/netCtrl-F
/etc/sysconfig/netconsoleCtrl-N
/etc/sysconfig/networkCtrl-N
/etc/sysconfig/network-scripts/
/etc/sysconfig/network-scripts/ifupCtrl-Y
/etc/sysconfig/network-scripts/ifup
Проблема заключается в том, что, как только я начинаю вводить * после соответствия пути (например, /etc/
), он завершает завершение имени файла. Я бы хотел, чтобы он оставался в завершении имени файла, так что я все еще могу использовать Ctrl-F, Ctrl-N и т.д. Так как он заканчивается завершением, я должен снова набрать Ctrl-X Ctrl-F, чтобы перезапустить его, и полезный Заполненное всплывающее меню исчезает тем временем.
Есть ли опция, которую я могу изменить, чтобы изменить это?
* Введя здесь, я имею в виду символы в 'isfname'
- конечно, ввод других символов (например, пробел или пунктуация) не должен продолжать завершение имени файла.
Ответы
Ответ 1
Я не уверен точно, что вы говорите, но вы можете просто нажать Ctrl-X Ctrl-F снова в каталоге, пока вы находитесь в меню завершения, чтобы развернуть его. Вам не нужно сначала закрывать меню. Я просто держу Ctrl нажатой и коснитесь xf
для перемещения по каталогу n
и p
для перемещения вверх и вниз и w
для возврата назад.
Если вы не используете :h i_CTRL-F
, вы можете переназначить его. Например,
inoremap <C-f> <C-x><C-f>
Ответ 2
Vim не выполняет авто -комплекс.
Для этого вам понадобится специальный плагин, например AutoComplPop или NeoComplCache
Ответ 3
Сначала используйте "i" перед использованием cntr + x + f. Я был в подобной ситуации.:)