我正在尝试从 vim cd 到我项目的 git root 中,以便我的 Ctrl-P 正常工作。我经常在项目中工作,我不希望 Ctrl-P 查找 git root,所以我将它设置为仅查找最近的文件夹,其中包含 .gitignore
.
在命令行上,我可以执行类似 cd $(git rev-parse --show-toplevel)
的操作但是当我在 vim 中用 :!cd $(git rev-parse --show-toplevel)
尝试同样的事情时它 stash 了 vim,只显示一个空白输出。有人告诉我!在 vim 命令行中将允许我运行 bash 命令。我是不是错过了什么。
最佳答案
您可以使用反引号来运行 shell 命令并将输出通过管道传输到 Vim 命令中,例如 :cd
:
:cd %:h | cd `git rev-parse --show-toplevel`
这会将当前目录设置为当前文件的目录,然后运行
:cd
使用来自 git rev-parse --show-toplevel
的 git 目录命令。或者,如果您使用 fugitive.vim您可以使用
:Gcd
命令。如需更多帮助,请参阅:
:h :cd
:h backtick-expansion
:h :bar
关于git - vim cd'ing 到 git root,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38081927/