将vim的当前工作目录设置为当前项目根目录或当前文件所在的目录

5
我如何(自动地,基本上除了初始配置我不需要做任何事情)将vim的当前工作目录设置为项目根目录(如果有的话),或以autochdir方式设置为当前缓冲区目录?这是一个期望的工作路径示例:~/foo/bar/SOME_FILE -> 如果存在~/foo/.git/~/foo/.hg/目录,则为~/foo,否则为~/foo/bar/。我知道airblade/vim-rooter,但它并没有完全起作用(例如,它依赖于特定的文件扩展名,我不想要这种行为)。

set autochdir 会将你带到当前缓冲区的目录,不是吗? - Kent
2
现在vim-rooter默认情况下在所有缓冲区中运行,而无论文件扩展名如何。 - Andy Stewart
如果有人对方便的手动方式感兴趣,并已经使用了 vim-fugitive,他可以键入 :Gcd 来切换到 git 仓库的根目录。 - Hotschke
1个回答

阿里云服务器只需要99元/年,新老用户同享,点击查看详情
3
您可以使用vim-rooter插件,通过autocmd在所有文件上触发,例如:autocmd BufEnter * :Rooter。这可能是最简单的方法。

可以的,我之前尝试过在 README 中推荐的 autocmd rooter BufEnter * :Rooter 但是没起作用,不过直接去掉 rooter 就好了。谢谢。 - foo
1
“rooter” 指的是在之前创建的一个示例“rooter”文件类型脚本。 - romainl

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,