鉴于以下
- 我想写一个文件
- 切换到文件所在目录
- 执行 bash 命令
- 切换到上一个目录
我做了以下命令
command Asc execute ":w | :cd %:p:h | !ansible-playbook --syntax-check % "
到目前为止,这似乎有效。但是,更改回上一个目录:cd -
似乎不起作用。
command Asc execute ":w | :cd %:p:h | !ansible-playbook --syntax-check % | :cd -"
我的猜测是,管道和后面的东西是由 bash 而不是 vim 解释的。
如何克服这个问题?还是根本没有办法?
PS:我知道 vim 的 autochdir 选项
来自
:h :!
:但是您可以执行以下操作:
这消除了
cd
后退的需要,因为只有执行的 shell 会更改目录。