繁体   English   中英

vim与python:如何映射:silent make | 打开到vimrc中的功能键

[英]vim with python: how to map :silent make | copen to function key in vimrc

就是这样,我在vimrc中拥有的功能是:

set makeprg=python\ %
nmap <F5> :silent make | copen

它不起作用,它回显:silent make,并且不运行或报告脚本错误。 但是如果我只输入Vim

:silent make | copen

我得到了想要的结果。

我在Windows Vista上使用GVim 7.4

您正在执行的python代码不掉毛。 一个快速的谷歌显示pylintPython检查语法和运行脚本 如果您想使用更重的方法,也可以使用synstastic.vim

您的映射存在以下问题:

  • 管道, | ,无法逃脱。 使用<bar>代替。
  • 通常,除非使用<Plug>映射,否则应使用*noremap
  • 您需要通过在末尾添加<cr>来执行命令
  • (可选)在:make之后使用:autocmd执行:cwindow / :copen 例如autocmd QuickFixCmdPost * cwindow
  • (可选)为此操作创建新命令: command! -nargs=* Smake silent make <args> command! -nargs=* Smake silent make <args> 现在您可以执行:Smake而不是:make

您的新映射:

nnoremap <F5> :silent make <bar> copen<cr>

有关更多帮助,请参见:

:h :map
:h <bar>
:h :au
:h QuickFixCmdPost
:h :cwindow
:h :cope
:h :compiler
:h write-compiler-plugin

我认为这是因为map命令不接受将竖线字符作为命令分隔符并将其作为输入,因此您可以将其替换为<bar> ,例如:

:nmap <F5> :silent make <bar> copen<CR>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM