When in Vim insert mode, is there a way to add fil

2019-03-08 00:17发布

I write a lot of shell scripts and I am constantly having to enter in filepaths. I am wondering if anyone knows of a way to get Vim to autocomplete filepaths while in insert mode, just like when you are in your favorite shell you tab to complete the path of the directory or file.

Extra credit if you can get CTRLD functionality of the shell into Vim insert mode (i.e. to see what files/directories are in the current path).

4条回答
干净又极端
2楼-- · 2019-03-08 00:34

I experienced similar problem. I found solution like:

    sudo apt-get install realpath

And in VIM naviagte to file with in normal mode type:

    :r !realpath /path/to/file

When you are navigating in non-insert mode after !realpatch you are able to use our key button.

VOILA! TAB is working again!

查看更多
Fickle 薄情
3楼-- · 2019-03-08 00:37

There's ctrl-x ctrl-f

:he compl-filename

查看更多
一夜七次
4楼-- · 2019-03-08 00:40

For file name omni completion, you can use:

Ctrl-XCtrl-F

查看更多
我命由我不由天
5楼-- · 2019-03-08 00:42

To build on @CMS and @michael excellent answers

When using ctrl+X ctrl+f command sequence it will display a list of files in the current directory. I spend a minute looking for the right key to move up and down between the different filenames. The correct keys are Ctrl-n and Ctrl-p. You can use almost any other key (like Space) to select and continue typing.

In addition, if you are not already at the file/directory you would like to insert, you can go down a file tree structure as follows:

  1. Optionally enter some part of the directory. You can even use ../../ for example!
  2. Press ctrl+X ctrl+f and select the first item in the tree from the list.
  3. Next press ctrl+f again while the correct item is highlighted to display a list of the next level down the directory tree structure.

You can keep doing this until you find the directory/file you would like to insert in the document.

查看更多
登录 后发表回答