2 "colorscheme wombat256mod
 
   5 "In order to display chinese in GBK
 
   6 let &termencoding=&encoding
 
   7 set fileencodings=utf-8,gbk
 
   9 set t_Co=256 "terminal color
 
  11 "set term=xterm-256color
 
  12 set encoding=utf-8 "required for ycm
 
  14 set tabstop=4 softtabstop=4
 
  18 set backspace=indent,eol,start
 
  29 set laststatus=2 "always show status line
 
  37 set undodir=~/.vim/undodir
 
  42 highlight ColorColumn ctermbg=0 guibg=lightgrey
 
  45 "setting gf (go file) path
 
  46 "change kernel version to your version, for kernel development
 
  47 set path=.,lib;,include;,includes;
 
  48 set path+=/lib/modules/5.4.46-1-lts/build/include
 
  49 set path+=/lib/modules/5.4.46-1-lts/build/arch/x86/include
 
  50 set path+=/usr/include,/usr/include/c++/*
 
  51 set path+=/usr/local/include
 
  55 " Writes to the unnamed register also writes to the * and + registers. This
 
  56 " makes it easy to interact with the system clipboard
 
  57 if has ('unnamedplus')
 
  58     set clipboard=unnamedplus
 
  65 Plug 'vim-airline/vim-airline'
 
  66 "Plug 'vim-airline/vim-airline-themes'
 
  68 Plug 'morhetz/gruvbox'
 
  69 Plug 'ycm-core/YouCompleteMe'
 
  71 Plug 'mbbill/undotree'
 
  73 Plug 'tpope/vim-fugitive'
 
  74 Plug 'preservim/nerdtree'
 
  75 Plug 'rhysd/vim-clang-format'
 
  76 Plug 'ludovicchabant/vim-gutentags'
 
  77 Plug 'plasticboy/vim-markdown'
 
  78 Plug 'christoomey/vim-tmux-navigator'
 
  85 ":help airline-tabline
 
  86 let g:airline#extensions#tabline#enabled = 1
 
  87 let g:airline#extensions#tabline#show_buffers = 0
 
  88 let g:airline#extensions#tabline#show_splits = 0
 
  89 let g:airline#extensions#tabline#show_tab_count = 0
 
  90 let g:airline#extensions#tabline#show_close_button = 0
 
  92 autocmd StdinReadPre * let s:std_in=1
 
  93 "when vim openning with no file, open NERDTree
 
  94 autocmd VimEnter * if argc() == 0 && !exists("s:std_in") | NERDTree | endif
 
  96 let g:ctrlp_user_command = ['.git/', 'git --git-dir=%s/.git ls-files -oc --exclude-standard']
 
  97 let g:ctrlp_use_caching = 0
 
  99 let g:ycm_global_ycm_extra_conf = '~/.vim/.ycm_extra_conf.py'
 
 100 let g:ycm_confirm_extra_conf = 0
 
 101 let g:ycm_enable_diagnostic_signs = 0
 
 102 let g:ycm_always_populate_location_list = 1
 
 103 "let g:ycm_show_diagnostics_ui = 0
 
 104 let g:ycm_add_preview_to_completeopt = 1
 
 105 let g:ycm_autoclose_preview_window_after_completion = 1
 
 106 let g:ycm_auto_hover = 'no'
 
 109 nnoremap J :tabprevious<CR>
 
 110 nnoremap K :tabnext<CR>
 
 111 nnoremap <C-h> <C-w>h
 
 112 nnoremap <C-j> <C-w>j
 
 113 nnoremap <C-k> <C-w>k
 
 114 nnoremap <C-l> <C-w>l
 
 115 nnoremap <leader>" viw<esc>a"<esc>bi"<esc>lel
 
 116 nnoremap <leader>' viw<esc>a'<esc>bi'<esc>lel
 
 117 nnoremap <leader>u :UndotreeShow<CR>
 
 118 nnoremap <leader>n :NERDTreeToggle<CR>
 
 119 nnoremap <silent> <Leader>+ :resize +5<CR>
 
 120 nnoremap <silent> <Leader>- :resize -5<CR>
 
 121 nnoremap <silent> <Leader>v+ :vertical resize +5<CR>
 
 122 nnoremap <silent> <Leader>v- :vertical resize -5<CR>
 
 124 nnoremap <silent> <leader>gd :YcmCompleter GoTo<CR>
 
 125 nnoremap <silent> <leader>gr :YcmCompleter GoToReferences<CR>
 
 127 "HighLight trailing whitespace"
 
 128 highlight ExtraWhitespace ctermbg=red guibg=red
 
 129 match ExtraWhitespace /\s\+$/
 
 131 "use powerline-vim for normal use
 
 132 "instead of installing for both user and root
 
 133 "run to install lib: pip3 install --user powerline-status
 
 134 "python3 from powerline.vim import setup as powerline_setup
 
 135 "python3 powerline_setup()
 
 136 "python3 del powerline_setup