When in Vim insert mode, is there a way to add filepath autocompletion?

Viewed 35598

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).

5 Answers

For file name omni completion, you can use:

Ctrl-XCtrl-F

There's ctrl-x ctrl-f

:he compl-filename

edit: excuse me, I landed here from a google result for "vim insert file absolute path"

(first leave insert mode with esc or ctrl+c) ;)

from normal mode, on a blank line

!!readlink -f #

this will run a command, and substitute # with the current file name, readlink will resolve a canonical name, and !! will write the output where the cursor was

note, this needs to be done on a blank line, as the content of the line will be fed as stdin to the subcommand.

Related