Когда в режиме вставки Vim, есть ли способ добавить автозаполнение пути к файлу?

Я пишу много скриптов оболочки, и мне постоянно приходится вводить файлы в пути. Мне интересно, знает ли кто-нибудь о том, как заставить Vim автозаполнять файловые пути в режиме вставки, так же, как когда вы находитесь в своей любимой оболочке, вы вставляете вкладку, чтобы завершить путь к каталогу или файлу.

Дополнительный кредит, если вы можете получить CTRL D функциональность оболочки в режим вставки Vim (т.е. увидеть, какие файлы/каталоги находятся в текущем пути).

Ответ 1

Для имя файла omni завершение, вы можете использовать:

Ctrl - X Ctrl - F

Ответ 2

Там ctrl - x ctrl - f

:he compl-filename

Ответ 3

Настроить на @CMS и @michael отличные ответы

При использовании последовательности команд ctrl + X ctrl + f он отобразит список файлов в текущем каталоге. Я провожу минутку, ища подходящую клавишу для перемещения вверх и вниз между разными именами файлов. Правильными клавишами являются Ctrl-n и Ctrl-p. Вы можете использовать практически любой другой ключ (например, Space) для выбора и продолжения ввода.

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

  • При необходимости введите часть каталога. Вы даже можете использовать ../../, например!
  • Нажмите ctrl + X ctrl + f и выберите первый элемент в дереве из списка.
  • Затем нажмите ctrl + f еще раз, когда правильный элемент подсвечивается, чтобы отобразить список следующего уровня вниз по структуре дерева каталогов.

Вы можете продолжать делать это, пока не найдете каталог/файл, который хотите вставить в документ.

Ответ 4

У меня возникла аналогичная проблема. Я нашел решение вроде:

    sudo apt-get install realpath

И в VIM naviagte для записи в обычном режиме:

    :r !realpath /path/to/file

Когда вы переходите в режим без вставки после! realpatch, вы можете использовать нашу кнопку.

VOILA! TAB снова работает!