Skip to content

Instantly share code, notes, and snippets.

@akliuxingyuan
Last active November 7, 2021 16:19
Show Gist options
  • Save akliuxingyuan/dcd866810991ac19ef32885d2b93f78b to your computer and use it in GitHub Desktop.
Save akliuxingyuan/dcd866810991ac19ef32885d2b93f78b to your computer and use it in GitHub Desktop.
Vim/NeoVim Code Runner
augroup code_runner
autocmd!
autocmd FileType go nnoremap <buffer> <F5> :let $FILE=expand('%:t')<CR>:sp<CR>:resize 10<CR> :term<CR>go run $FILE<CR>
autocmd FileType python nnoremap <buffer> <F5> :let $FILE=expand('%:t')<CR>:sp<CR>:resize 10<CR> :term<CR> python $FILE<CR>
autocmd FileType javascript nnoremap <buffer> <F5> :let $FILE=expand('%:t')<CR>:sp<CR>:resize 10<CR> :term<CR> node $FILE<CR>
autocmd FileType c nnoremap <buffer> <F5> :let $FILE=expand('%:t')<CR>:sp<CR>:resize 10<CR> :term<CR> gcc $FILE -g -o $FILE:r && ./$FILE:r<CR>
autocmd FileType cpp nnoremap <buffer> <F5> :let $FILE=expand('%:t')<CR>:sp<CR>:resize 10<CR> :term<CR> g++ $FILE -g -o $FILE:r && ./$FILE:r<CR>
autocmd FileType java nnoremap <buffer> <F5> :let $FILE=expand('%:t')<CR>:sp<CR>:resize 10<CR> :term<CR> java $FILE:t && javac -cp $FILE:p:h $FILE:t:r<CR>
autocmd FileType go nnoremap <buffer> <F6> :let $FILE=expand('%:t')<CR>:vsp<CR>:vertical resize 50<CR> :term<CR> go run $FILE<CR>
autocmd FileType python nnoremap <buffer> <F6> :let $FILE=expand('%:t')<CR>:vsp<CR>:vertical resize 50<CR> :term<CR> python $FILE<CR>
autocmd FileType javascript nnoremap <buffer> <F6> :let $FILE=expand('%:t')<CR>:vsp<CR>:vertical resize 50<CR> :term<CR> node $FILE<CR>
autocmd FileType c nnoremap <buffer> <F6> :let $FILE=expand('%:t')<CR>:vsp<CR>:vertical resize 50<CR> :term<CR> gcc $FILE -g -o $FILE:r && ./$FILE:r<CR>
autocmd FileType cpp nnoremap <buffer> <F6> :let $FILE=expand('%:t')<CR>:vsp<CR>:vertical resize 50<CR> :term<CR> g++ $FILE -g -o $FILE:r && ./$FILE:r<CR>
autocmd FileType java nnoremap <buffer> <F6> :let $FILE=expand('%:t')<CR>:vsp<CR>:resize 10<CR> :term<CR> java $FILE:t && javac -cp $FILE:p:h $FILE:t:r<CR>
augroup END
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment