【问题标题】:Set vim current working directory to the current project root or to the directory of the current file将vim当前工作目录设置为当前项目根目录或当前文件所在目录
【发布时间】:2013-10-10 13:50:27
【问题描述】:

我如何(自动,基本上除了初始配置之外我不应该做任何事情)将 vim cwd 设置为项目根目录(如果有的话)或当前缓冲区目录(以autochdir 方式) ?

以下是预期 cwd 的文件路径示例:~/foo/bar/SOME_FILE -> ~/foo 如果存在 ~/foo/.git/ 目录或 ~/foo/.hg/ 目录,否则为 ~/foo/bar/

我知道airblade/vim-rooter,但它并不完全有效(例如,它依赖于特定的文件扩展名,我不希望这种行为)。

【问题讨论】:

  • set autochdir 会将您带到当前缓冲区的目录,不是吗?
  • vim-rooter 现在默认运行在所有缓冲区上,不管文件扩展名。
  • 如果有人对方便的手动方式感兴趣并且已经使用vim-fugitive,他可以输入:Gcd切换到git存储库的根目录。

标签: git vim mercurial vim-plugin


【解决方案1】:

您可以使用带有 autocmd 的 vim-rooter 插件来触发所有文件,例如 autocmd BufEnter * :Rooter。这可能是最简单的方法。

【讨论】:

  • 哦,这行得通,我尝试了README 中推荐的autocmd rooter BufEnter * :Rooter,但没有奏效,但放弃rooter 效果很好。谢谢。
  • rooter 引用了一个示例rooter 前一步创建的文件类型脚本。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-22
相关资源
最近更新 更多