一:配置目录树 
   
  1.安装vim 
  apt-get install vim 
   
  vim /root/.vimrc 
   
  :set hlsearch 
  syntax on 
  set tabstop=4 
  set softtabstop=4 
  set shiftwidth=4 
  set autoindent 
  set cindent 
  set cinoptions={0,1s,t0,n-2,p2s,(03s,=.5s,>1s,=1s,:1s 
  set nu 
  if &term=="xterm" 
  set t_Co=8 
  set t_Sb=^[[4%dm 
  set t_Sf=^[[3%dm 
  endif 
  let Tlist_Ctags_Cmd="/usr/local/bin/ctags" 
  set tags="/root/.vim/tags" 
   
   
  2.安装导航目录树插件NERDTree 
  下载地址:http://www.vim.org/scripts/script.php?script_id=1658 
  mkdir /root/.vim  
  解压缩时,要把压缩包中的目录结构完整的解压缩到 /root/.vim/ 目录中。 
  完成后,应该分别找到 /root/.vim/doc/NERD_tree.txt 文件和 /root/.vim/plugin/NERD_tree.vim 文件 
  然后在vim中输入命令: helptags ~/.vim/doc,将NERDTree的帮助文档添加到vim中。 
  现在,命令模式下输入:NERDTreeToggle便可打开或关闭NERDTree 
   
  3.安装taglist插件 
  http://www.vim.org/scripts/script.php?script_id=273 
  下载文件:taglist_45.zip 
  步骤同2,解压后,把对应目录的文件放到相应位置 
   
  4.安装ctag 
  下载地址:http://ctags.sourceforge.net/ 
  下载文件:ctags-5.8.tar.gz 
  解压:tar zxvf ctags-5.8.tar.gz 
  进入ctags:cd ctags-5.8 
  打上PHP补丁(否则按下ctrl+n,连基本的function include等函数都出不来): 
  wget http://svn.bitflux.ch/repos/public/misc/ctags-php5.patch 
  patch php.c ctags-php5.patch 
  编译安装: 
  ./configure 
  make 
  sudo make install 
   
  把ctags关联到taglist 
      vi ~/.vim/plugin/taglist.vim 
    在命令行模式下输入命令查找 ":/loaded_taglist" 
    找到后,在该行前面加上如下行: 
  let Tlist_Ctags_Cmd="/usr/bin/ctags" "目录可能有变,或许是/usr/local/bin/ctags 
   
  5重启vim ,运行:TlistToggle                         可以看到php的函数列表 
   
  6:NERDTreeToggle 可以看到目录树列表 
   
  7.自定义快捷键: 
   
  vim /root/.vimrc     添加: 
   
  map <F2> :NERDTreeToggle<CR> 
  map <F3> :TlistToggle<CR> 
  map <F4> t :NERDTreeMirror<CR> 
   
  三:安装snipMate插件 
  很爽的插件, 各种自动补全!用了后,保证你喜欢 
  下载地址:http://www.vim.org/scripts/script.php?script_id=2540 下载最新的 
  解压到.vim下,编辑.vimrc,在最下面添加如下设置 
  :filetype plugin on 
  OK!搞定,这时候你输入if,for,foreach,swich后,直接按TAB,全部自动补全! 
  四:php函数自动补全 
 
php_funclist下载:php_funclist.tar.gz 
 
  下载上面的php_funclist.txt文件,放到.vim文件夹下 
  并在 ~/.vimrc下添加如下命令 
  set dictionary-=~/.vim/php_funclist.txt dictionary+=~/.vim/php_funclist.txt 
"Use the dictionary completion 
set complete-=k complete+=k 
 
 
  function! InsertTabWrapper() 
      let col=col('.')-1 
      if !col || getline('.')[col-1] !~ '\k' 
            return "\<TAB>" 
      else 
            return "\<C-N>" 
      endif 
endfunction 
  "Remap the tab key to select action with InsertTabWrapper 
inoremap <TAB> <C-R>=InsertTabWrapper()<CR> 
  再附加一些自动补全配置(加入到vimrc中): 
  php 中 一般是会在 "$", "->", "::" 后需要出现自动补全,在 .vimrc 中加入以下代码: 
 
if !exists('g:AutoComplPop_Behavior') 
let g:AutoComplPop_Behavior = {} 
let g:AutoComplPop_Behavior['php'] = [] 
call add(g:AutoComplPop_Behavior['php'], { 
\   'command'   : "\<C-x>\<C-o>",  
\   'pattern'   : printf('\(->\|::\|\$\)\k\{%d,}$', 0), 
\   'repeat'    : 0, 
\}) 
endif 
  在 Vim 中实现括号自动补全: 
  :inoremap ( ()<ESC>i 
:inoremap ) <c-r>=ClosePair(')')<CR> 
:inoremap { {}<ESC>i 
:inoremap } <c-r>=ClosePair('}')<CR> 
:inoremap [ []<ESC>i 
:inoremap ] <c-r>=ClosePair(']')<CR> 
:inoremap < <><ESC>i 
:inoremap > <c-r>=ClosePair('>')<CR> 
function ClosePair(char) 
if getline('.')[col('.') - 1] == a:char 
return "\<Right>" 
else 
return a:char 
endif 
endf 
  这样,写代码的时候不再担心会丢掉右边的括号了,尤其是函数嵌套的时候。 
  五:vim查看php手册  
 
  下载  http://blog.planetxml.de/uploads/vim-php-manual.tgz 
  解压到  $HOME/.vim/vim-php-manual/doc(一定要有这个doc) 
doc 目录里面是一堆 txt文件 还有一个没有后缀名的 tags 文件 
用vim打开 tags  然后输入 :%sort 命令回车 然后 :w 保存 再 :q 退出  
修改 vim 配置文件   
加上 
set runtimepath+=$HOME/.vim/vim-php-manual 
autocmd BufNewFile,Bufread *.module,*.inc,*.php set keywordprg="help" 
当光标处于php自带函数上时 按大写K 会显示具体的函数描述  非常好用      
  至于说, 为什么要把phpmanual目录添加到runtimepath, 是因为:  
 
 
When no argument is given to :help the file given with the 'helpfile' option  
will be opened. Otherwise the specified tag is searched for in all "doc/tags"  
files in the directories specified in the 'runtimepath' option.  
   意思就是说, 在vim中, 调用help的时候, help会去所有的runtimpath下的doc目录中寻找tags文件, 来寻找要查找的帮助关键字.  
     
  六:项目文件中生成tag文件,让vim在文件中"跳来跳去"  
  假如你的项目文件在/var/www/trunkcard下, 简历如下脚本文件create_tags.sh 
  #!/bin/bash 
cd /var/www/trunkcard 
/usr/bin/ctags-exuberant -f ~/.vim/mytags/framework \ 
         -h \".php\" -R \ 
         --exclude=\"\.svn\" \ 
         --totals=yes \ 
         --tag-relative=yes \ 
         --PHP-kinds=+cf \ 
         --regex-PHP='/abstract class ([^ ]*)/\1/c/' \ 
         --regex-PHP='/interface ([^ ]*)/\1/c/' \ 
         --regex-PHP='/(public |static |abstract |protected |private )+function ([^ (]*)/\2/f/' 
  执行该脚本 
  ./create_tags.sh 
  打开你的vim配置文件($HOME/.vimrc),加上如下配置 
  set tags=~/.vim/mytags/framework(此处不需要添加引号,即不应该“~/.vim/mytags/framework”,应该~/.vim/mytags/framework)OK完毕! 
  现在随意打开你的项目中的php文件,找到类,或者方法的地方,按ctrl + ] 直接跳到声明的地方,按ctrl + t 返回! 
   
  vim中文帮助文档: 
   
  下载vimcdoc-1.5.0.tar.gz 
  下载地址: http://nchc.dl.sourceforge.net/sourceforge/vimcdoc/vimcdoc-1.5.0.tar.gz 
  解压 
  tar -zxvf vimcdoc-1.5.0.tar.gz 
  进入解包后的文件夹 
  cd vimcdoc-1.5.0 
  安装 
  sudo ./vimcdoc.sh -i 
  测试打开vim 
  输入:help如果成功就应该看到中文帮助文档 
   
  vim中不同窗口的切换快捷键是ctrl + w + w 
 
 
 
  
运维网声明 
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003 
2、本站所有主题由该帖子作者发表,该帖子作者与运维网  享有帖子相关版权 
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版 
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任 
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任 
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任 
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决 
8、联系人Email:admin@iyunv.com  网址:www.yunweiku.com