centos或者ubuntu中关于.vimrc的配置

本文详细介绍.vimrc文件的配置方法,包括如何设置编码、编辑习惯、文件类型检测、语法高亮等功能,帮助读者提高编程效率。

.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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值