经典编辑工具VIM配置 (附插件包)

我现在VIM配置,用了4-5年了,very good

     

   配置文件+插件包+tag脚本: /Files/magic-chen/vim_config.rar

 

先上张图吧: 

 

配置文件: 

"""""""""""""""""""""""""""""""""
" peter.chen
"""""""""""""""""""""""""""""""""
" => General Options "{{{ 
set guifont=DejaVu\ Sans\ YuanTi\ Mono\ 10

" Session 
set sessionoptions-=curdir
set sessionoptions+=sesdir

" 高亮当前行
set cursorline
set nocursorcolumn

" 使用非兼容模式
set nocompatible  

" 设置文字编码自动识别
set fencs=utf-8,gb18030 

" 有关搜索的选项
set hls
set incsearch   
"set ic smartcase 

" 输入的命令显示出来
set showcmd

" 历史记录行数
set history=200

" 当文件在外部被修改时,自动读取
set autoread 

" 一直启动鼠标
set mouse=a

" 设置mapleader
let mapleader = ";"
let g:mapleader = ";"

" 快速重载配置文件
map <leader>s :source ~/.vimrc<cr> 
map <leader>e :e! ~/.vimrc<cr>

" 当.vimrc被修改时,重载之
autocmd! bufwritepost vimrc source ~/.vimrc 

" 自动跳转到上一次打开的位置
autocmd BufReadPost *
            \ if line(
"'\"") > 0 && line ("'\"") <= line("$") |
            \ exe 
"normal! g'\"" |
            \ endif 


"}}} 
" => Colors and Fonts "{{{ 
set t_Co=256
" 设置vim的本色方案
"set background=dark
"colorscheme wombat
colorscheme desert

" 语法高亮
syntax on

" 字体
"set gfn=Vera\ Sans\ YuanTi\ Mono:h10
"set gfn=Droid\ Sans\ Fallback:h10

" GUI
if has(
"gui_running")
    set guioptions-=T
    let psc_style='cool'
endif 

" 折叠相关
set foldmethod=marker
"}}}
" => other UI options"{{{
" Tab缩进
set smarttab
set tabstop=4 
set expandtab 

" 自动缩进 
set smartindent 
set shiftwidth=4
set autoindent 
set cindent 

" 显示行号
set number 

" 显示光标位置 
set ruler 

" wild菜单 
set wildmenu 

" 上下移动时,留3行
set so=3

" set backspace
set backspace=eol,start,indent

" Backspace and cursor keys wrap to
set whichwrap+=<,>,h,l

" set magic on 
set magic 

" No sound on errors
set noerrorbells
set novisualbell
set t_vb=

" 括号匹配
set showmatch 

" How many tenths of a second to blink
set mat=2

" 状态栏
set laststatus=2
function! CurDir()
    let curdir = substitute(getcwd(), '/home/peter', "~/""g")
    return curdir
endfunction
set statusline=\ %f%m%r%h\ %w\ %<CWD:\ %{CurDir()}\ %=Pos:\ %l/%L:%c\ %p%%\ 


" Smart way to move btw. windows
map <C-j> <C-W>j
map <C-k> <C-W>k
map <C-h> <C-W>h
map <C-l> <C-W>l

" 命令窗口大小
set cmdheight=1
"}}}
" => Files "{{{
" 文件编码 
set fileencodings=ucs-bom,utf-8,gb2312,gbk,gb18030,big-5,ucs,latin1

" 启动文件类型插件
filetype on 
filetype plugin on 
filetype indent on 

" 文件类型
set ffs=unix,dos
nmap <leader>fd :se ff=dos<cr>
nmap <leader>fu :se ff=unix<cr>

" 不备份文件
set nobackup
set nowritebackup
"}}}
" => MISC"{{{
"}}}
" => Plugins "{{{
" 自动完成 
set completeopt=longest,menu

" for taglist
nmap <F10> :TlistToggle <CR> 
let Tlist_Use_Right_Window=1
let Tlist_File_Fold_Auto_Close=1 

nmap <F9> :NERDTreeToggle <CR> 

" MiniBufExpl 
let g:miniBufExplMapWindowNavVim = 1
let g:miniBufExplMapWindowNavArrows = 1
let g:miniBufExplMapCTabSwitchBufs = 1
let g:miniBufExplModSelTarget = 1

nmap <F4> :MiniBufExplorer<cr> :UMiniBufExplorer<cr>

" SuperTab


" for AutoComplete
"let g:AutoComplPop_NotEnableAtStartup = 1
"nmap <F10> :AutoComplPopEnable
"nmap <C-F10> :AutoComplPopDisable

" for echofunc
set tags+=~/.vim/systags 
"nmap <M-F9> :!ctags --append=yes -f ~/.vim/systags --fields=+lS
"nmap <C-F9> :!ctags -R --fields=+lS
let g:EchoFuncLangsUsed = ["c""cpp""java"
"}}}
" => DIY的一些语法高亮"{{{
"hi Mark ctermbg=Red ctermfg=Green 
"syntax region unKnown start='???' end='???'
"hi def link unKnown Mark
" Test line:  ??? >...< ???
"match Mark '???'
"}}} 
" => 快捷键"{{{
" Buffer 
set hidden
nmap <leader>bn :bn<cr>
nmap <leader>bp :bp<cr>
nmap <leader>bb :b#<cr> 
nmap <leader>bls :buffers<cr>
nmap <leader>b1 :b1<cr>
nmap <leader>b2 :b2<cr>
nmap <leader>b3 :b3<cr>
nmap <leader>b4 :b4<cr>
nmap <leader>b5 :b5<cr>
nmap <leader>b6 :b6<cr>
nmap <leader>b7 :b7<cr>
nmap <leader>b8 :b8<cr>
nmap <leader>b9 :b9<cr> 

"nmap <F3> :vimgrep <cword> **/*.cpp **/*.h<cr> :copen <cr>
"nmap <F3> mZ :grep -Rn <cword> **/*.cpp **/*.c **/*.h **/*.java 2>/dev/null<cr><cr> :copen <cr>
nmap <F3> mZ :grep -Rn <cword> ./ 2>/dev/null<cr><cr> :copen <cr> 
set grepformat=%f:%l:%m
"set grepprg=

"}}}

set tags=tags;
set autochdir 

 

依赖:

 

exuberant-ctags  cscope

 

 

tag生成命令:

 #!/bin/bash


find $1 -name "*.h" -o -name "*.c" -o -name "*.cpp" -o -name "*.java" > files
cscope -bkq -i files
ctags -R

 

  插件: (不知道怎么传附件)

 .vim

├── autoload
│   └── csapprox.vim
├── colors
│   ├── 3dglasses.vim
│   ├── adaryn.vim
│   ├── adrian.vim
│   ├── aiseered.vim
│   ├── anotherdark.vim
│   ├── aqua.vim
│   ├── astronaut.vim
│   ├── asu1dark.vim
│   ├── autumn2.vim
│   ├── autumnleaf.vim
│   ├── autumn.vim
│   ├── baycomb.vim
│   ├── bclear.vim
│   ├── biogoo.vim
│   ├── blacksea.vim
│   ├── bluegreen.vim
│   ├── borland.vim
│   ├── breeze.vim
│   ├── brookstream.vim
│   ├── buttercream.vim
│   ├── calmar256_dark.vim
│   ├── calmar256-dark.vim
│   ├── calmar256_light.vim
│   ├── calmar256-light.vim
│   ├── camo.vim
│   ├── candycode.vim
│   ├── candy.vim
│   ├── chela_light.vim
│   ├── chocolateliquor.vim
│   ├── clarity.vim
│   ├── cleanphp.vim
│   ├── colorer.vim
│   ├── dante.vim
│   ├── darkblue2.vim
│   ├── darkbone.vim
│   ├── darkslategray.vim
│   ├── darkspectrum.vim
│   ├── darkZ.vim
│   ├── dawn.vim
│   ├── denim.vim
│   ├── desert256.vim
│   ├── desertEx.vim
│   ├── dusk.vim
│   ├── dw_blue.vim
│   ├── dw_cyan.vim
│   ├── dw_green.vim
│   ├── dw_orange.vim
│   ├── dw_purple.vim
│   ├── dw_red.vim
│   ├── dw_yellow.vim
│   ├── earendel.vim
│   ├── eclipse.vim
│   ├── ekvoli.vim
│   ├── fine_blue2.vim
│   ├── fine_blue.vim
│   ├── fnaqevan.vim
│   ├── fog.vim
│   ├── freya.vim
│   ├── fruit.vim
│   ├── fruity.vim
│   ├── golden.vim
│   ├── guardian.vim
│   ├── habilight.vim
│   ├── herald.vim
│   ├── impact.vim
│   ├── inkpot.vim
│   ├── ironman.vim
│   ├── jammy.vim
│   ├── jellybeans.vim
│   ├── kellys.vim
│   ├── leo.vim
│   ├── lettuce.vim
│   ├── lucius.vim
│   ├── manxome.vim
│   ├── marklar.vim
│   ├── maroloccio.vim
│   ├── martin_krischik.vim
│   ├── matrix.vim
│   ├── metacosm.vim
│   ├── molokai.vim
│   ├── moria.vim
│   ├── moss.vim
│   ├── motus.vim
│   ├── mustang.vim
│   ├── navajo_night.vim
│   ├── navajo-night.vim
│   ├── navajo.vim
│   ├── neon.vim
│   ├── neverness.vim
│   ├── nightshimmer.vim
│   ├── night.vim
│   ├── no_quarter.vim
│   ├── northland.vim
│   ├── nuvola.vim
│   ├── oceanblack.vim
│   ├── oceandeep.vim
│   ├── oceanlight.vim
│   ├── olive.vim
│   ├── papayawhip.vim
│   ├── peaksea.vim
│   ├── print_bw.vim
│   ├── pyte.vim
│   ├── railscasts2.vim
│   ├── railscasts.vim
│   ├── rdark.vim
│   ├── relaxedgreen.vim
│   ├── robinhood.vim
│   ├── rootwater.vim
│   ├── satori.vim
│   ├── sea.vim
│   ├── settlemyer.vim
│   ├── sienna.vim
│   ├── silent.vim
│   ├── simpleandfriendly.vim
│   ├── softblue.vim
│   ├── soso.vim
│   ├── spring.vim
│   ├── summerfruit256.vim
│   ├── synic.vim
│   ├── tabula.vim
│   ├── tango2.vim
│   ├── tango.vim
│   ├── taqua.vim
│   ├── tcsoft.vim
│   ├── tir_black.vim
│   ├── tolerable.vim
│   ├── torte.vim
│   ├── twilight.vim
│   ├── two2tango.vim
│   ├── vc.vim
│   ├── vibrantink.vim
│   ├── vividchalk.vim
│   ├── vylight.vim
│   ├── winter.vim
│   ├── wombat256.vim
│   ├── wombat.vim
│   ├── wood.vim
│   ├── wuye.vim
│   ├── xemacs.vim
│   ├── xoria256.vim
│   ├── zenburn.vim
│   └── zmrok.vim
├── doc
│   ├── bufexplorer.txt
│   ├── CSApprox.txt
│   ├── NERD_tree.txt
│   ├── supertab.txt
│   ├── taglist.txt
│   └── tags
├── minibufexpl.vim
├── nerdtree_plugin
│   ├── exec_menuitem.vim
│   └── fs_menu.vim
├── plugin
│   ├── autoload_cscope.vim
│   ├── bufexplorer.vim
│   ├── CSApprox.vim
│   ├── echofunc.vim
│   ├── mark.vim
│   ├── NERD_tree.vim
│   ├── ScrollColor.vim
│   ├── supertab.vim
│   └── taglist.vim
├── syntax
│   ├── cpp.vim
│   ├── c.vim
│   ├── ifdef.vim
│   └── java.vim
└── systags

6 directories, 166 files

 

posted @ 2012-03-21 17:59  没头的苍蝇  阅读(9914)  评论(18编辑  收藏  举报