Change working directory to currently opened file
How can I change my working directory to the path of the file that I currently have open?
Example开发者_运维问答
- current working directory is $HOME
- vim /tmp/test.log
- ???
- CWD is now /tmp/
That's actually a builtin. (here's the help link)
:set autochdir
Stick that in your .vimrc or whatnot (:e $MYVIMRC
). As mentioned here, sometimes plugins will have issues with that and you need to use something more complicated like
autocmd BufEnter * lcd %:p:h
You can just type
:cd %:h
since %:h
will be replaced by the head of the path to the current file.
To change to the directory of the currently open file (this sets the current directory for all windows in Vim):
:cd %:p:h
You can also change the directory only for the current window (each window has a local current directory that can be different from Vim's global current directory):
:lcd %:p:h
In these commands, % gives the name of the current file, %:p gives its full path, and %:p:h gives its directory (the "head" of the full path).
精彩评论