Перемещение каталогов с завершением имени файла 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. Я был в подобной ситуации.:)