vim - 在 Vim 和 Windows 7 中使用带空格的文件路径

标签 vim windows-7

这是我从上下文菜单 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/

相关文章:

python - Python 中 doxygen 样式文档字符串的 Vim 语法高亮显示

ubuntu - 安全地授予用户 sudo 访问权限

windows - 我的基于 Windows 的 32 位视频应用程序在 Win7/64 或 Vista/64 下无法运行?

filter - 在tasklist.exe中过滤不带通配符?

当行的第一个字符是尖锐的# 字符时,Vim 编辑器缩进问题

linux - vim 和 sudo 可执行文件的路径

c++ - WinAPI 的 Groupbox 字体问题

python - 如何使用 Python 去除焦点或最小化窗口?

linux - Vim tab 将文件拖放到光标下

windows-7 - 将 Windows 7 主机文件夹挂载到 VirtualBox guest Ubuntu 12.04 目录中