Chinaunix首页 | 论坛 | 博客
  • 博客访问: 31569
  • 博文数量: 8
  • 博客积分: 326
  • 博客等级: 二等列兵
  • 技术积分: 105
  • 用 户 组: 普通用户
  • 注册时间: 2007-09-06 00:35
文章分类

全部博文(8)

文章存档

2012年(5)

2011年(2)

2007年(1)

我的朋友

分类: LINUX

2012-07-16 09:46:08

自己的_vimrc和plugin备忘录:

plugin:
  1. 1、目录树:NERDTree       
  2.     (呼出:F10、帮助:?、书签:Bookmark、折叠:o、上一级:u、标签页打开:t)  
  3.   
  4. 2、代码导航:ctags          
  5.     (生成tags:F12、跳转:C-]、返回:C-t)  
  6.   
  7. 3、代码导航:cscope         
  8.     (生成cscope.file:F12)  
  9.   
  10. 4、代码导航:taglist        
  11.     (呼出:A-=、跳转:回车、)  
  12.   
  13. 5、缓冲区:bufexplorer    
  14.     (呼出:C-x、帮助:F1、关闭文件:d)  
  15.   
  16. 6、自动注释:phpDocumentor  
  17.     (类注释:A-/、函数/变量/成员注释:C-p)  
  18.   
  19. 7、批量注释:NERDCommenter  
  20.     (注释:,cl、取消注释:,cu、)  
  21.   
  22. 8、自动补全       
  23.     (单词:C-p/C-n、一行:C-x/C-l、关键词(内置函数):C-x/C-o、帮助::help ins-completion)  
  24.   
  25. 9、代码模板:SnippetsEmu    
  26.     (_php、_func、_com ... + tab)  
  27.   
  28. 10、PHP语法检查  
  29.     (呼出:M-0、呼出quickfix::cw、关闭quickfix::ccl)  
  30.   
  31. 11、命令行cgi预览效果  
  32.     (呼出:F6)  
  33.   
  34. 12、Firefox预览效果  
  35.     (呼出:M--)  
  36.   
  37. 13、shell:VimShell  
  38.     (呼出:VimShell)  
  39.       
  40. 14、日历:calendar  
  41.     (呼出:Calendar)  
  42.   
  43. 15、CSS:c***plorer  
  44.     (呼出:ColorSchemeExplorer)  
  45.   
  46. 16、%匹配:matchit 
  47.  
  48. 17、命令行下自动补全:cmdlinecomplete 
  49.      (C-p/C-n)

  50. 18、vim里的终端:ConqueTerm
  51.       (呼出: = :ConqueTermTab)

  52. 19、PHP实时手册
  53.       (呼出:函数体上摁K键)

  54. 20、svndiff,与最近一次版本比较
  55.        (呼出:)



