没地方保存,先放这里
" {{{
" DesCRiption: zoro的vimrc文件
" Last Change: 2011-09-07
" Author: Zoro
" Version: 0.1
"}}}
" 关闭 vi 兼容模式
let performance_mode=0
source $VIMRUNTIME/vimrc_example.vim
source $VIMRUNTIME/mswin.vim
behave mswin
set nocompatible
function! MySys()
if has("win32")
return "win32"
elseif has("unix")
return "unix"
else
return "mac"
endif
endfunction
" 检测文件类型
filetype on
" 检测文件类型插件
filetype plugin on
" 不设定在插入状态无法用退格键和 Delete 键删除回车符
set backspace=indent,eol,start
set whichwrap+=<,>,h,l
" 显示行号
set number
" 上下可视行数
set scrolloff=6
" 设定 tab 长度为 4
set tabstop=4
" 设置按BackSpace的时候可以一次删除掉4个空格
set softtabstop=4
" 设定 << 和 >> 命令移动时的宽度为 4
set shiftwidth=4
set smarttab
"设置历史最大记录
set history=400
"Highlight current
if has("gui_running")
if exists("&cursorline")
set cursorline
endif
endif
"Set to auto read when a file is changed from the outside
if exists("&autoread")
set autoread
endif
"Have the mouse enabled all the time:
if exists("&mouse")
set mouse=a
endif
"Set mapleader
let mapleader = ","
let g:mapleader = ","
"Fast saving
nmap <leader>x :xa!<cr>
nmap <leader>w :w!<cr>
" => Colors and Font
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"Enable syntax hl
if MySys()=="unix"
if v:version<600
if filereadable(expand("$VIM/syntax/syntax.vim"))
syntax on
endif
else
syntax on
endif
else
syntax on
endif
" set encoding=utf-8
set fileencodings=ucs-bom,utf-8,iso8859-1,gbk,default,latin
if has("gui_running")
set guioptions-=m
set guioptions-=T
set guioptions-=l
set guioptions-=L
set guioptions-=r
set guioptions-=R
if MySys()=="win32"
"start gvim maximized
if has("autocmd")
au GUIEnter * simalt ~x
endif
endif
"let psc_style='cool'
if v:version > 601
"colorscheme ps_color
"colorscheme default
colorscheme desert
set guifont=Consolas:h10
endif
else
if v:version > 601
"set background=dark
colorscheme default
"colorscheme desert "elflord
set guifont=Consolas:h10
endif
endif
"Highlight current
if has("gui_running")
if exists("&cursorline")
set cursorline
endif
endif
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" => Fileformat
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"Favorite filetype
set ffs=unix,dos,mac
nmap <leader>fd :se ff=dos<cr>
nmap <leader>fu :se ff=unix<cr>
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" => VIM userinterface
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"Set 7 lines to the curors - when moving vertical..
set so=7
"Turn on WiLd menu
set wildmenu
"Always show current position
set ruler
"The commandbar is 2 high
set cmdheight=2
"Show line number
set nu
"Do not redraw, when running macros.. lazyredraw
set lz
"Change buffer - without saving
set hid
"Set backspace
set backspace=eol,start,indent
"Bbackspace and cursor keys wrap to
set whichwrap+=<,>,h,l
"Ignore case when searching
"set ignorecase
set incsearch
"Set magic on
set magic
"No sound on errors.
set noerrorbells
set novisualbell
set t_vb=
"show matching bracet
set showmatch
"How many tenths of a second to blink
set mat=8
"Highlight search thing
set hlsearch
""""""""""""""""""""""""""""""
" => Statusline
""""""""""""""""""""""""""""""
"Format the statusline
" Nice statusbar
if performance_mode
else
set laststatus=2
set statusline=
"set statusline+=%2*%-3.3n%0*/ " buffer number
set statusline+=%f/ " file name
set statusline+=%1*%h%m%r%w%0* " flags
set statusline+=%2*0x%-8B " current char
set statusline+=%-8b
set statusline+=%-14.(%l,%c%V%)/%5p%% " offset
set statusline+=%= " right align
set statusline+=%0*[
if v:version >= 600
set statusline+=%{strlen(&ft)?&ft:'none'}, " filetype
set statusline+=%{&encoding}, " encoding
endif
set statusline+=%{&fileformat}]%1* " file format
if filereadable(expand("$VIM/vimfiles/plugin/vimbuddy.vim"))
set statusline+=/ %{VimBuddy()} " vim buddy
endif
" " special statusbar for special windows
" if has("autocmd")
" au FileType qf
" / if &buftype == "quickfix" |
" / setlocal statusline=%2*%-3.3n%0* |
" / setlocal statusline+=/ /[Compiler/ Messages/] |
" / setlocal statusline+=%=%2*/ %<%P |
" / endif
"
" fun! FixMiniBufExplorerTitle()
" if "-MiniBufExplorer-" == bufname("%")
" setlocal statusline=%2*%-3.3n%0*
" setlocal statusline+=/[Buffers/]
" setlocal statusline+=%=%2*/ %<%P
" endif
" endfun
"
" if v:version>=600
" au BufWinEnter *
" / let oldwinnr=winnr() |
" / windo call FixMiniBufExplorerTitle() |
" / exec oldwinnr . " wincmd w"
" endif
" endif
"
" " Nice window title
" if has('title') && (has('gui_running') || &title)
" set titlestring=
" set titlestring+=%f/ " file name
" set titlestring+=%h%m%r%w " flags
" set titlestring+=/ -/ %{v:progname} " program name
" endif
endif
"设置状态栏根据不同状态显示不同颜色
function! InsertStatuslineColor(mode)
if a:mode == 'i'
hi statusline guibg=peru
elseif a:mode == 'r'
hi statusline guibg=blue
else
hi statusline guibg=red
endif
endfunction
au InsertEnter * call InsertStatuslineColor(v:insertmode)
au InsertLeave * hi statusline guibg=#9932CC guifg=white
hi statusline guibg=#696969 guifg=#B8860B
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" => Moving around and tab
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"Map space to / and c-space to ?
map <space> /
"Smart way to move btw. window
map <C-j> <C-W>j
map <C-k> <C-W>k
map <C-h> <C-W>h
map <C-l> <C-W>l
"Tab configuration
map <leader>tn :tabnew %<cr>
map <leader>tc :tabclose<cr>
map <leader>tm :tabmove
if v:version>=700
set switchbuf=usetab
endif
if exists("&showtabline")
set stal=2
endif
"Moving fast to front, back and 2 sides ;)
imap <m-$> <esc>$a
imap <m-0> <esc>0i
imap <D-$> <esc>$a
imap <D-0> <esc>0i
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" => General Autocommand
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"Switch to current dir
map <leader>cd :cd %:p:h<cr>
""""""""""""""""""""""""""""""
" => Indent
""""""""""""""""""""""""""""""
"Auto indent
set ai
"Smart indet
set si
"C-style indenting
if has("cindent")
set cindent
endif
"Wrap line
set wrap
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" => Spell checking
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
map <leader>sn ]
map <leader>sp [
map <leader>sa zg
map <leader>s? z=
"Fast reloading of the .vimrc
map <silent> <leader>ss :source $VIM/_vimrc<cr>
"Fast editing of .vimrc
map <silent> <leader>ee :e $VIM/_vimrc<cr>
"When .vimrc is edited, reload it
autocmd! bufwritepost .vimrc source $VIM/_vimrc
" autoload _vimrc
autocmd! bufwritepost _vimrc source %
" use chinese help
set helplang=cn
" NERDTree
map <F10> :NERDTreeToggle<CR>
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" => Plugin configuration
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" taglist
let Tlist_Show_One_File = 1
let Tlist_Exit_OnlyWindow = 1
let Tlist_Use_Right_Window = 1
let Tlist_Auto_Highlight_Tag = 1
let Tlist_Auto_Open = 0
let Tlist_Auto_Update = 1
let Tlist_Close_On_Select = 0
let Tlist_Compact_Format = 0
let Tlist_Display_Prototype = 0
let Tlist_Display_Tag_Scope = 1
let Tlist_Enable_Fold_Column = 0
"let Tlist_Exit_OnlyWindow = 0
let Tlist_File_Fold_Auto_Close = 1
let Tlist_GainFocus_On_ToggleOpen = 1
let Tlist_Hightlight_Tag_On_BufEnter = 1
let Tlist_Inc_Winwidth = 0
map <silent> <F9> :TlistToggle<cr>
map <F11> <Esc>:call libcallnr("gvimfullscreen.dll", "ToggleFullScreen", 0)<CR>
imap <F11> <Esc>:call libcallnr("gvimfullscreen.dll", "ToggleFullScreen", 0)<CR>
set runtimepath+=E:\vim-php-manual
autocmd BufNewFile,Bufread *.module,*.inc,*.php set keywordprg="help"
"cs add F:\php5\cscope.out
"map <C-g> :cs find g <C-R>=expand("<cword>")<CR>
"set tags+=/server/php-src/tags
map ca :Calendar<cr>
map <silent> <leader>bb :cd ..<cr>
update