Xinqi Bao's Git

vimrc: new plugin, majutsushi/tagbar, airblade/vim-gitgutter
[dotfiles.git] / .vimrc
diff --git a/.vimrc b/.vimrc
index 11d16c1..32fc510 100644 (file)
--- a/.vimrc
+++ b/.vimrc
@@ -2,13 +2,22 @@ syntax enable
 "colorscheme wombat256mod
 set background=dark
 
+"In order to display chinese in GBK
+let &termencoding=&encoding
+set fileencodings=utf-8,gbk
+set fileformat=unix
+set foldmethod=manual
+
 set t_Co=256 "terminal color
+set t_ut=""
+"set term=xterm-256color
 set encoding=utf-8 "required for ycm
 set noerrorbells
 set tabstop=4 softtabstop=4
 set shiftwidth=4
 set expandtab
 set smartindent
+set backspace=indent,eol,start
 set number
 set nowrap
 set smartcase
@@ -18,7 +27,9 @@ set ignorecase
 set cursorline
 set autochdir
 set mouse=a
+set showtabline=2
 set laststatus=2 "always show status line
+set noshowmode
 set wildmenu
 
 " Turn backup off
@@ -29,7 +40,7 @@ set undodir=~/.vim/undodir
 set undofile
 
 "ColumnLimit
-set colorcolumn=80
+set colorcolumn=120
 highlight ColorColumn ctermbg=0 guibg=lightgrey
 
 set tags=tags~;,tags~
@@ -39,7 +50,8 @@ set path=.,lib;,include;,includes;
 set path+=/lib/modules/5.4.46-1-lts/build/include
 set path+=/lib/modules/5.4.46-1-lts/build/arch/x86/include
 set path+=/usr/include,/usr/include/c++/*
-
+set path+=/usr/local/include
+set path+=~/lib
 
 " Writes to the unnamed register also writes to the * and + registers. This
 " makes it easy to interact with the system clipboard
@@ -51,21 +63,37 @@ endif
 
 call plug#begin()
 
+Plug 'vim-airline/vim-airline'
+"Plug 'vim-airline/vim-airline-themes'
+
 Plug 'morhetz/gruvbox'
 Plug 'ycm-core/YouCompleteMe'
-Plug 'kien/ctrlp.vim'
 Plug 'mbbill/undotree'
+"Plug 'kien/ctrlp.vim'
 
+Plug 'junegunn/fzf', { 'do': { -> fzf#install() } }
+Plug 'junegunn/fzf.vim'
+
+Plug 'tpope/vim-fugitive'
 Plug 'preservim/nerdtree'
 Plug 'rhysd/vim-clang-format'
 Plug 'ludovicchabant/vim-gutentags'
 Plug 'plasticboy/vim-markdown'
 Plug 'christoomey/vim-tmux-navigator'
 
+Plug 'Yggdroot/indentLine'
 call plug#end()
 
 colorscheme gruvbox
 
+"tabline with airline
+":help airline-tabline
+let g:airline#extensions#tabline#enabled = 1
+let g:airline#extensions#tabline#show_buffers = 0
+let g:airline#extensions#tabline#show_splits = 0
+let g:airline#extensions#tabline#show_tab_count = 0
+let g:airline#extensions#tabline#show_close_button = 0
+
 autocmd StdinReadPre * let s:std_in=1
 "when vim openning with no file, open NERDTree
 autocmd VimEnter * if argc() == 0 && !exists("s:std_in") | NERDTree | endif
@@ -73,7 +101,13 @@ autocmd VimEnter * if argc() == 0 && !exists("s:std_in") | NERDTree | endif
 let g:ctrlp_user_command = ['.git/', 'git --git-dir=%s/.git ls-files -oc --exclude-standard']
 let g:ctrlp_use_caching = 0
 
+"mapping for fzf.vim
+nnoremap <C-p> :GFiles<CR>
+"as default <C-f>/<C-b> pair used to page down/up entire page
+nnoremap <C-f> :Tags<CR>
+
 let g:ycm_global_ycm_extra_conf = '~/.vim/.ycm_extra_conf.py'
+let g:ycm_confirm_extra_conf = 0
 let g:ycm_enable_diagnostic_signs = 0
 let g:ycm_always_populate_location_list = 1
 "let g:ycm_show_diagnostics_ui = 0
@@ -82,6 +116,10 @@ let g:ycm_autoclose_preview_window_after_completion = 1
 let g:ycm_auto_hover = 'no'
 
 let mapleader = " "
+nnoremap J :tabprevious<CR>
+nnoremap K :tabnext<CR>
+nnoremap <leader>J :tabmove -1<CR>
+nnoremap <leader>K :tabmove +1<CR>
 nnoremap <C-h> <C-w>h
 nnoremap <C-j> <C-w>j
 nnoremap <C-k> <C-w>k
@@ -89,9 +127,11 @@ nnoremap <C-l> <C-w>l
 nnoremap <leader>" viw<esc>a"<esc>bi"<esc>lel
 nnoremap <leader>' viw<esc>a'<esc>bi'<esc>lel
 nnoremap <leader>u :UndotreeShow<CR>
-nnoremap <leader>v :NERDTreeToggle<CR>
-nnoremap <silent> <Leader>+ :vertical resize +5<CR>
-nnoremap <silent> <Leader>- :vertical resize -5<CR>
+nnoremap <leader>n :NERDTreeToggle<CR>
+nnoremap <silent> <Leader>+ :resize +5<CR>
+nnoremap <silent> <Leader>- :resize -5<CR>
+nnoremap <silent> <Leader>v+ :vertical resize +5<CR>
+nnoremap <silent> <Leader>v- :vertical resize -5<CR>
 
 nnoremap <silent> <leader>gd :YcmCompleter GoTo<CR>
 nnoremap <silent> <leader>gr :YcmCompleter GoToReferences<CR>
@@ -103,6 +143,6 @@ match ExtraWhitespace /\s\+$/
 "use powerline-vim for normal use
 "instead of installing for both user and root
 "run to install lib: pip3 install --user powerline-status
-python3 from powerline.vim import setup as powerline_setup
-python3 powerline_setup()
-python3 del powerline_setup
+"python3 from powerline.vim import setup as powerline_setup
+"python3 powerline_setup()
+"python3 del powerline_setup