mirror of
https://github.com/amix/vimrc
synced 2025-02-28 14:12:51 +08:00
56 lines
1.9 KiB
VimL
56 lines
1.9 KiB
VimL
"=================================================================================
|
|
"
|
|
" Following file contains the commands on how to run the currently open code.
|
|
" The default mapping is set to F5 like most code editors.
|
|
" Change it as you feel comfortable with, keeping in mind that it does not
|
|
" clash with any other keymapping.
|
|
"
|
|
" NOTE: Compilers for different systems may differ. For example, in the case
|
|
" of C and C++, we have assumed it to be gcc and g++ respectively, but it may
|
|
" not be the same. It is suggested to check first if the compilers are installed
|
|
" before running the code, or maybe even switch to a different compiler.
|
|
"
|
|
" NOTE: Adding support for more programming languages
|
|
"
|
|
" Just add another elseif block before the 'endif' statement in the same
|
|
" way it is done in each case. Take care to add tabbed spaces after each
|
|
" elseif block (similar to python). For example:
|
|
"
|
|
" elseif &filetype == '<your_file_extension>'
|
|
" exec '!<your_compiler> %'
|
|
"
|
|
" NOTE: The '%' sign indicates the name of the currently open file with extension.
|
|
" The time command displays the time taken for execution. Remove the
|
|
" time command if you dont want the system to display the time
|
|
"
|
|
"=================================================================================
|
|
|
|
map <F5> :call CompileRun()<CR>
|
|
imap <F5> <Esc>:call CompileRun()<CR>
|
|
vmap <F5> <Esc>:call CompileRun()<CR>
|
|
|
|
func! CompileRun()
|
|
exec "w"
|
|
if &filetype == 'c'
|
|
exec "!gcc % -o %<"
|
|
exec "!time ./%<"
|
|
elseif &filetype == 'cpp'
|
|
exec "!g++ % -o %<"
|
|
exec "!time ./%<"
|
|
elseif &filetype == 'java'
|
|
exec "!javac %"
|
|
exec "!time java %"
|
|
elseif &filetype == 'sh'
|
|
exec "!time bash %"
|
|
elseif &filetype == 'python'
|
|
exec "!time python %"
|
|
elseif &filetype == 'html'
|
|
exec "!google-chrome % &"
|
|
elseif &filetype == 'go'
|
|
exec "!go build %<"
|
|
exec "!time go run %"
|
|
elseif &filetype == 'matlab'
|
|
exec "!time octave %"
|
|
endif
|
|
endfunc
|