1、ctags-用于代码间的跳转

安装

sudo apt-get install ctags

使用

1)、 在某个目录下, 建立tags.

ctags -R . --执行之后会在当前目录下生成一个tags文件

2)、 将tags文件加入.vimrc

在.vimrc中加入下面一行:

set tags=~/projects/tags --刚刚的生成tags的目录

NOTE: 如果有多个tag, 用逗号将其隔开, 逗号左右两边不要有空格.

至此即可使用。

3)、命令

ctrl+]来执行跳转

ctrl+t来跳转回来,ctrl+t可以带一个命令记数,以此作为往回跳的次数

:tags可以看到所有最近的跳转记录

:stag tagname可以隔开窗口显示

:help tags 可以查看所有的帮助

2、NERDTree-实现目录导航

https://github.com/scrooloose/nerdtree

下载

cd ~/.vim/bundle

git clone https://github.com/scrooloose/nerdtree.git

配置

1)、安装帮助文档

vim 中输入命令

:helptags ~/.vim/bundle/nerdtree/doc/NERD_tree.txt

执行:help NERD_tree.txt即可查看NERDTree的帮助文档

2)、将NERDTree加入到vim的启动目录中去

在$/VIM/vimrc文件或者本地的~/.vimrc中加入

set runtimepath=(..原有的查找文件),~/.vim/bundle/nerdtree

3)、设置打开NERDTree的快捷方式

在 .vimrc 添加如下内容

map <C-n> :NERDTreeToggle<CR> --设置ctrl+n为快捷启动方式

如果要在vim启动是就打开NERDTree

autocmd vimenter * NERDTree

4)、常用快捷键

C -将光标所在目录设置为根目录

u -转到上一级目录

o (enter)-展开(或折叠)光标所在目录的子目录。如果光标所在位置是一个文件,则在编辑窗口中打开该文件

3、代码自动补全

1)、Vim本身就可以自动补全:

<C-n><C-p>不过默认只会查找当前标签页中所有打开的文件查找存在的函数、变量和方法等。

所以我们可以自己设置查找的文件

PHP 的函数列表文件:http://cvs.php.net/viewvc.cgi/phpdoc/funclist.txt

将funclist.txt放在~/.vim目录下,在.vimrc(~/.vimrc )中

配置:

set dictionary-=~/.vim/funclist.txt dictionary+=~/.vim/funclist.txt

set complete-=k complete +=k



4、TagList - 高效地浏览源码

下载

http://www.vim.org/scripts/script.php?script_id=273

配置

1)、使用taglist plugin,必须满足 一下三个条件:

a.打开vim的文件类型自动检测功能:filetype on

b.系统中装了Exuberant ctags工具,并且taglist plugin能够找到此工具(因为taglist需要调用它来生成tag文件)

c.你的vim支持system()调用 (一般都会支持)

2)、将taglist加到vim的启动目录中

方法一):

直接将taglist_46解压,将里面的doc/taglist.txt和plugin/taglist.vim分别拷贝到$VIM/vimfiles/doc$VIM/vimfiles/plugin目录里面(同gvim.exe一个目录)

方法二):

在$/VIM/vimrc文件或者本地的~/.vimrc中加入taglist_46目录

set runtimepath=(..原有的查找文件),/usr/share/vim/taglist_46

3)、使用

可以用”:TlistOpen“打开taglist窗口

用”:TlistClose“关闭taglist窗口

或者使用”:TlistToggle“在打开和关闭间切换。

在vimrc中定义快捷键,设置快捷键打开/关闭taglist窗口:

map <silent> <F9> :TlistToggle<cr>

以下在网上收集的常用的taglist的配置

  1. " taglist
  2. let Tlist_Auto_Highlight_Tag = 1
  3. let Tlist_Auto_Open = 1
  4. let Tlist_Auto_Update = 1
  5. let Tlist_Close_On_Select = 0
  6. let Tlist_Compact_Format = 0
  7. let Tlist_Display_Prototype = 0
  8. let Tlist_Display_Tag_Scope = 1
  9. let Tlist_Enable_Fold_Column = 0
  10. let Tlist_Exit_OnlyWindow = 0
  11. let Tlist_File_Fold_Auto_Close = 0
  12. let Tlist_GainFocus_On_ToggleOpen = 1
  13. let Tlist_Hightlight_Tag_On_BufEnter = 1
  14. let Tlist_Inc_Winwidth = 0
  15. let Tlist_Max_Submenu_Items = 1
  16. let Tlist_Max_Tag_Length = 30
  17. let Tlist_Process_File_Always = 0
  18. let Tlist_Show_Menu = 0
  19. let Tlist_Show_One_File = 0
  20. let Tlist_Sort_Type = "order"
  21. let Tlist_Use_Horiz_Window = 0
  22. let Tlist_Use_Right_Window = 1
  23. let Tlist_WinWidth = 40
  24. let tlist_php_settings = 'php;c:class;i:interfaces;d:constant;f:function'

