Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vim和Python配置_Python_Vim - Fatal编程技术网

Vim和Python配置

Vim和Python配置,python,vim,Python,Vim,我想使用Gvim编译和运行Python脚本 我已在我的\u vimrc中配置了此项: map <F5>:!D:\Python27\python.exe% map:!D:\Python27\python.exe% 但是,当我完成Python代码并输入:F5enter时,我收到错误: E448额外尾部字符 如何解决这个问题?您的第一个问题是,您通常不编译python,而是运行它 其次,我怀疑您在配置中的%之前需要一个空格,假设它被文件名替换。您缺少两个重要的空格: 首先,必须有空格

我想使用Gvim编译和运行Python脚本

我已在我的
\u vimrc
中配置了此项:

map <F5>:!D:\Python27\python.exe%
map:!D:\Python27\python.exe%
但是,当我完成Python代码并输入:F5enter时,我收到错误:

E448额外尾部字符


如何解决这个问题?

您的第一个问题是,您通常不编译python,而是运行它


其次,我怀疑您在配置中的%之前需要一个空格,假设它被文件名替换。

您缺少两个重要的空格:

  • 首先,必须有空格将
    {lhs}
    在您的例子中)与
    {rhs}
    (映射被展开的部分)分隔开来
  • 其次,Vim将扩展到文件名的
    %
    必须与Python可执行文件路径分开,否则您将得到类似于
    Python.exeFoo.py
    ,操作系统不理解这一点
此外:

  • 您应该为映射选择适当的模式;这些模式通常不是由:F5Enter调用的(对于这些模式,您需要
    :cmap
    ,并省略
    ),而只是从正常模式按F5(
    :nmap
  • ;它使映射不受重新映射和递归的影响
:nnoremap:!D:\Python27\python.exe%

您可能会发现它很有用,而不是自己编写。好吧,当您运行python脚本时,它首先被编译成字节码。事实上,有一个
编译
内置程序执行此步骤,而
评估
/
执行
首先编译代码,然后执行它。
:nnoremap <F5> :!D:\Python27\python.exe %<CR>