Vim - 运行绑定到F5的外部命令来运行Python脚本会导致错误

时间:2012-09-20 21:47:07

标签: python vim

我将以下内容添加到我的.vimrc文件中:

nnoremap <silent> <F5>!python %

当我按F5时,应该在Python中运行当前文件。相反,它会出现以下错误:

Trackback (most recent call last):
  File "<string>", line 1, in <module>
  File "<string>", line 349, in f_with_update
  File "<string>", line 358, in run_this file
NameError: global name 'send' is not defined
Press Enter or type command to continue

如果我每次运行VIM时手动重新映射F5,则此命令有效:

:map <silent> <F5>!python %

我不记得将任何内容映射到F5,而我的.vimrc文件不包含任何映射器。 知道发生了什么吗?

2 个答案:

答案 0 :(得分:6)

nnoremap <silent> <F5>!python %

<F5>!python地图映射到%。你想要的是这个:

nnoremap <silent> <F5> :!python %<CR>

如果要使用普通的cmd-line命令并且需要以:结束它以执行命令,则法线贴图需要<CR>。将右侧的所有内容都视为您自己键入的键。

您可能会发现this vim wiki page on python有用。

答案 1 :(得分:1)

<F5>可能映射到别处。请尝试:verbose nmap <F5>查看位置。