Skip to content

Instantly share code, notes, and snippets.

@adolli
Created November 15, 2019 08:11
Show Gist options
  • Save adolli/360d090d85d61ad4f557457a4ce883f2 to your computer and use it in GitHub Desktop.
Save adolli/360d090d85d61ad4f557457a4ce883f2 to your computer and use it in GitHub Desktop.
.vimrc
set nocompatible " be iMproved, required
filetype off " required
" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
" alternatively, pass a path where Vundle should install plugins
" call vundle#begin('~/some/path/here')
"
" let Vundle manage Vundle, required
Plugin 'VundleVim/Vundle.vim'
" All of your Plugins must be added before the following line
call vundle#end() " required
" All system-wide defaults are set in $VIMRUNTIME/debian.vim (usually just
" /usr/share/vim/vimcurrent/debian.vim) and sourced by the call to :runtime
" you can find below. If you wish to change any of those settings, you should
" do it in this file (/etc/vim/vimrc), since debian.vim will be overwritten
" everytime an upgrade of the vim packages is performed. It is recommended to
" make changes after sourcing debian.vim since it alters the value of the
" 'compatible' option.
" This line should not be removed as it ensures that various options are
" properly set to work with the Vim-related packages available in Debian.
runtime! debian.vim
" Uncomment the next line to make Vim more Vi-compatible
" NOTE: debian.vim sets 'nocompatible'. Setting 'compatible' changes numerous
" options, so any other options should be set AFTER setting 'compatible'.
"set compatible
" Vim5 and later versions support syntax highlighting. Uncommenting the next
" line enables syntax highlighting by default.
if has("syntax")
syntax on
endif
" If using a dark background within the editing area and syntax highlighting
" turn on this option as well
"set background=dark
" Uncomment the following to have Vim jump to the last position when
" reopening a file
"if has("autocmd")
" au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif
"endif
" Uncomment the following to have Vim load indentation rules and plugins
" according to the detected filetype.
"if has("autocmd")
" filetype plugin indent on
"endif
" The following are commented out as they cause vim to behave a lot
" differently from regular Vi. They are highly recommended though.
"set showcmd " Show (partial) command in status line.
"set showmatch " Show matching brackets.
"set ignorecase " Do case insensitive matching
"set smartcase " Do smart case matching
"set incsearch " Incremental search
"set autowrite " Automatically save before commands like :next and :make
"set hidden " Hide buffers when they are abandoned
"set mouse=a " Enable mouse usage (all modes)
" Source a global configuration file if available
if filereadable("/etc/vim/vimrc.local")
source /etc/vim/vimrc.local
endif
"recover the position last edited
au BufReadPost * if line("'\"") > 0|if line("'\"") <= line("$")|exe("norm '\"")|else|exe "norm $"|endif|endif
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#rc()
" Bundle 'gmarik/vundle'
" Bundle 'davidhalter/jedi'
" Bundle 'marijnh/tern_for_vim'
" Bundle 'Valloric/YouCompleteMe'
" Bundle 'Valloric/ListToggle'
" Bundle 'scrooloose/syntastic'
:colorscheme default
:set number
:set tabstop=4
:set shiftwidth=4
:set expandtab
:set smarttab
:set hlsearch
:set incsearch
:set smartindent
:set foldenable
:set foldmethod=indent
:set enc=utf-8
:set fencs=utf-8,gbk,ucs-bom,cp936
:set fenc=utf-8
:set mouse=a
:set nopaste
set nocp
filetype plugin on
set undodir=~/.undodir
let Tlist_Show_One_File=1
let Tlist_Exit_OnlyWindow=1
function! UPDATE_TAGS()
let _f_ = expand("%:p")
let _cmd_ = '"ctags -a -f /dvr/tags --c++-kinds=+p --fields=+iaS --extra=+q " ' . '"' . _f_ . '"'
let _resp = system(_cmd_)
unlet _cmd_
unlet _f_
unlet _resp
endfunction
autocmd BufWrite *.cpp,*.h,*.c call UPDATE_TAGS()
func! CompileGcc()
exec "w"
let compilecmd="!gcc "
let compileflag=" -o %< "
exec compilecmd." % ".compileflag
endfunc
func! CompileGpp()
exec "w"
let compilecmd="!g++ -std=c++11 "
let compileflag=" -o %< "
exec compilecmd." % ".compileflag
endfunc
func! RunLua()
exec "!lua %"
endfunc
func! CompileCode()
exec "w"
if &filetype == "lua"
exec "call RunLua()"
else
exec "call CompileGpp()"
exec "! ./%<"
endif
endfunc
func! RunResult()
exec "w"
if search("mpi\.h") != 0
exec "!mpirun -np 4 ./%<"
elseif &filetype == "cpp"
exec "! ./%<"
elseif &filetype == "c"
exec "! ./%<"
elseif &filetype == "python"
exec "call RunPython"
elseif &filetype == "java"
exec "!java %<"
endif
endfunc
map <F5> :call CompileCode()<CR>
imap <F5> <ESC>:call CompileCode()<CR>
vmap <F5> <ESC>:call CompileCode()<CR>
map <F6> :call RunResult()<CR>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment