vim 一键编译运行c++,c,java,python, shell

linux下

" F5编译和运行C程序,C++程序,Python程序,shell程序,F9 gdb调试
" 请注意,下述代码在windows下使用会报错,需要去掉./这两个字符

" <F5> 编译和运行C
map <F5> :call CompileRunGcc()<CR>
func! CompileRunGcc()
exec "w"
exec "!gcc % -o %<"
exec "! ./%<"
endfunc

"< F5> 编译和运行C++
map <F5> :call CompileRunGpp()<CR>
func! CompileRunGpp()
exec "w"
exec "!g++ % -o %<"
exec "! ./%<"
endfunc
 
" <F5> 运行python程序
map <F5> :w<cr>:!python %<cr>

" <F5> 运行shell程序
map <F5> :call CompileRunSH()<CR>
func! CompileRunSH()
exec "w"
exec "!chmod a+x %"
exec "!./%"
endfunc

"<F9>  gdb调试
map <F9> :call Debug()<CR>
func!  Debug()
exec "w"
exec "!gcc % -o %< -gstabs+"
exec "!gdb %<"
endfunc  


或者这样也可写:

windows下

map <F5> :call CompileRunGcc()<CR>
func! CompileRunGcc()
    exec "w"
    if &filetype == 'c'
        exec "!g++ % -o %<"
        exec "! %<"
    elseif &filetype == 'cpp'
        exec "!g++ % -o %<"
        exec "! %<"
    elseif &filetype == 'java' 
        exec "!javac %" 
        exec "!java %<"
    elseif &filetype == 'sh'
        :!%
    endif
endfunc
"C,C++µÄµ÷ÊÔ
map <F8> :call Rungdb()<CR>
func! Rungdb()
    exec "w"
    exec "!g++ % -g -o %<"
    exec "!gdb %<"
endfunc




版权声明:本文为tanhaiyuan原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。