您的位置:首页 > 其它

备份一下我的.vimrc

2013-10-18 14:54 381 查看
网上流行的一个版本
view plaincopy to clipboardprint?
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""  
" 一般设定  
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""  
" 设定默认解码  
set pastetoggle=<F4>  
set fenc=utf-8  
set fencs=utf-8,usc-bom,euc-jp,gb18030,gbk,gb2312,cp936  
"设定搜索是的高亮显示  
set hlsearch  
" 不要使用vi的键盘模式,而是vim自己的  
set nocompatible  
" history文件中需要记录的行数  
set history=100  
" 在处理未保存或只读文件的时候,弹出确认  
set confirm  
" 与windows共享剪贴板  
"set clipboard+=unnamed  
" 侦测文件类型  
filetype on  
" 载入文件类型插件  
filetype plugin on  
" 为特定文件类型载入相关缩进文件  
filetype indent on  
" 保存全局变量  
set viminfo+=!  
" 带有如下符号的单词不要被换行分割  
set iskeyword+=_,$,@,%,#,-  
" 语法高亮  
syntax on  
" 高亮字符,让其不受100列限制  
:highlight OverLength ctermbg=red ctermfg=white guibg=red guifg=white  
":match OverLength '\%101v.*' 
" 状态行颜色  
highlight StatusLine guifg=SlateBlue guibg=Yellow  
highlight StatusLineNC guifg=Gray guibg=White  
"高亮当前行  
set cursorline  
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""  
" 文件设置  
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""  
" 不要备份文件(根据自己需要取舍)  
set nobackup  
" 不要生成swap文件,当buffer被丢弃的时候隐藏它  
setlocal noswapfile  
set bufhidden=hide  
" 字符间插入的像素行数目  
set linespace=0  
" 增强模式中的命令行自动完成操作  
set wildmenu  
" 在状态行上显示光标所在位置的行号和列号  
set ruler  
set rulerformat=%20(%2*%<%f%=\ %m%r\ %3l\ %c\ %p%%%)  
" 命令行(在状态行下)的高度,默认为1,这里是2  
set cmdheight=2  
" 使回格键(backspace)正常处理indent, eol, start等  
set backspace=2  
" 允许backspace和光标键跨越行边界  
set whichwrap+=<,>,h,l  
" 可以在buffer的任何地方使用鼠标(类似office中在工作区双击鼠标定位)  
"set mouse=a  
"set selection=exclusive  
"set selectmode=mouse,key  
" 启动的时候不显示那个援助索马里儿童的提示  
set shortmess=atI  
" 通过使用: commands命令,告诉我们文件的哪一行被改变过  
set report=0  
" 不让vim发出讨厌的滴滴声  
set noerrorbells  
" 在被分割的窗口间显示空白,便于阅读  
set fillchars=vert:\ ,stl:\ ,stlnc:\  
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""  
" 搜索和匹配  
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""  
" 高亮显示匹配的括号  
set showmatch  
" 匹配括号高亮的时间(单位是十分之一秒)  
set matchtime=5  
" 在搜索的时候不忽略大小写  
set noignorecase  
" 不要高亮被搜索的句子(phrases)  
"set nohlsearch  
" 在搜索时,输入的词句的逐字符高亮(类似firefox的搜索)  
set incsearch  
" 输入:set list命令是应该显示些啥?  
set listchars=tab:\|\ ,trail:.,extends:>,precedes:<,eol:$  
" 光标移动到buffer的顶部和底部时保持3行距离  
set scrolloff=3  
" 不要闪烁  
set novisualbell  
" 我的状态行显示的内容(包括文件类型和解码)  
set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [POS=%l,%v][%p%%]\ %{strftime(\"%d/%m/%y\ -\ %H:%M\")}  
" 总是显示状态行  
set laststatus=2  
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""  
" 文本格式和排版  
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""  
" 自动格式化  
set formatoptions=tcrqn  
" 继承前一行的缩进方式,特别适用于多行注释  
set autoindent  
" 为C程序提供自动缩进  
set smartindent  
" 使用C样式的缩进  
set cindent  
" 制表符为4  
set tabstop=4  
" 统一缩进为4  
set softtabstop=4  
set shiftwidth=4  
" 不要用空格代替制表符  
set noexpandtab  
" 不要换行  
"set nowrap  
"设置每行80个字符自动换行  
"set textwidth=80  
" 在行和段开始处使用制表符  
set smarttab  
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""  
" CTags的设定  
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""  
" 按照名称排序  
let Tlist_Sort_Type = "name" 
" 在右侧显示窗口  
let Tlist_Use_Right_Window = 1  
" 压缩方式  
let Tlist_Compart_Format = 1  
" 如果只有一个buffer,kill窗口也kill掉buffer  
let Tlist_Exist_OnlyWindow = 1  
" 不要关闭其他文件的tags  
let Tlist_File_Fold_Auto_Close = 0  
" 不要显示折叠树  
let Tlist_Enable_Fold_Column = 1  
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""  
" Autocommands  
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""  
" 只在下列文件类型被侦测到的时候显示行号,普通文本文件不显示  
if has("autocmd")  
   autocmd FileType xml,html,c,cs,java,perl,shell,bash,cpp,python,vim,php,ruby set number  
   autocmd FileType xml,html vmap <C-o> <ESC>'<i<!--<ESC>o<ESC>'>o-->  
   autocmd FileType java,c,cpp,cs vmap <C-o> <ESC>'<o/*<ESC>'>o*/  
   autocmd FileType html,text,php,vim,c,java,xml,bash,shell,perl,python setlocal textwidth=80  
   autocmd Filetype html,xml,xsl source $VIMRUNTIME/plugin/closetag.vim  
   autocmd BufReadPost *  
      \ if line("'\"") > 0 && line("'\"") <= line("$") |  
      \   exe "normal g`\"" |  
      \ endif  
endif " has("autocmd")  
" C/C++的编译和运行  
map <F5> :call CompileRunGcc()<CR>  
func! CompileRunGcc()  
exec "w" 
exec "!make" 
exec "! ./%<" 
endfunc  
" shell script运行  
map <F6> :call CompileRunSH()<CR>  
func! CompileRunSH()  
exec "w" 
exec "!chmod a+x %" 
exec "!./%" 
endfunc  
" python运行  
map <F7> :call CompileRunPyhton()<CR>  
func! CompileRunPyhton()  
exec "w" 
exec "!chmod a+x %" 
exec "!./%" 
endfunc  
" 能够漂亮地显示.NFO文件  
set encoding=utf-8  
function! SetFileEncodings(encodings)  
    let b:myfileencodingsbak=&fileencodings  
    let &fileencodings=a:encodings  
endfunction  
function! RestoreFileEncodings()  
    let &fileencodings=b:myfileencodingsbak  
    unlet b:myfileencodingsbak  
endfunction  
au BufReadPre *.nfo call SetFileEncodings('cp437')|set ambiwidth=single  
au BufReadPost *.nfo call RestoreFileEncodings()  
" 高亮显示普通txt文件(需要txt.vim脚本)  
" au BufRead,BufNewFile *  setfiletype txt  
" 用空格键来开关折叠  
"set foldenable  
"set foldlevel=0  
"set foldmethod=indent  
nnoremap <space> @=((foldclosed(line('.')) < 0) ? 'zc' : 'zo')<CR>  
" minibufexpl插件的一般设置  
let g:miniBufExplMapWindowNavVim = 1  
let g:miniBufExplMapWindowNavArrows = 1  
let g:miniBufExplMapCTabSwitchBufs = 1  
let g:miniBufExplModSelTarget = 1   
" Omni  
let OmniCpp_DisplayMode = 1  
" Comet  
set path+=/usr/include  
set path+=/usr/local/include  
set tags+=~/tags/usrinclude  
set tags+=~/tags/usrlocalinclude  
augroup filetype  
    au! BufRead,BufNewFile *.proto setfiletype proto  
augroup end 
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 一般设定
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 设定默认解码
set pastetoggle=<F4>
set fenc=utf-8
set fencs=utf-8,usc-bom,euc-jp,gb18030,gbk,gb2312,cp936
"设定搜索是的高亮显示
set hlsearch
" 不要使用vi的键盘模式,而是vim自己的
set nocompatible
" history文件中需要记录的行数
set history=100
" 在处理未保存或只读文件的时候,弹出确认
set confirm
" 与windows共享剪贴板
"set clipboard+=unnamed
" 侦测文件类型
filetype on
" 载入文件类型插件
filetype plugin on
" 为特定文件类型载入相关缩进文件
filetype indent on
" 保存全局变量
set viminfo+=!
" 带有如下符号的单词不要被换行分割
set iskeyword+=_,$,@,%,#,-
" 语法高亮
syntax on
" 高亮字符,让其不受100列限制
:highlight OverLength ctermbg=red ctermfg=white guibg=red guifg=white
":match OverLength '\%101v.*'
" 状态行颜色
highlight StatusLine guifg=SlateBlue guibg=Yellow
highlight StatusLineNC guifg=Gray guibg=White
"高亮当前行
set cursorline
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 文件设置
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 不要备份文件(根据自己需要取舍)
set nobackup
" 不要生成swap文件,当buffer被丢弃的时候隐藏它
setlocal noswapfile
set bufhidden=hide
" 字符间插入的像素行数目
set linespace=0
" 增强模式中的命令行自动完成操作
set wildmenu
" 在状态行上显示光标所在位置的行号和列号
set ruler
set rulerformat=%20(%2*%<%f%=\ %m%r\ %3l\ %c\ %p%%%)
" 命令行(在状态行下)的高度,默认为1,这里是2
set cmdheight=2
" 使回格键(backspace)正常处理indent, eol, start等
set backspace=2
" 允许backspace和光标键跨越行边界
set whichwrap+=<,>,h,l
" 可以在buffer的任何地方使用鼠标(类似office中在工作区双击鼠标定位)
"set mouse=a
"set selection=exclusive
"set selectmode=mouse,key
" 启动的时候不显示那个援助索马里儿童的提示
set shortmess=atI
" 通过使用: commands命令,告诉我们文件的哪一行被改变过
set report=0
" 不让vim发出讨厌的滴滴声
set noerrorbells
" 在被分割的窗口间显示空白,便于阅读
set fillchars=vert:\ ,stl:\ ,stlnc:\
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 搜索和匹配
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 高亮显示匹配的括号
set showmatch
" 匹配括号高亮的时间(单位是十分之一秒)
set matchtime=5
" 在搜索的时候不忽略大小写
set noignorecase
" 不要高亮被搜索的句子(phrases)
"set nohlsearch
" 在搜索时,输入的词句的逐字符高亮(类似firefox的搜索)
set incsearch
" 输入:set list命令是应该显示些啥?
set listchars=tab:\|\ ,trail:.,extends:>,precedes:<,eol:$
" 光标移动到buffer的顶部和底部时保持3行距离
set scrolloff=3
" 不要闪烁
set novisualbell
" 我的状态行显示的内容(包括文件类型和解码)
set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [POS=%l,%v][%p%%]\ %{strftime(\"%d/%m/%y\ -\ %H:%M\")}
" 总是显示状态行
set laststatus=2
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 文本格式和排版
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 自动格式化
set formatoptions=tcrqn
" 继承前一行的缩进方式,特别适用于多行注释
set autoindent
" 为C程序提供自动缩进
set smartindent
" 使用C样式的缩进
set cindent
" 制表符为4
set tabstop=4
" 统一缩进为4
set softtabstop=4
set shiftwidth=4
" 不要用空格代替制表符
set noexpandtab
" 不要换行
"set nowrap
"设置每行80个字符自动换行
"set textwidth=80
" 在行和段开始处使用制表符
set smarttab
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" CTags的设定
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 按照名称排序
let Tlist_Sort_Type = "name"
" 在右侧显示窗口
let Tlist_Use_Right_Window = 1
" 压缩方式
let Tlist_Compart_Format = 1
" 如果只有一个buffer,kill窗口也kill掉buffer
let Tlist_Exist_OnlyWindow = 1
" 不要关闭其他文件的tags
let Tlist_File_Fold_Auto_Close = 0
" 不要显示折叠树
let Tlist_Enable_Fold_Column = 1
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" Autocommands
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 只在下列文件类型被侦测到的时候显示行号,普通文本文件不显示
if has("autocmd")
   autocmd FileType xml,html,c,cs,java,perl,shell,bash,cpp,python,vim,php,ruby set number
   autocmd FileType xml,html vmap <C-o> <ESC>'<i<!--<ESC>o<ESC>'>o-->
   autocmd FileType java,c,cpp,cs vmap <C-o> <ESC>'<o/*<ESC>'>o*/
   autocmd FileType html,text,php,vim,c,java,xml,bash,shell,perl,python setlocal textwidth=80
   autocmd Filetype html,xml,xsl source $VIMRUNTIME/plugin/closetag.vim
   autocmd BufReadPost *
      \ if line("'\"") > 0 && line("'\"") <= line("$") |
      \   exe "normal g`\"" |
      \ endif
endif " has("autocmd")
" C/C++的编译和运行
map <F5> :call CompileRunGcc()<CR>
func! CompileRunGcc()
exec "w"
exec "!make"
exec "! ./%<"
endfunc
" shell script运行
map <F6> :call CompileRunSH()<CR>
func! CompileRunSH()
exec "w"
exec "!chmod a+x %"
exec "!./%"
endfunc
" python运行
map <F7> :call CompileRunPyhton()<CR>
func! CompileRunPyhton()
exec "w"
exec "!chmod a+x %"
exec "!./%"
endfunc
" 能够漂亮地显示.NFO文件
set encoding=utf-8
function! SetFileEncodings(encodings)
    let b:myfileencodingsbak=&fileencodings
    let &fileencodings=a:encodings
endfunction
function! RestoreFileEncodings()
    let &fileencodings=b:myfileencodingsbak
    unlet b:myfileencodingsbak
endfunction
au BufReadPre *.nfo call SetFileEncodings('cp437')|set ambiwidth=single
au BufReadPost *.nfo call RestoreFileEncodings()
" 高亮显示普通txt文件(需要txt.vim脚本)
" au BufRead,BufNewFile *  setfiletype txt
" 用空格键来开关折叠
"set foldenable
"set foldlevel=0
"set foldmethod=indent
nnoremap <space> @=((foldclosed(line('.')) < 0) ? 'zc' : 'zo')<CR>
" minibufexpl插件的一般设置
let g:miniBufExplMapWindowNavVim = 1
let g:miniBufExplMapWindowNavArrows = 1
let g:miniBufExplMapCTabSwitchBufs = 1
let g:miniBufExplModSelTarget = 1
" Omni
let OmniCpp_DisplayMode = 1
" Comet
set path+=/usr/include
set path+=/usr/local/include
set tags+=~/tags/usrinclude
set tags+=~/tags/usrlocalinclude
augroup filetype
 au! BufRead,BufNewFile *.proto setfiletype proto
augroup end
 
 
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/cometeor/archive/2009/11/28/4895359.aspx
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: