Vim下一键运行python代码

Posted enumx

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Vim下一键运行python代码相关的知识,希望对你有一定的参考价值。

根据系统将下面代码复制到vim配置文件vimrc中,即可在vim中一键【F5】运行.py文件。

Windows下的gvim

"一键运行代码
function CheckPythonSyntax() 
    let mp = &makeprg 
    let ef = &errorformat 
    let exeFile = expand("%:t") 
    setlocal makeprg=python -u  
    set efm=%C %.%#,%A  File "%f"\, line %l%.%#,%Z%[%^ ]%\@=%m 
    silent make %
    copen 
"   set efm 是设置quickfix的errorformat,以便vim识别  
"  makeprg 是vim内置的编译命令,可以通过更改来实现编译对应类型文件。具体可参考vim官方说明文件。
"  copen是打开quickfix,n用来设置quichfix窗口大小,如 cope5。在错误描述上回车,可以直接跳转到错误行。
    let &makeprg     = mp  
    let &errorformat = ef  
endfunction
"一个是普通模式下,一个是插入模式下
au filetype python map <f5>  :w <cr> :call CheckPythonSyntax() <cr>
au filetype python imap <f5> <esc> :w <cr> :call CheckPythonSyntax() <cr></cr></cr></esc></f5></cr></cr></f5>

Linux下的vim

"一键运行代码
map <F5> :call CompileRunGcc()<CR>
    func! CompileRunGcc()
        exec "w"
if &filetype == 'c'
            exec "!g++ % -o %<"
            exec "!time ./%<"
elseif &filetype == 'cpp'
            exec "!g++ % -o %<"
            exec "!time ./%<"
elseif &filetype == 'java'
            exec "!javac %"
            exec "!time java %<"
elseif &filetype == 'sh'
            :!time bash %
elseif &filetype == 'python'
            exec "!time python %"
elseif &filetype == 'html'
            exec "!firefox % &"
elseif &filetype == 'go'
    "        exec "!go build %<"
            exec "!time go run %"
elseif &filetype == 'mkd'
            exec "!~/.vim/markdown.pl % > %.html &"
            exec "!firefox %.html &"
endif
    endfunc

以上是关于Vim下一键运行python代码的主要内容,如果未能解决你的问题,请参考以下文章

从零开始配置vim(28)——代码的编译运行与调试

从零开始配置vim(28)——代码的编译运行与调试

vim代码片段插件ultisnips的使用

在 Python 多处理进程中运行较慢的 OpenCV 代码片段

latex在vim中的代码片段

从零开始配置vim(27)——代码片段