Xinqi Bao's Git

8d045753109ecd2200d77362c49a1e5561287063
[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
40 call plug#begin()
41
42 Plug 'morhetz/gruvbox'
43 Plug 'ycm-core/YouCompleteMe'
44 Plug 'kien/ctrlp.vim'
45 Plug 'mbbill/undotree'
46
47 Plug 'preservim/nerdtree'
48 Plug 'rhysd/vim-clang-format'
49 Plug 'ludovicchabant/vim-gutentags'
50 Plug 'plasticboy/vim-markdown'
51 Plug 'christoomey/vim-tmux-navigator'
52
53 call plug#end()
54
55 colorscheme gruvbox
56
57 autocmd StdinReadPre * let s:std_in=1
58 "when vim openning with no file, open NERDTree
59 autocmd VimEnter * if argc() == 0 && !exists("s:std_in") | NERDTree | endif
60
61 let g:ctrlp_user_command = ['.git/', 'git --git-dir=%s/.git ls-files -oc --exclude-standard']
62 let g:ctrlp_use_caching = 0
63
64 let g:ycm_global_ycm_extra_conf = '~/.vim/.ycm_extra_conf.py'
65 let g:ycm_enable_diagnostic_signs = 0
66 let g:ycm_always_populate_location_list = 1
67
68 let mapleader = " "
69 nnoremap <C-h> <C-w>h
70 nnoremap <C-j> <C-w>j
71 nnoremap <C-k> <C-w>k
72 nnoremap <C-l> <C-w>l
73 nnoremap <leader>" viw<esc>a"<esc>bi"<esc>lel
74 nnoremap <leader>' viw<esc>a'<esc>bi'<esc>lel
75 nnoremap <leader>u :UndotreeShow<CR>
76 nnoremap <leader>v :NERDTreeToggle<CR>
77 nnoremap <silent> <Leader>+ :vertical resize +5<CR>
78 nnoremap <silent> <Leader>- :vertical resize -5<CR>
79
80 nnoremap <silent> <leader>gd :YcmCompleter GoTo<CR>
81 nnoremap <silent> <leader>gr :YcmCompleter GoToReferences<CR>
82
83 "HighLight trailing whitespace"
84 highlight ExtraWhitespace ctermbg=red guibg=red
85 match ExtraWhitespace /\s\+$/
86
87 "use powerline-vim for normal use
88 "instead of installing for both user and root
89 python3 from powerline.vim import setup as powerline_setup
90 python3 powerline_setup()
91 python3 del powerline_setup