1 "************************************
2 " 一般性配置 *
3 "************************************
4
5 "关闭vim一致性原则
6 set nocompatible
7
8 "显示行号
9 set number
10
11 "设置在编辑过程中右下角显示光标的行列信息
12 set ruler
13
14 "在状态栏显示正在输入的命令
15 set showcmd
16
17 "设置历史记录条数
18 set history=1000
19
20 "设置取消备份 禁止临时文件的生成
21 set nobackup
22 set noswapfile
23
24 "设置匹配模式
25 set showmatch
26
27 "设置C/C++方式自动对齐
28 set autoindent
29 set cindent
30
31 "开启语法高亮功能
32 syntax enable
33 syntax on
34
35 "指定配色方案为256色
36 set t_Co=256
37
38 "设置搜索时忽略大小写
39 set ignorecase
40
41 "配置backspace的工作方式
42 set backspace=indent,eol,start
43
44 "设置在vim中可以使用鼠标
45 set mouse=a
46
47 "设置tab宽度
48 set tabstop=4
49
50 "设置自动对齐空格数
51 set shiftwidth=4
52
53 "设置退格键时可以删除4个空格
54 set smarttab
55 set softtabstop=4
56
57 "将tab键自动转换为空格
58 set expandtab
59
60 "设置编码方式
61 set encoding=utf-8
62
63 "自动判断编码时 依次尝试以下编码
64 set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1
65
66 "不检测文件类型
67 filetype off
68
69 "针对不同的文件采取不同的缩进方式
70 filetype indent on
71
72 "允许插件
73 filetype plugin on
74
75
76 "*********************************************************
77 " vundle 配置 *
78 "*********************************************************
79
80 set rtp+=~/.vim/bundle/Vundle.vim
81
82 call vundle#begin()
83
84 " let Vundle manage Vundle, required
85 Plugin 'gmarik/Vundle.vim'
86
87
88 " My Plugins is here
89 Plugin 'tpope/vim-fugitive'
90 Plugin 'L9'
91 Plugin 'Auto-Pairs'
92 Plugin 'vim-scripts/taglist.vim'
93 Plugin 'The-NERD-tree'
94 Plugin 'Syntastic'
95 Plugin 'FuzzyFinder'
96 Plugin 'Lokaltog/vim-powerline'
97 Plugin 'Valloric/YouCompleteMe'
98
99 call vundle#end()
100
101 "启动智能补全
102 filetype plugin indent on
103 "*****************************************************
104 " taglist配置 *
105 "*****************************************************
106
107 "不显示"press F1 to display help"
108 let Tlist_Compact_Format=1
109
110 "窗口在左侧显示
111 let Tlist_Use_Right_Window=1
112
113 "只显示当前文件的tags
114 let Tlist_Show_One_File=1
115
116 "高亮显示
117 let Tlist_Auto_Highlight_tag=1
118
119 "随文件自动更新
120 let Tlist_Auto_Update=1
121
122 "设置宽度
123 let Tlist_WinWidth=30
124
125 "taglist窗口是最后一个窗口,则退出vim
126 let Tlist_Exit_OnlyWindow=1
127
128 "单击跳转
129 let Tlist_Use_SingClick=1
130
131 "打开关闭快捷键
132 nnoremap <silent> <F8> :TlistToggle<CR>
133
134
135
136
137 "********************************************************
138 " NERD_Tree 配置 *
139 "********************************************************
140
141 "显示增强
142 let NERDChristmasTree=1
143
144 "自动调整焦点
145 let NERDTreeAutoCenter=1
146
147 "鼠标模式:目录单击,文件双击
148 let NERDTreeMouseMode=2
149
150 "打开文件后自动关闭
151 let NERDTreeQuitOnOpen=1
152
153 "显示文件
154 let NERDTreeShowFiles=1
155
156 "显示隐藏文件
157 let NERDTreeShowHidden=1
158
159 "高亮显示当前文件或目录
160 let NERDTreeHightCursorline=1
161
162 "显示行号
163 let NERDTreeShowLineNumbers=1
164
165 "窗口位置
166 let NERDTreeWinPos='left'
167
168 "窗口宽度
169 let NERDTreeWinSize=31
170
171 "不显示'Bookmarks' label 'Press ? for help'
172 let NERDTreeMinimalUI=1
173
174 "快捷键
175 nnoremap <silent> <F4> :NERDTreeToggle<CR>
176
177
178
179 "*****************************************************
180 " YouCompleteMe配置 *
181 "*****************************************************
182
183 "leader映射为逗号“,”
184 let mapleader = ","
185
186 "配置默认的ycm_extra_conf.py
187 let g:ycm_global_ycm_extra_conf = '~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py'
188
189 "按,jd 会跳转到定义
190 nnoremap <leader>jd :YcmCompleter GoToDefinitionElseDeclaration<CR>
191
192 "打开vim时不再询问是否加载ycm_extra_conf.py配置
193 let g:ycm_confirm_extra_conf=0
194
195 "使用ctags生成的tags文件
196 let g:ycm_collect_identifiers_from_tag_files = 1
197
198
199 "*****************************************************
200 " Syntastic配置 *
201 "*****************************************************
202
203
204 let g:Syntastic_check_on_open=1