如何创建一个映射来从Vim执行python代码?

时间:2016-10-12 10:56:21

标签: python vim compilation shortcut

这是我从Vim执行python代码所遵循的步骤:

  1. 我使用Vim
  2. 编写了一个python源代码
  3. 我是通过:w !python
  4. 执行的

    并且我想要一种更短的方式来执行代码,所以我在互联网上搜索了一个快捷键,例如这张地图:

    autocmd FileType python nnoremap <buffer> <F9> :exec '!python' shellescape(@%, 1)<cr>
    

    并将其添加到_vimrc文件中。但是当我按 F9 时,会出现以下错误消息:

    enter image description here

    以下是上图中的相关文字:

    python: can't open file ''D:/py2.py'': [Errno 22] Invalid argument
    shell returned 2.
    

    我已经搜索过互联网,但我没有任何结果。

    我在Windows 10中使用gVim 8.0,如果有帮助的话。

1 个答案:

答案 0 :(得分:2)

通过vim与命令行交互,首选的方式是感叹。
而不是:

:exec '!python' shellescape(@%, 1)<cr>

尝试轻松的方式:

:update<bar>!python %<CR>

这里的代码如下:
update保存文件(如果已修改首选)或也可以使用w
<bar>管道命令 !python %会将文件作为python filename运行。

所以基本上,把它放在你的.vimrc文件中,然后就可以了:

autocmd FileType python nnoremap <buffer> <F9> :update<bar>!python %<CR>