自己的_vimrc和plugin备忘录:
plugin:
- 1、目录树:NERDTree
- (呼出:F10、帮助:?、书签:Bookmark、折叠:o、上一级:u、标签页打开:t)
-
- 2、代码导航:ctags
- (生成tags:F12、跳转:C-]、返回:C-t)
-
- 3、代码导航:cscope
- (生成cscope.file:F12)
-
- 4、代码导航:taglist
- (呼出:A-=、跳转:回车、)
-
- 5、缓冲区:bufexplorer
- (呼出:C-x、帮助:F1、关闭文件:d)
-
- 6、自动注释:phpDocumentor
- (类注释:A-/、函数/变量/成员注释:C-p)
-
- 7、批量注释:NERDCommenter
- (注释:,cl、取消注释:,cu、)
-
- 8、自动补全
- (单词:C-p/C-n、一行:C-x/C-l、关键词(内置函数):C-x/C-o、帮助::help ins-completion)
-
- 9、代码模板:SnippetsEmu
- (_php、_func、_com ... + tab)
-
- 10、PHP语法检查
- (呼出:M-0、呼出quickfix::cw、关闭quickfix::ccl)
-
- 11、命令行cgi预览效果
- (呼出:F6)
-
- 12、Firefox预览效果
- (呼出:M--)
-
- 13、shell:VimShell
- (呼出:VimShell)
-
- 14、日历:calendar
- (呼出:Calendar)
-
- 15、CSS:c***plorer
- (呼出:ColorSchemeExplorer)
-
- 16、%匹配:matchit
-
- 17、命令行下自动补全:cmdlinecomplete
- (C-p/C-n)
- 18、vim里的终端:ConqueTerm
- (呼出: = :ConqueTermTab)
- 19、PHP实时手册
- (呼出:函数体上摁K键)
- 20、svndiff,与最近一次版本比较
- (呼出:)
.vimrc
- """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
- " autocmd
- """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
-
- " _vimrc 时vim
- autocmd! bufwritepost _vimrc source %
-
- " 终端配色方案256色
- " set t_Co=256
-
- " 判断当前操作系统类型
- if(has("win32") || has("win95") || has("win64") || has("win16"))
- let g:iswindows=1
- else
- let g:iswindows=0
- endif
-
- " disable VI's compatible mode..
- set nocompatible
-
- " php函数自动补全
- set dictionary-=~/.vim/plugin/funclist.txt dictionary+=~/.vim/plugin/funclist.txt
- set complete-=k complete +=k
-
- " 自动切换当前打开的文件所在目录为当前目录
- set autochdir
- let mydir=getcwd()
- execute ":cd ".mydir
-
- " charset
- set fileencodings=utf-8,ucs-bom,gbk,default,latin1
- set fileencoding=utf-8
- set encoding=utf-8
- set fileformats=unix
-
- " set foldmethod
- set fdm=marker
- " au BufWinLeave * silent mkview
- " au BufWinEnter * silent loadview
-
- " use chinese help
- set helplang=cn
-
- " use chinese menu
- " source $VIMRUNTIME/delmenu.vim
- " source $VIMRUNTIME/menu.vim
-
- " Enable filetype plugin
- filetype on
- filetype plugin on
- filetype indent on
-
- " set g ui options
- if has("gui_running")
- set guifont=DejaVu\ Sans\ Mono\ 12
- set guifontwide=FZXingKai\-S04\ 12
- colorscheme freya
- else
- set guifont=Consolas:h13
- colorscheme freya
- endif
-
- "The commandbar is 2 high
- set cmdheight=2
-
- " Enable syntax highlight
- syntax enable
-
- " Show line number
- set nu
-
- " show matching bracets
- set showmatch
-
- " Basic editing options
- set expandtab
- set shiftwidth=4
-
- au FileType java,php,js,html,htm,css,html,python,vim,javascript,pl setl shiftwidth=4
- au FileType java,php,js,html,htm,css,html,python,vim,javascript,pl setl tabstop=4
-
- set smarttab
- set lbr
- set tw=0
-
- " Smart indet
- set si
-
- " Wrap lines
- set wrap
-
- " Sets how many lines of history VIM har to remember
- set history=400
-
- " Set to auto read when a file is changed from the outside
- set autoread
-
- " Have the mouse enabled all the time:
- set mouse=a
-
- " Do not redraw, when running macros.. lazyredraw
- set lz
-
- " set 7 lines to the curors - when moving vertical..
- set so=7
-
- "增强命令行补全
- set wildmenu
-
- "显示光标位置
- set ruler
-
- " The commandbar is 2 high
- set cmdheight=2
-
- " Change buffer - without saving
- set hid
-
- " 搜索时忽略大小写
- set ignorecase
- set incsearch
-
- " Set magic on
- set magic
-
- " No sound on errors.
- set noerrorbells
- set novisualbell
- set t_vb=
-
- " How many tenths of a second to blink
- set mat=4
-
- " Highlight search things
- set hlsearch
-
- " Turn backup off
- set nobackup
- set nowb
- set noswapfile
-
- " smart backspace
- set backspace=start,indent,eol
-
- " switch buffers with Tab
- map <C-Tab> :bn<CR>
- map <S-Tab> :bp<CR>
-
- " php editing
- " remove CR at end of lines
- let PHP_removeCRwhenUnix = 1
- " Set up automatic formatting
- "set formatoptions+=tcqlro
- "set formatoptions-=cro
- " Set maximum text width (for wrapping)
- set textwidth=110
-
- "自动缩进与智能缩进
- set autoindent
- set smartindent
-
- "换行不截断单词
- set linebreak
-
- " 换行不自动加注释
- set formatoptions+=tcqn
-
- "C风格缩进
- set cindent
-
- "set noautoindent
-
-
- """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
- " => Plugin configuration
- """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
-
- " NERDTree
- map <F10> :NERDTreeToggle<CR>
- if has("gui_running")
- autocmd VimEnter * :NERDTreeToggle
- endif
-
- " taglist 配置
- let Tlist_Ctags_Cmd='/usr/local/modules/vim/ctags/bin/ctags'
- 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 = 0
- let Tlist_GainFocus_On_ToggleOpen = 1
- let tlist_php_settings = 'php;c:class;i:interfaces;d:constant;f:function'
-
- map <M-M-=> to toggle taglist window
- nmap <silent> <M-M-=> :TlistToggle<CR>
- " taglist 配置结束
-
- " bufexplorer
- let g:bufExplorerDefaultHelp=1
- let g:bufExplorerDetailedHelp=0
- let g:bufExplorerSortBy='mru'
- nmap <C-X> :BufExplorer<CR>
-
- " phpDocumentor for VIM
- inoremap <A-/> <ESC>:call PhpDocSingle()<CR>i
- nnoremap <A-/> :call PhpDocSingle()<CR>
- vnoremap <A-/> :call PhpDocRange()<CR>
-
- " set pdv
- let g:pdv_cfg_Type = "mixed"
- let g:pdv_cfg_Package = ""
- let g:pdv_cfg_Version = "$Id$"
- let g:pdv_cfg_Author = "dualface "
- let g:pdv_cfg_Copyright = "2006 - 2009 QeeYuan.com Ltd."
- let g:pdv_cfg_License = "New BSD {@link }"
- let g:pdv_cfg_php4always = 0
- let g:pdv_cfg_php4guess = 0
-
- " PHP syntax check
- function! PHP_CheckSyntax()
- setlocal makeprg=php\ -l
- setlocal shellpipe=>
- setlocal errorformat=%m
- make %
- endfunction
-
- " Perform :PHP_CheckSyntax()
- map <M-0> :call PHP_CheckSyntax()<CR>
-
- " PHP output with firefox
- function! PHP_FireFox()
- let dir=getcwd()."/".bufname("%")
- let filepath=substitute(dir, '/home/xinglu/data/www/', "", "g")
- " let filepath=substitute(filepath,"\\","\/","g")
- silent execute "!google-chrome ".filepath."?XDEBUG_SESSION_START=1"
- endfunction
- map <M--> :call PHP_FireFox()<CR>
-
- " ctags更新tags
- function! PHP_ctags()
- let dir=getcwd()
- " silent execute "!firefox ".filepath
- silent execute "!ctags -R ".dir
- endfunction
- map <M-F12> :call PHP_ctags()<CR>
-
- " tab
- set guitablabel=%N/\ %t\ %M
- map <M-1> 1gt
- map <M-2> 2gt
- map <M-3> 3gt
- map <M-4> 4gt
- map <M-5> 5gt
- map <M-6> 6gt
- map <M-7> 7gt
- map <M-8> 8gt
- map <M-9> 9gt
- map <M-F1> :tabclose<CR>
- map <M-F2> :tabedit<CR>
-
- " 启动时 最大化
- " au GUIEnter * simalt ~x
- function Maximize_Window()
- silent !wmctrl -r :ACTIVE: -b add,maximized_vert,maximized_horz
- endfunction
- if has("gui_running")
- autocmd VimEnter * :call Maximize_Window()
- endif
-
- " Toggle Menu and Toolbar
- set guioptions-=m
- set guioptions-=T
-
- " ConqueTerm
- let g:ConqueTerm_PyExe = '/usr/bin/python3'
- map <M-m> :ConqueTermTab bash <CR>
-
-
- " 滚屏
- noremap <C-j> 3<C-e>
- noremap <C-k> 3<C-y>
- nnoremap <SPACE> 2<C-e>
- nnoremap ; 2<C-y>
-
- " S-I拷贝映射
- map <S-Insert> <MiddleMouse>
- map! <S-Insert> <MiddleMouse>
-
- " PHP手册帮助文档
- set runtimepath+=~/.vim/phpmuanul
- au BufNewFile,Bufread *.ros,*.inc,*.php set keywordprg="help"
- au BufNewFile,BufRead *.install,*.inc,*.module,*.test set filetype=php
-
- " 查看 svn diff
- function FlwSvnDiffToggle()
- if bufexists( "__SVN_DIFF__" )
- bwipeout __SVN_DIFF__
- else
- if exists("t:flwsvndiff")
- diffoff!
- let l:fileName = t:flwsvndiff
- unlet t:flwsvndiff
- exec "bwipeout " . l:fileName
- else
- let t:flwsvndiff = expand("%:h") . "/.svn/text-base/" . expand("%:t") . ".svn-base"
- let l:ft = &ft
- exec "silent vert diffsplit " . t:flwsvndiff
- set readonly
- set buftype=nofile
- exec "set ft=" . l:ft
- wincmd p
- autocmd VimResized * :wincmd =
- endif
- endif
- endfunction
-
- " 绑定 Alt+F11 成为开启、关闭 svn diff 效果的快捷键
- nmap <silent> <M-F11> :call FlwSvnDiffToggle()<CR>
- nmap <silent> g<M-F11> :new __SVN_DIFF__ <CR>:read !svn diff<CR>:set syntax=diff buftype=nofile<CR>gg
阅读(932) | 评论(0) | 转发(0) |