4

这是我从上下文菜单 Windows Explorer 复制的路径:"C:\Vim Python\getTime.py"我正在尝试使用 Derek Wyatt 的博客中所见的 Vim 表达式寄存器将给定 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来开怀大笑。我所做的搜索将我带到了几个 不同的 地方,但没有一个能解决我的问题,或者至少,我没有正确阅读它们。


对我来说正确的解决方案是:

imap <c-j>d <c-r>=system(shellescape('C:\Vim Python\getTime.py'))<cr>

感谢这里的Chiel

4

1 回答 1

4

使用 vim 的 shellescape 功能。输入:help shellescapevim 以获取特定信息。

因此,将您的线路更改为imap <c-j>d <c-r>=system(shellescape("C:\Vim Python\getTime.py"))<cr>应该可以完成这项工作。

于 2012-10-02T20:44:11.430 回答