Last active
April 8, 2018 06:27
-
-
Save yun-cloud/04cd7a80ea0a5ace2bde1eb3e78c2f3d to your computer and use it in GitHub Desktop.
vimrc on OS 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 'jiangmiao/auto-pairs' | |
Plug 'mhinz/vim-startify' | |
Plug 'tpope/vim-surround' | |
Plug 'vim-airline/vim-airline' | |
" Utility | |
Plug 'ctrlpvim/ctrlp.vim' | |
Plug 'junegunn/vim-easy-align' | |
Plug 'scrooloose/nerdtree' | |
Plug 'tpope/vim-commentary' | |
Plug 'junegunn/limelight.vim' | |
Plug 'junegunn/goyo.vim' | |
Plug 'vim-scripts/a.vim' | |
Plug 'mattn/gist-vim' | Plug 'mattn/webapi-vim' | |
" tag | |
Plug 'majutsushi/tagbar' | |
Plug 'vim-scripts/taglist.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' | |
" Colorscheme | |
Plug 'chriskempson/base16-vim' | |
Plug 'joshdick/onedark.vim' | |
Plug 'morhetz/gruvbox' | |
" Highlight | |
Plug 'octol/vim-cpp-enhanced-highlight' | |
" Git | |
Plug 'airblade/vim-gitgutter' | |
call plug#end() | |
set nocompatible | |
set number | |
set relativenumber | |
set showmatch | |
set smartcase | |
set ignorecase | |
set splitbelow | |
set cursorline | |
set incsearch | |
set laststatus=2 | |
set statusline="[%n]\ %<%F\ \ \ [%M%R%H%W%Y][%{&ff}]\ \ %=\ line:%l/%L\ col:%c\ \ \ %p%%" | |
set list | |
set autoindent | |
set smarttab | |
" set listchars=tab:»∙,trail:∙,precedes:<,extends:> | |
set listchars=tab:»\ ,trail:∙,precedes:<,extends:> | |
set wildignore+=*/tmp/*,*.so,*.swp,*.zip | |
set cot-=preview | |
set background=dark | |
" au FileType cpp setlocal expandtab sw=2 ts=2 tw=80 wrap | |
au FileType cpp setlocal noexpandtab tabstop=8 softtabstop=4 shiftwidth=4 tw=80 wrap | |
if executable("rg") | |
set grepprg=rg\ --vimgrep\ --no-heading | |
set grepformat=%f:%l:%c:%m,%f:%l:%m | |
endif | |
colo desert | |
colo gruvbox | |
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> | |
" tab navigation | |
nnoremap th :tabprevious<CR> | |
nnoremap tl :tabnext<CR> | |
nnoremap tH :tabfirst<CR> | |
nnoremap tL :tablast<CR> | |
nnoremap tn :tabnew<CR> | |
nnoremap td :tabclose<CR> | |
nnoremap tm :tabmove<Space> | |
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-startify] | |
let g:startify_list_order = [ | |
\ [' Bookmarks'], | |
\ 'bookmarks', | |
\ [' MRU directories'], | |
\ 'dir', | |
\ [' MRU files'], | |
\ 'files', | |
\ ] | |
let g:startify_bookmarks = [ | |
\ {'mp4': '~/mp4/'}, | |
\ {'b4': '~/NachOS-4.0_MP4/'}, | |
\ {'james': '~/xy/NachOS/'}, | |
\ {'c': '~/.vimrc'}, | |
\ ] | |
let g:startify_enable_special = 0 | |
let g:startify_files_number = 5 | |
" ## [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> | |
command! -bang -nargs=* Rg | |
\ call fzf#vim#grep( | |
\ 'rg --column --line-number --no-heading --color=always --ignore-case '.shellescape(<q-args>), 1, | |
\ <bang>0 ? fzf#vim#with_preview('up:60%') | |
\ : fzf#vim#with_preview('right:50%:hidden', '?'), | |
\ <bang>0) | |
nnoremap <Leader>sw :Rg <C-R><C-W><CR> | |
nnoremap <Leader>ss :Rg<Space> | |
" ## [tagbar] | |
nnoremap <F6> :TagbarToggle<CR> | |
" ## [taglist.vim] | |
nnoremap <F7> :TlistToggle<CR> | |
" ## [limelight.vim] | |
let g:limelight_conceal_ctermfg = 239 | |
let g:limelight_paragraph_span = 1 | |
autocmd! User GoyoEnter Limelight | |
autocmd! User GoyoLeave Limelight! | |
" ## [goyo.vim] | |
let g:goyo_width = 70 | |
" ## [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] | |
" powerline symbols | |
if !exists('g:airline_symbols') | |
let g:airline_symbols = {} | |
endif | |
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 = '' | |
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 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment