这是我从上下文菜单 Windows 资源管理器复制的路径:"C:\Vim Python\getTime.py"
,我正在尝试使用 Vim 表达式寄存器,如 Derek Wyatt 的 blog 中所示,将给定 Python 脚本的输出插入缓冲区。
我已经尝试了所有我能想到的斜杠和引号的组合,以获取以下命令来绑定(bind) <c-j>d
以插入脚本的输出,如下所示:imap <c-j>d <c-r>=system("C:\Vim Python\getTime.py")<cr>
但如果不插入以下错误,我似乎无法让它工作:'C:\Vim' is not recognized as an internal or external command,
operable program or batch file.
为了使用带有空格的文件路径,我需要更改什么?
如果您想看看我尝试过的内容,请查看 pastebin 以获得好笑。我所做的搜索将我引向了 few different places ,但它们都没有解决我的问题,或者至少,我没有正确阅读它们。
对我来说正确的解决方案是:
imap <c-j>d <c-r>=system(shellescape('C:\Vim Python\getTime.py'))<cr>
感谢 Chiel here
最佳答案
使用 vim 的 shellescape 功能。
输入 :help shellescape
在 vim 中获取特定信息。
因此,将您的线路更改为 imap <c-j>d <c-r>=system(shellescape("C:\Vim Python\getTime.py"))<cr>
应该做的工作。
关于vim - 在 Vim 和 Windows 7 中使用带空格的文件路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12697676/