这是我从上下文菜单Windows资源管理器中复制的路径:"C:\Vim Python\getTime.py"
我正在尝试使用Derek Wyatt的blog中的Vim Expression Register来将给定Python脚本的输出插入到一个缓冲区。
我已经尝试了所有可以考虑斜杠和引号的组合来获取以下命令来绑定<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>
答案 0 :(得分:4)
使用vim的shellescape功能。
在vim中输入:help shellescape
以获取具体信息。
因此,将您的行更改为imap <c-j>d <c-r>=system(shellescape("C:\Vim Python\getTime.py"))<cr>
应该可以胜任。