Xinqi Bao's Git

c949e2cce9af6751d944162136287405c966bb5b
[dotfiles.git] / .vimrc
1 syntax enable
2 "colorscheme wombat256mod
3 set background=dark
4
5 set t_Co=256 "terminal color
6 set encoding=utf-8 "required for ycm
7 set noerrorbells
8 set tabstop=4 softtabstop=4
9 set shiftwidth=4
10 set expandtab
11 set smartindent
12 set number
13 set nowrap
14 set smartcase
15 set incsearch
16 set hlsearch
17 set ignorecase
18 set cursorline
19 set autochdir
20 set mouse=a
21 set laststatus=2 "always show status line
22 set wildmenu
23
24 " Turn backup off
25 set noswapfile
26 set nobackup
27 set nowritebackup
28 set undodir=~/.vim/undodir
29 set undofile
30
31 "ColumnLimit
32 set colorcolumn=80
33 highlight ColorColumn ctermbg=0 guibg=lightgrey
34
35 set tags=tags~;,tags~
36 "setting gf (go file) path
37 set path+=/usr/include/c++/*,include;,includes;,lib;
38
39 " Using "+ register for all the yank and paste in vim
40 set clipboard=unnamedplus
41
42 call plug#begin()
43
44 Plug 'morhetz/gruvbox'
45 Plug 'ycm-core/YouCompleteMe'
46 Plug 'kien/ctrlp.vim'
47 Plug 'mbbill/undotree'
48
49 Plug 'preservim/nerdtree'
50 Plug 'rhysd/vim-clang-format'
51 Plug 'ludovicchabant/vim-gutentags'
52 Plug 'plasticboy/vim-markdown'
53 Plug 'christoomey/vim-tmux-navigator'
54
55 call plug#end()
56
57 colorscheme gruvbox
58
59 autocmd StdinReadPre * let s:std_in=1
60 "when vim openning with no file, open NERDTree
61 autocmd VimEnter * if argc() == 0 && !exists("s:std_in") | NERDTree | endif
62
63 let g:ctrlp_user_command = ['.git/', 'git --git-dir=%s/.git ls-files -oc --exclude-standard']
64 let g:ctrlp_use_caching = 0
65
66 let g:ycm_global_ycm_extra_conf = '~/.vim/.ycm_extra_conf.py'
67 let g:ycm_enable_diagnostic_signs = 0
68 let g:ycm_always_populate_location_list = 1
69
70 let mapleader = " "
71 nnoremap <C-h> <C-w>h
72 nnoremap <C-j> <C-w>j
73 nnoremap <C-k> <C-w>k
74 nnoremap <C-l> <C-w>l
75 nnoremap <leader>" viw<esc>a"<esc>bi"<esc>lel
76 nnoremap <leader>' viw<esc>a'<esc>bi'<esc>lel
77 nnoremap <leader>u :UndotreeShow<CR>
78 nnoremap <leader>v :NERDTreeToggle<CR>
79 nnoremap <silent> <Leader>+ :vertical resize +5<CR>
80 nnoremap <silent> <Leader>- :vertical resize -5<CR>
81
82 nnoremap <silent> <leader>gd :YcmCompleter GoTo<CR>
83 nnoremap <silent> <leader>gr :YcmCompleter GoToReferences<CR>
84
85 "HighLight trailing whitespace"
86 highlight ExtraWhitespace ctermbg=red guibg=red
87 match ExtraWhitespace /\s\+$/
88
89 "use powerline-vim for normal use
90 "instead of installing for both user and root
91 python3 from powerline.vim import setup as powerline_setup
92 python3 powerline_setup()
93 python3 del powerline_setup