版权声明:本文为博主原创文章,未经博主允许不得转载。

vim配置php开发环境的更多相关文章

  1. vim配置python开发环境

    vim配置python开发环境 一.安装vim sudo apt-get install vim 二.vim基础配置 #Centos6.5 /usr/share/vim/vim72 vi /etc/v ...

  2. vim配置python开发环境(转)

    安装 因为许多Unix衍生系统已经预装了Vim,我们首先要确认编辑器是否成功安装: vim --version 如果已经安装了,你应该看到类似下面的文字: VIM - Vi IMproved 7.3 ...

  3. Vim配置IDE开发环境

    我的vim IDE界面: 1.安装Vim和Vim基本插件首先安装好Vim和Vim的基本插件.这些使用apt-get安装即可:lingd@ubuntu:~/arm$sudo apt-get instal ...

  4. linux vim 配置 go 开发环境

    安装vim-go 插件 vim 暂时对golang 还不支持语法高亮,如果用户希望使用vim 开发golang 程序,还需要给vim 安装对应的插件 首先需要安装一个vim-pathogen vim插 ...

  5. vim配置clojure开发环境备忘录

    1 需要使用的插件 vundle 使用教程 http://www.cnblogs.com/respawn/archive/2012/08/21/2649483.html vim-fireplace h ...

  6. vim配置C++开发环境 win10

    资料一 —— vim插件的安装 https://www.cnblogs.com/tianzhiyi/p/5338032.html 资料二 —— vim多窗口操作: https://blog.csdn. ...

  7. 配置基于Vim的Python开发环境

    配置基于Vim的Python开发环境插件 Vundle YouCompleteMe NERDTree Vim-Jinja2-Syntax set nocompatible " be iMpr ...

  8. Macbook Pro配置PHP开发环境

    Macbook Pro配置PHP开发环境 安装环境如下: Mac OS 10.10.1 Apache 2.4.9 PHP 5.5.14 MySQL 5.6.22 Apache配置 在Mac OS 10 ...

  9. Mac配置Java开发环境

    笔者从Window上转到Mac上做开发,一切配置都要重新开始,开发环境配置介绍如下: 1. 下载JDK 从下面链接选择合适版本的安装包进行下载...笔者下载的是jdk-9.0.1 链接:http:// ...

随机推荐

  1. 阅读推荐——深入浅出Mesos

    深入浅出Mesos(一):为软件定义数据中心而生的操作系统http://www.infoq.com/cn/articles/analyse-mesos-part-01 深入浅出Mesos(二):Mes ...

  2. 23、jQuery九类选择器/jQuery常用Method-API/jQuery常用Event-API

      1)掌握jQuery九类选择器及应用 2)掌握jQuery常用Method-API 3)掌握jQuery常用Event-API 一)jQuery九类选择器[参见jQueryAPI.chm手册] 目 ...

  3. Nginx使用手册目录

    Nginx学习总结[第一篇]: Nginx简介 Nginx第二篇:Nginx部署及使用 Nginx第三篇:Nginx日志处理 Nginx第四篇:Nginx优化 Nginx第五篇:Nginx日常管理

  4. 【转】java URLConnection从网上下载图片或音乐

    try { //根据String形式创建一个URL对象,   URL url = new URL("http://www.baidu.com");   //实列一个URLconne ...

  5. ReactDom.render和React.render的区别

    这个是react最新版api,也就是0.14版本做出的改变.主要是为了使React能在更多的不同环境下更快.更容易构建.于是把react分成了react和react-dom两个部分.这样就为web版的 ...

  6. 杭电1013-Digitai Root(这是一道考研编程题-天大2015)

    Digital Roots Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Tot ...

  7. JAVA基础知识之多线程——控制线程

    join线程 在某个线程中调用其他线程的join()方法,就会使当前线程进入阻塞状态,直到被join线程执行完为止.join方法类似于wait, 通常会在主线程中调用别的线程的join方法,这样可以保 ...

  8. Android图形系统之Surface、SurfaceView、SurfaceHolder及SurfaceHolder.Callback之间的联系

    1.Surface Surface extends Objectimplements Parcelable java.lang.Object    ↳ android.view.Surface Cla ...

  9. Android开发之Theme、Style探索及源码浅析

    1 背景 前段时间群里有伙伴问到了关于Android开发中Theme与Style的问题,当然,这类东西在网上随便一搜一大把模板,所以关于怎么用的问题我想这里也就不做太多的说明了,我们这里把重点放在理解 ...

  10. NSIS学习记录の----NSIS多语言安装以及详解

    NSIS多语言安装,很多教程提供了详细的代码,但是代码中某些语句的含义我还是不很明白,作为一个吃螃蟹的人,我做一个解释,避免很多小伙伴和我哟U一样的误区,以下结论都是自己根据实践得来,若发现理解错误, ...