.vimrc
  1. """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""  
  2. " autocmd  
  3. """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""  
  4.   
  5. "  _vimrc 时vim  
  6. autocmd! bufwritepost _vimrc source %  
  7.   
  8. " 终端配色方案256色  
  9. " set t_Co=256  
  10.   
  11. "  判断当前操作系统类型  
  12. if(has("win32") || has("win95") || has("win64") || has("win16"))  
  13.     let g:iswindows=1  
  14. else  
  15.     let g:iswindows=0  
  16. endif  
  17.   
  18. " disable VI's compatible mode..  
  19. set nocompatible  
  20.   
  21. " php函数自动补全  
  22. set dictionary-=~/.vim/plugin/funclist.txt dictionary+=~/.vim/plugin/funclist.txt  
  23. set complete-=k complete +=k  
  24.   
  25. " 自动切换当前打开的文件所在目录为当前目录  
  26. set autochdir   
  27. let mydir=getcwd()  
  28. execute ":cd ".mydir  
  29.   
  30. " charset  
  31. set fileencodings=utf-8,ucs-bom,gbk,default,latin1  
  32. set fileencoding=utf-8  
  33. set encoding=utf-8  
  34. set fileformats=unix  
  35.   
  36. " set foldmethod  
  37. set fdm=marker  
  38. " au BufWinLeave * silent mkview    
  39. " au BufWinEnter * silent loadview    
  40.   
  41. " use chinese help  
  42. set helplang=cn  
  43.   
  44. " use chinese menu  
  45. " source $VIMRUNTIME/delmenu.vim  
  46. " source $VIMRUNTIME/menu.vim  
  47.   
  48. " Enable filetype plugin  
  49. filetype on  
  50. filetype plugin on  
  51. filetype indent on  
  52.   
  53. " set g ui options  
  54. if has("gui_running")  
  55.   set guifont=DejaVu\ Sans\ Mono\ 12  
  56.   set guifontwide=FZXingKai\-S04\ 12  
  57.   colorscheme freya  
  58. else  
  59.   set guifont=Consolas:h13  
  60.   colorscheme freya  
  61. endif  
  62.   
  63. "The commandbar is 2 high  
  64. set cmdheight=2  
  65.   
  66. " Enable syntax highlight  
  67. syntax enable  
  68.   
  69. " Show line number  
  70. set nu  
  71.   
  72. " show matching bracets  
  73. set showmatch  
  74.   
  75. " Basic editing options  
  76. set expandtab  
  77. set shiftwidth=4  
  78.   
  79. au FileType java,php,js,html,htm,css,html,python,vim,javascript,pl setl shiftwidth=4  
  80. au FileType java,php,js,html,htm,css,html,python,vim,javascript,pl setl tabstop=4  
  81.   
  82. set smarttab  
  83. set lbr  
  84. set tw=0  
  85.   
  86. " Smart indet  
  87. set si  
  88.   
  89. " Wrap lines  
  90. set wrap  
  91.   
  92. " Sets how many lines of history VIM har to remember  
  93. set history=400  
  94.   
  95. " Set to auto read when a file is changed from the outside  
  96. set autoread  
  97.   
  98. " Have the mouse enabled all the time:  
  99. set mouse=a  
  100.   
  101. " Do not redraw, when running macros.. lazyredraw  
  102. set lz  
  103.   
  104. " set 7 lines to the curors - when moving vertical..  
  105. set so=7  
  106.   
  107. "增强命令行补全  
  108. set wildmenu  
  109.   
  110. "显示光标位置  
  111. set ruler  
  112.   
  113. " The commandbar is 2 high  
  114. set cmdheight=2  
  115.   
  116. " Change buffer - without saving  
  117. set hid  
  118.   
  119. " 搜索时忽略大小写  
  120. set ignorecase  
  121. set incsearch  
  122.   
  123. " Set magic on  
  124. set magic  
  125.   
  126. " No sound on errors.  
  127. set noerrorbells  
  128. set novisualbell  
  129. set t_vb=  
  130.   
  131. " How many tenths of a second to blink  
  132. set mat=4  
  133.   
  134. " Highlight search things  
  135. set hlsearch  
  136.   
  137. " Turn backup off  
  138. set nobackup  
  139. set nowb  
  140. set noswapfile  
  141.   
  142. " smart backspace  
  143. set backspace=start,indent,eol  
  144.   
  145. " switch buffers with Tab  
  146. map <C-Tab> :bn<CR>  
  147. map <S-Tab> :bp<CR>  
  148.   
  149. " php editing  
  150. " remove CR at end of lines  
  151. let PHP_removeCRwhenUnix = 1  
  152. " Set up automatic formatting  
  153. "set formatoptions+=tcqlro  
  154. "set formatoptions-=cro  
  155. " Set maximum text width (for wrapping)  
  156. set textwidth=110  
  157.   
  158. "自动缩进与智能缩进  
  159. set autoindent  
  160. set smartindent  
  161.   
  162. "换行不截断单词  
  163. set linebreak  
  164.   
  165. " 换行不自动加注释  
  166. set formatoptions+=tcqn  
  167.   
  168. "C风格缩进  
  169. set cindent  
  170.   
  171. "set noautoindent  
  172.   
  173.   
  174. """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""  
  175. " => Plugin configuration  
  176. """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""  
  177.   
  178. " NERDTree  
  179. map <F10> :NERDTreeToggle<CR>  
  180. if has("gui_running")  
  181.     autocmd VimEnter * :NERDTreeToggle  
  182. endif  
  183.   
  184. " taglist 配置  
  185. let Tlist_Ctags_Cmd='/usr/local/modules/vim/ctags/bin/ctags'  
  186. let Tlist_Auto_Highlight_Tag = 1  
  187. let Tlist_Auto_Open = 0  
  188. let Tlist_Auto_Update = 1  
  189. let Tlist_Close_On_Select = 0  
  190. let Tlist_Compact_Format = 0  
  191. let Tlist_Display_Prototype = 0  
  192. let Tlist_Display_Tag_Scope = 1  
  193. let Tlist_Enable_Fold_Column = 0  
  194. let Tlist_Exit_OnlyWindow = 0  
  195. let Tlist_File_Fold_Auto_Close = 0  
  196. let Tlist_GainFocus_On_ToggleOpen = 1  
  197. let tlist_php_settings = 'php;c:class;i:interfaces;d:constant;f:function'  
  198.   
  199. map <M-M-=> to toggle taglist window  
  200. nmap <silent> <M-M-=> :TlistToggle<CR>  
  201. " taglist 配置结束  
  202.   
  203. " bufexplorer  
  204. let g:bufExplorerDefaultHelp=1  
  205. let g:bufExplorerDetailedHelp=0  
  206. let g:bufExplorerSortBy='mru'  
  207. nmap <C-X> :BufExplorer<CR>  
  208.   
  209. " phpDocumentor for VIM  
  210. inoremap <A-/> <ESC>:call PhpDocSingle()<CR>i  
  211. nnoremap <A-/> :call PhpDocSingle()<CR>  
  212. vnoremap <A-/> :call PhpDocRange()<CR>   
  213.   
  214. " set pdv  
  215. let g:pdv_cfg_Type = "mixed"  
  216. let g:pdv_cfg_Package = ""  
  217. let g:pdv_cfg_Version = "$Id$"  
  218. let g:pdv_cfg_Author = "dualface "  
  219. let g:pdv_cfg_Copyright = "2006 - 2009 QeeYuan.com Ltd."  
  220. let g:pdv_cfg_License = "New BSD {@link }"  
  221. let g:pdv_cfg_php4always = 0  
  222. let g:pdv_cfg_php4guess = 0  
  223.   
  224. " PHP syntax check  
  225. function! PHP_CheckSyntax()  
  226.     setlocal makeprg=php\ -l  
  227.     setlocal shellpipe=>  
  228.     setlocal errorformat=%m  
  229.     make %  
  230. endfunction  
  231.   
  232. " Perform :PHP_CheckSyntax()  
  233. map <M-0> :call PHP_CheckSyntax()<CR>  
  234.   
  235. " PHP output with firefox  
  236. function! PHP_FireFox()  
  237.      let dir=getcwd()."/".bufname("%")  
  238.      let filepath=substitute(dir, '/home/xinglu/data/www/', "", "g")  
  239.      " let filepath=substitute(filepath,"\\","\/","g")  
  240.      silent execute "!google-chrome ".filepath."?XDEBUG_SESSION_START=1"  
  241. endfunction  
  242. map <M--> :call PHP_FireFox()<CR>  
  243.   
  244. " ctags更新tags  
  245. function! PHP_ctags()  
  246.      let dir=getcwd()  
  247.      " silent execute "!firefox ".filepath  
  248.      silent execute "!ctags -R ".dir  
  249. endfunction  
  250. map <M-F12> :call PHP_ctags()<CR>  
  251.   
  252. " tab  
  253. set guitablabel=%N/\ %t\ %M  
  254. map <M-1> 1gt  
  255. map <M-2> 2gt  
  256. map <M-3> 3gt  
  257. map <M-4> 4gt  
  258. map <M-5> 5gt  
  259. map <M-6> 6gt  
  260. map <M-7> 7gt  
  261. map <M-8> 8gt  
  262. map <M-9> 9gt   
  263. map <M-F1> :tabclose<CR>  
  264. map <M-F2> :tabedit<CR>  
  265.   
  266. " 启动时 最大化  
  267. " au GUIEnter * simalt ~x  
  268. function Maximize_Window()  
  269.     silent !wmctrl -r :ACTIVE: -b add,maximized_vert,maximized_horz  
  270. endfunction  
  271. if has("gui_running")  
  272.     autocmd VimEnter * :call Maximize_Window()  
  273. endif  
  274.   
  275. " Toggle Menu and Toolbar  
  276. set guioptions-=m  
  277. set guioptions-=T  
  278.   
  279. " ConqueTerm  
  280. let g:ConqueTerm_PyExe = '/usr/bin/python3'  
  281. map <M-m> :ConqueTermTab bash <CR>  
  282.   
  283.   
  284. " 滚屏  
  285. noremap <C-j> 3<C-e>  
  286. noremap <C-k> 3<C-y>  
  287. nnoremap <SPACE> 2<C-e>  
  288. nnoremap ; 2<C-y>  
  289.   
  290. " S-I拷贝映射  
  291. map <S-Insert> <MiddleMouse>  
  292. map! <S-Insert> <MiddleMouse>  
  293.   
  294. " PHP手册帮助文档  
  295. set runtimepath+=~/.vim/phpmuanul  
  296. au BufNewFile,Bufread *.ros,*.inc,*.php set keywordprg="help"  
  297. au BufNewFile,BufRead *.install,*.inc,*.module,*.test set filetype=php  
  298.   
  299. " 查看 svn diff  
  300. function FlwSvnDiffToggle()  
  301.     if bufexists( "__SVN_DIFF__" )  
  302.         bwipeout __SVN_DIFF__  
  303.     else  
  304.         if exists("t:flwsvndiff")  
  305.             diffoff!  
  306.             let l:fileName = t:flwsvndiff  
  307.             unlet t:flwsvndiff  
  308.             exec "bwipeout " . l:fileName              
  309.         else  
  310.             let t:flwsvndiff = expand("%:h") . "/.svn/text-base/" . expand("%:t") . ".svn-base"  
  311.             let l:ft = &ft  
  312.             exec "silent vert diffsplit " . t:flwsvndiff  
  313.             set readonly  
  314.             set buftype=nofile  
  315.             exec "set ft=" . l:ft  
  316.             wincmd p  
  317.             autocmd VimResized * :wincmd =  
  318.         endif  
  319.     endif  
  320. endfunction  
  321.   
  322. " 绑定 Alt+F11 成为开启、关闭 svn diff 效果的快捷键  
  323. nmap <silent> <M-F11> :call FlwSvnDiffToggle()<CR>  
  324. nmap <silent> g<M-F11> :new __SVN_DIFF__ <CR>:read !svn diff<CR>:set syntax=diff buftype=nofile<CR>gg  

 

阅读(1048) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~