"================================================================================= " " Following code contains the commands on how to run the currently open code. " The default mapping is set to F5 like most code editors out there. " 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 == '' " exec '! %' " " 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 :call CompileRun() imap :call CompileRun() vmap :call CompileRun() 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