如何在Vim中设置工作/当前目录?

Fre*_*red 101 vim text-editor

因此,当我想使用:e命令创建一个新文件时,我不想指定整个路径,只需要指定新文件名.可以吗?

fal*_*tro 132

如前所述,您可以使用autochdir,它将更改为您打开的文件的目录,另一个选项是

:cd mydirectory
Run Code Online (Sandbox Code Playgroud)

这将改变目录.这可以是绝对路径或相对路径,因此:cd ..将向上移动一级.或者您可以使用:cd %:h哪个也将更改为当前文件所在的目录,但不设置autochdir.

:cd
Run Code Online (Sandbox Code Playgroud)

将目录更改为您的主目录(或在Windows上,打印当前目录).

:cd -
Run Code Online (Sandbox Code Playgroud)

将目录更改为您访问的上一个目录.

  • 如果你使用多个窗口,你甚至可以使用:lcd来改变当前窗口的目录. (10认同)
  • @Michael`%`转换为当前文件名,包括路径,`:`添加修饰符,`h`是head,即直到最后一个路径分隔符的路径,即排除文件名本身. (9认同)
  • 我试图找出%:h的意思,任何帮助? (3认同)

Dav*_*rby 13

此外,如果您使用netrw文件浏览器浏览文件系统,则可以通过按c键设置当前目录.

  • 请注意,现在它已从“c”更改为“cd”。 (2认同)

Joh*_*lla 8

尝试添加set autochdir到您的.vimrc.如果你只想改变它一次,使用:cd(或:cd!强制它).


小智 5

除了netrw:c键设置当前目录外,还可以输入:

let g:netrw_keepdir= 0
Run Code Online (Sandbox Code Playgroud)

在你的.vimrc; 这意味着netrw将保持浏览目录与当前目录相同。