經典編輯工具VIM配置 (附外掛程式包)

來源:互聯網
上載者:User

我現在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

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.