.vimrc文件类似于小番茄一样对我们的编程有极大的帮助,但是如何配置呢; .vimrc文件位于/root目录下(普通用户模式下也有该文件),所以我们必须是以管理员身份去配置它,首先我们检查vim有没有安装
,如果没有安装,那么我们需要先安装
vim。
然后等安装完毕后,我们可以导入别人配置好的.vimrc或者自己配置都可以,剩下的配置都比较简单了,如下所示:
1 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
2 " 一般设定
3 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
4 " 设定默认解码
5 set fenc=utf-8
6 set fencs=utf-8,usc-bom,euc-jp,gb18030,gbk,gb2312,cp936
7
8 " 不要使用vi的键盘模式,而是vim自己的
9 set nocompatible
10
11 " history文件中需要记录的行数
12 set history=100
13
14 " 在处理未保存或只读文件的时候,弹出确认
15 set confirm
16
17 " 与windows共享剪贴板
18 set clipboard+=unnamed
19
20 " 侦测文件类型
21 filetype on
22
23 " 载入文件类型插件
24 filetype plugin on
25
26 " 为特定文件类型载入相关缩进文件
27 filetype indent on
28
29 " 保存全局变量
30 set viminfo+=!
31
32 " 带有如下符号的单词不要被换行分割
33 set iskeyword+=_,$,@,%,#,-
34
35 " 语法高亮
36 syntax on
37
38 " 高亮字符,让其不受100列限制
39 :highlight OverLength ctermbg=red ctermfg=white guibg=red guifg=white
40 :match OverLength '\%101v.*'
41
42 " 状态行颜色
43 highlight StatusLine guifg=SlateBlue guibg=Yellow
44
45 highlight StatusLineNC guifg=Gray guibg=White
46
47 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
48 " 文件设置
49 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
50 " 不要备份文件(根据自己需要取舍)
51 set nobackup
52
53 " 不要生成swap文件,当buffer被丢弃的时候隐藏它
54 setlocal noswapfile
55 set bufhidden=hide
56
57 " 字符间插入的像素行数目
58 set linespace=0
59
60 " 增强模式中的命令行自动完成操作
61 set wildmenu
62
63 " 在状态行上显示光标所在位置的行号和列号
64 set ruler
65 set rulerformat=%20(%2*%<%f%=\ %m%r\ %3l\ %c\ %p%%%)
66
67 " 命令行(在状态行下)的高度,默认为1,这里是2
68 set cmdheight=2
69
70 " 使回格键(backspace)正常处理indent, eol, start等
71 set backspace=2
72
73 " 允许backspace和光标键跨越行边界
74 set whichwrap+=<,>,h,l
75
76 " 可以在buffer的任何地方使用鼠标(类似office中在工作区双击鼠标定位)
77 set mouse=a
78 set selection=exclusive
79 set selectmode=mouse,key
80
81 " 启动的时候不显示那个援助索马里儿童的提示
82 set shortmess=atI
83
84 " 通过使用: commands命令,告诉我们文件的哪一行被改变过
85 set report=0
86
87 " 不让vim发出讨厌的滴滴声
88 set noerrorbells
89
90 " 在被分割的窗口间显示空白,便于阅读
91 set fillchars=vert:\ ,stl:\ ,stlnc:\
92
93 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
94 " 搜索和匹配
95 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
96 " 高亮显示匹配的括号
97 set showmatch
98
99 " 匹配括号高亮的时间(单位是十分之一秒)
100 set matchtime=5
101
102 " 在搜索的时候忽略大小写
103 set ignorecase
104
105 " 不要高亮被搜索的句子(phrases)
106 set nohlsearch
107
108 " 在搜索时,输入的词句的逐字符高亮(类似firefox的搜索)
109 set incsearch
110
111 " 输入:set list命令是应该显示些啥?
112 set listchars=tab:\|\ ,trail:.,extends:>,precedes:<,eol:$
113
114 " 光标移动到buffer的顶部和底部时保持3行距离
115 set scrolloff=3
116
117 " 不要闪烁
118 set novisualbell
119
120 " 我的状态行显示的内容(包括文件类型和解码)
121 set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [POS=%l,%v][%p%%]\ %>
122
123 " 总是显示状态行
124 set laststatus=2
125
126 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
127 " 文本格式和排版
128 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
129 " 自动格式化
130 set formatoptions=tcrqn
131
132 " 继承前一行的缩进方式,特别适用于多行注释
133 set autoindent
134
135 " 为C程序提供自动缩进
136 set smartindent
137
138 " 使用C样式的缩进
139 set cindent
140
141 " 制表符为4
142 set tabstop=4
143
144 " 统一缩进为4
145 set softtabstop=4
146 set shiftwidth=4
147
148 " 不要用空格代替制表符
149 set noexpandtab
150
151 " 不要换行
152 set nowrap
153
154 " 在行和段开始处使用制表符
155 set smarttab
156 set tags=/home/lwb/桌面/FreeRDP-stable-1.1/tags
157
158
159
160 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
161 " Autocommands
162 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
163 " 只在下列文件类型被侦测到的时候显示行号,普通文本文件不显示
164
165 if has("autocmd")
166 autocmd FileType xml,html,c,cs,java,perl,shell,bash,cpp,python,vim,php,ru>
167 autocmd FileType xml,html vmap 'o'>o-->
168 autocmd FileType java,c,cpp,cs vmap ''>o*/
169 autocmd FileType html,text,php,vim,c,java,xml,bash,shell,perl,python setl>
170 autocmd Filetype html,xml,xsl source $VIMRUNTIME/plugin/closetag.vim
171 autocmd BufReadPost *
172 \ if line("'\"") > 0 && line("'\"") <= line("$") |
173 \ exe "normal g`\"" |
174 \ endif
175 endif " has("autocmd")
176
177 " F5编译和运行C程序,F6编译和运行C++程序
178 " 请注意,下述代码在windows下使用会报错
179 " 需要去掉./这两个字符
180
181 " C的编译和运行
182 map :call CompileRunGcc()
183 func! CompileRunGcc()
184 exec "w"
185 exec "!gcc % -o %<"
186 exec "! ./%<"
187 endfunc
188
189 " C++的编译和运行
190 map :call CompileRunGpp()
191 func! CompileRunGpp()
192 exec "w"
193 exec "!g++ % -o %<"
194 exec "! ./%<"
195 endfunc
196
197 " 能够漂亮地显示.NFO文件
198 set encoding=utf-8
199 function! SetFileEncodings(encodings)
200 let b:myfileencodingsbak=&fileencodings
201 let &fileencodings=a:encodings
202 endfunction
203 function! RestoreFileEncodings()
204 let &fileencodings=b:myfileencodingsbak
205 unlet b:myfileencodingsbak
206 endfunction
207
208 au BufReadPre *.nfo call SetFileEncodings('cp437')|set ambiwidth=single
209 au BufReadPost *.nfo call RestoreFileEncodings()
210
211 " 高亮显示普通txt文件(需要txt.vim脚本)
212 au BufRead,BufNewFile * setfiletype txt
213
214 " 用空格键来开关折叠
215 set foldenable
216 set foldmethod=manual
217 nnoremap @=((foldclosed(line('.')) < 0) ? 'zc' : 'zo')
218
219 " minibufexpl插件的一般设置
220 let g:miniBufExplMapWindowNavVim = 1
221 let g:miniBufExplMapWindowNavArrows = 1
222 let g:miniBufExplMapCTabSwitchBufs = 1
223 let g:miniBufExplModSelTarget = 1
224 set mouse=v
225
226
227 "
228 "" taglist
229 "
230 let Tlist_Show_One_File=1 "只显示当前文件的tags
231 let Tlist_WinWidth=40 "设置taglist宽度
232 let Tlist_Exit_OnlyWindow=1 "tagList窗口是最后一个窗口,则退出Vim
233 let Tlist_Use_Right_Window=1 "在Vim窗口右侧显示taglist窗口
234