Last active
May 15, 2018 11:04
-
-
Save yun-cloud/20fc5567cbde5340fd3b2f38543c5fe2 to your computer and use it in GitHub Desktop.
.vimrc on compiler server
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
if empty(glob('~/.vim/autoload//plug.vim')) | |
silent !curl -fLo ~/.vim/autoload//plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim | |
endif | |
call plug#begin('~/.vim/plugged') | |
" Misc | |
Plug 'tpope/vim-sensible' | |
Plug 'jiangmiao/auto-pairs' | |
"Plug 'mhinz/vim-startify' | |
Plug 'tpope/vim-surround' | |
Plug 'vim-airline/vim-airline' | |
Plug 'editorconfig/editorconfig-vim' | |
" Utility | |
Plug 'ctrlpvim/ctrlp.vim' | |
Plug 'junegunn/vim-easy-align' | |
Plug 'scrooloose/nerdtree' | |
Plug 'tpope/vim-commentary' | |
Plug 'easymotion/vim-easymotion' | |
Plug 'mattn/gist-vim' | Plug 'mattn/webapi-vim' | |
" fzf | |
Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' } | |
Plug 'junegunn/fzf.vim' | |
" Completion | |
" Plug 'ervandew/supertab' | |
" Plug 'vim-scripts/AutoComplPop' | |
" Plug 'ajh17/VimCompleteMe' | |
" Plug 'vim-scripts/OmniCppComplete' | |
Plug 'lifepillar/vim-mucomplete' | |
" Colorscheme | |
Plug 'morhetz/gruvbox' | |
" Highlight | |
Plug 'octol/vim-cpp-enhanced-highlight' | |
" Git | |
" has some weird bug | |
" Plug 'airblade/vim-gitgutter' | |
" Filetype | |
Plug 'dag/vim-fish' | |
call plug#end() | |
set nocompatible | |
set number | |
"set relativenumber | |
set showmatch | |
set smartcase | |
set ignorecase | |
set splitbelow | |
set cursorline | |
set incsearch | |
set hlsearch | |
set laststatus=2 | |
set statusline="[%n]\ %<%F\ \ \ [%M%R%H%W%Y][%{&ff}]\ \ %=\ line:%l/%L\ col:%c\ \ \ %p%%" | |
set list | |
set listchars=tab:»\ ,trail:∙,precedes:<,extends:> | |
" set listchars=tab:»∙,trail:∙,precedes:<,extends:> | |
set wildignore+=*/tmp/*,*.so,*.swp,*.zip | |
set background=dark | |
" see vim-mucomplete also | |
set completeopt-=preview | |
set autoindent | |
"set smartindent | |
set smarttab | |
set expandtab | |
set shiftwidth=4 | |
set softtabstop=4 | |
set tabstop=4 | |
au FileType sh setlocal expandtab sw=2 ts=2 sts=2 | |
let mapleader = "\<SPACE>" | |
nnoremap <Space> <Nop> | |
inoremap jk <ESC> | |
inoremap kj <ESC> | |
inoremap j; <ESC>: | |
nnoremap ; : | |
nnoremap : ; | |
xnoremap ; : | |
xnoremap : ; | |
nnoremap j gj | |
nnoremap k gk | |
nnoremap n nzz | |
nnoremap N Nzz | |
nnoremap <silent>0 :call ToggleMovement('^', '0')<CR> | |
function! ToggleMovement(firstOp, thenOp) | |
let pos = getpos('.') | |
execute "normal! " . a:firstOp | |
if pos == getpos('.') | |
execute "normal! " . a:thenOp | |
endif | |
endfunction | |
" config file | |
nnoremap <Leader>fed :e $MYVIMRC<CR> | |
nnoremap <Leader>feu :source $MYVIMRC<CR>:PlugUpdate<CR> | |
nnoremap <Leader>feR :source $MYVIMRC<CR> | |
nnoremap <Leader><TAB> <C-^> | |
nnoremap <Leader>wh <C-W>h | |
nnoremap <Leader>wj <C-W>j | |
nnoremap <Leader>wk <C-W>k | |
nnoremap <Leader>wl <C-W>l | |
nnoremap <Leader>ww <C-W><C-W> | |
nnoremap <Leader>ws <C-W>s | |
nnoremap <Leader>wv <C-W>v | |
nnoremap <Leader>w= <C-W>= | |
nnoremap <Leader>wm :only<CR> | |
nnoremap <Leader>wc :q<CR> | |
nnoremap <silent> <Leader>j= mogg=G`ozz | |
nnoremap <silent> <Leader>ja :A<CR> | |
nnoremap <silent> <Leader>rtw :%s/\s\+$//e<CR>:noh<CR>'' | |
nnoremap <silent> <Leader>sc :noh<CR> | |
" ## [vim-easy-align] | |
xmap ga <Plug>(EasyAlign) | |
nmap ga <Plug>(EasyAlign) | |
" ## [nerd-tree] | |
let g:NERDTreeIgnore=[ | |
\ '\~$', | |
\ '*.o' | |
\ ] | |
nnoremap <F5> :NERDTreeToggle<CR> | |
" ## [ctrlp.vim] | |
let g:ctrlp_custom_ignore = { | |
\ 'dir': '\v[\/]\.(git)$', | |
\ 'file': '\v\.(exe|so|dll)$' | |
\ } | |
let g:ctrlp_max_files = 2047 | |
let g:ctrlp_max_depth = 15 | |
" Multiple VCS's: | |
let g:ctrlp_user_command = { | |
\ 'types': { | |
\ 1: ['.git', 'cd %s && git ls-files'], | |
\ 2: ['.hg', 'hg --cwd %s locate -I .'], | |
\ }, | |
\ 'fallback': 'find %s -type f' | |
\ } | |
" nnoremap <Leader>ff :CtrlP<CR> | |
nnoremap <Leader>fr :CtrlPMRU<CR> | |
nnoremap <Leader>pf :CtrlPRoot<CR> | |
" nnoremap <Leader>bb :CtrlPBuffer<CR> | |
" ## [vim-commentary] | |
nmap <Leader>; <Plug>Commentary | |
omap <Leader>; <Plug>Commentary | |
vmap <Leader>; <Plug>Commentary | |
nmap <Leader>;; <Plug>CommentaryLine | |
" ## [vim-cpp-enhanced-highlight] | |
let g:cpp_class_scope_highlight = 1 | |
let g:cpp_member_variable_highlight = 1 | |
let g:cpp_class_decl_highlight = 1 | |
" let g:cpp_member_variable_highlight = 1 | |
let g:cpp_class_decl_highlight = 1 | |
" ## [fzf.vim] | |
nnoremap <Leader>ff :Files<CR> | |
nnoremap <Leader>bb :Buffers<CR> | |
nnoremap <Leader>l :BLines<CR> | |
nnoremap <Leader>h :Helptags<CR> | |
nnoremap <Leader>t :Tags<CR> | |
" ## [vim-gitgutter] | |
let g:gitgutter_map_keys = 0 | |
" hunk or change | |
nmap <Leader>ghs <Plug>GitGutterStageHunk | |
nmap <Leader>ghu <Plug>GitGutterUndoHunk | |
nmap <Leader>ghp <Plug>GitGutterPreviewHunk | |
omap ic <Plug>GitGutterTextObjectInnerPending | |
omap ac <Plug>GitGutterTextObjectOuterPending | |
xmap ic <Plug>GitGutterTextObjectOuterVisual | |
xmap ac <Plug>GitGutterTextObjectOuterVisual | |
nmap ]c <Plug>GitGutterNextHunk | |
nmap [c <Plug>GitGutterPrevHunk | |
" ## [vim-airline] | |
if !exists('g:airline_symbols') | |
let g:airline_symbols = {} | |
endif | |
" unicode symbols | |
let g:airline_left_sep = '»' | |
let g:airline_left_sep = '▶' | |
let g:airline_right_sep = '«' | |
let g:airline_right_sep = '◀' | |
let g:airline_symbols.crypt = '🔒' | |
let g:airline_symbols.linenr = '☰' | |
let g:airline_symbols.linenr = '␊' | |
let g:airline_symbols.linenr = '' | |
let g:airline_symbols.linenr = '¶' | |
let g:airline_symbols.maxlinenr = '' | |
let g:airline_symbols.maxlinenr = '㏑' | |
let g:airline_symbols.branch = '⎇' | |
let g:airline_symbols.paste = 'ρ' | |
let g:airline_symbols.paste = 'Þ' | |
let g:airline_symbols.paste = '∥' | |
let g:airline_symbols.spell = 'Ꞩ' | |
let g:airline_symbols.notexists = '∄' | |
let g:airline_symbols.whitespace = 'Ξ' | |
" powerline symbols | |
let g:airline_left_sep = '' | |
let g:airline_left_alt_sep = '' | |
let g:airline_right_sep = '' | |
let g:airline_right_alt_sep = '' | |
let g:airline_symbols.branch = '' | |
let g:airline_symbols.readonly = '' | |
let g:airline_symbols.linenr = '☰' | |
let g:airline_symbols.maxlinenr = '' | |
" extension: branch | |
let g:airline#extensions#branch#enabled = 1 | |
let g:airline#extensions#branch#vcs_priority = ["git", "mercurial"] | |
let g:airline#extensions#tabline#enabled = 1 | |
let g:airline#extensions#tabline#buffer_idx_mode = 0 | |
let g:airline#extensions#tabline#show_splits = 0 | |
let g:airline#extensions#tabline#show_tab_nr = 0 | |
let g:airline#extensions#whitespace#enabled = 1 | |
let g:airline#extensions#whitespace#mixed_indent_algo = 2 | |
let g:airline#extensions#whitespace#checks = [ 'indent', 'trailing', 'long' ] | |
nmap <leader>1 <Plug>AirlineSelectTab1 | |
nmap <leader>2 <Plug>AirlineSelectTab2 | |
nmap <leader>3 <Plug>AirlineSelectTab3 | |
nmap <leader>4 <Plug>AirlineSelectTab4 | |
nmap <leader>5 <Plug>AirlineSelectTab5 | |
nmap <leader>6 <Plug>AirlineSelectTab6 | |
nmap <leader>7 <Plug>AirlineSelectTab7 | |
nmap <leader>8 <Plug>AirlineSelectTab8 | |
nmap <leader>9 <Plug>AirlineSelectTab9 | |
" ## [gruvbox] | |
colo gruvbox | |
" ## [vim-mucomplete] | |
set completeopt+=menuone | |
let g:mucomplete#enable_auto_at_startup = 1 | |
" ## [vim-easymotion] | |
let g:EasyMotion_smartcase = 1 | |
nmap s <Plug>(easymotion-s2) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment