我在VIM创建的命令用来打开当前文件在资源管理器中执行以下操作:command! E silent !start explorer /select,"%:p"
防止VIM使用%时:P
如果我用这个命令来尝试打开我的_vimrc文件(位于:C:\ Program Files文件(x86)\ Vim \ _vimrc)它打开了错误的目录。看起来,%:p在启动资源管理器时绕过“x86”的括号,导致它试图导航到C:\ Program Files \(x86 \)\ Vim \ _vimrc
我发现的部分很奇怪是,如果在vim中我输入以下命令::echo expand("%:p")
它打印路径而不会转义括号。
此外,如果我尝试硬编码命令中的路径正确打开。这导致我相信,当使用!时,使用vim解析%:p是一种奇怪的怪癖。命令。
有没有人知道一种方法来防止%:p在使用!时忽略括号。命令?我通读了%:p和:!的帮助,但无法找到任何解决此问题的方法。
这正是我一直在寻找。我曾想过在命令中使用expand(),但无法弄清楚如何使其工作。出于某种原因,我没有想到使用:execute。 – Pak 2012-02-08 14:39:28