将工作目录更改为当前打开的文件

时间:2010-10-02 22:39:05

标签: vim

如何将工作目录更改为我当前打开的文件的路径?

示例

  1. 当前工作目录是$ HOME
  2. vim /tmp/test.log
  3. ???
  4. CWD现在是/ tmp /

3 个答案:

答案 0 :(得分:26)

这实际上是内置的。 (这是help link

:set autochdir

坚持使用.vimrc或其他(:e $MYVIMRC)。正如前面提到的here,有时插件会有问题,你需要使用更复杂的东西,比如

autocmd BufEnter * lcd %:p:h

答案 1 :(得分:24)

您只需输入

即可
:cd %:h

因为%:h将被当前文件路径的头部替换。

答案 2 :(得分:2)

要切换到当前打开文件的目录(这会为Vim中的所有窗口设置当前目录):

:cd %:p:h

您也可以仅为当前窗口更改目录(每个窗口都有一个本地当前目录,该目录可以与Vim的全局当前目录不同):

:lcd %:p:h

在这些命令中,%表示当前文件的名称,%:p表示其完整路径,%:p:h表示其目录(完整路径的“头部”)。