如何映射F4在vim上运行一个无名文件?

时间:2014-01-05 07:18:42

标签: python vim

我在_vimrc中添加了一行。

map <F4> :w<cr>:!python %<cr>

如果文件包含名称,则可以运行,如果文件是新编辑的,不包含名称,当我按 F4 时,它无法运行。
我想让我的配置更加智能,并且不想保存它,给它命名并按 F4 ,我如何修改map <F4> :w<cr>:!python %<cr>使无名python文件到跑?

1 个答案:

答案 0 :(得分:3)

如何使用:w !{cmd}? (这不需要您在运行命令之前保存)。

:map <F4> :w !python<cr>

根据vim help :w_c

  

:[range]w[rite] [++opt] !{cmd}

      Execute {cmd} with [range] lines as standard input
      (note the space in front of the '!').  {cmd} is
      executed like with ":!{cmd}", any '!' is replaced with
      the previous command |:!|.

注意如果Python程序本身使用文件名,则无法按预期工作。 (例如,__file__将产生'<stdin>'