vim配置php开发环境
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的配置
" taglist
let Tlist_Auto_Highlight_Tag = 1
let Tlist_Auto_Open = 1
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_Hightlight_Tag_On_BufEnter = 1
let Tlist_Inc_Winwidth = 0
let Tlist_Max_Submenu_Items = 1
let Tlist_Max_Tag_Length = 30
let Tlist_Process_File_Always = 0
let Tlist_Show_Menu = 0
let Tlist_Show_One_File = 0
let Tlist_Sort_Type = "order"
let Tlist_Use_Horiz_Window = 0
let Tlist_Use_Right_Window = 1
let Tlist_WinWidth = 40
let tlist_php_settings = 'php;c:class;i:interfaces;d:constant;f:function'
版权声明:本文为博主原创文章,未经博主允许不得转载。
vim配置php开发环境的更多相关文章
- vim配置python开发环境
vim配置python开发环境 一.安装vim sudo apt-get install vim 二.vim基础配置 #Centos6.5 /usr/share/vim/vim72 vi /etc/v ...
- vim配置python开发环境(转)
安装 因为许多Unix衍生系统已经预装了Vim,我们首先要确认编辑器是否成功安装: vim --version 如果已经安装了,你应该看到类似下面的文字: VIM - Vi IMproved 7.3 ...
- Vim配置IDE开发环境
我的vim IDE界面: 1.安装Vim和Vim基本插件首先安装好Vim和Vim的基本插件.这些使用apt-get安装即可:lingd@ubuntu:~/arm$sudo apt-get instal ...
- linux vim 配置 go 开发环境
安装vim-go 插件 vim 暂时对golang 还不支持语法高亮,如果用户希望使用vim 开发golang 程序,还需要给vim 安装对应的插件 首先需要安装一个vim-pathogen vim插 ...
- vim配置clojure开发环境备忘录
1 需要使用的插件 vundle 使用教程 http://www.cnblogs.com/respawn/archive/2012/08/21/2649483.html vim-fireplace h ...
- vim配置C++开发环境 win10
资料一 —— vim插件的安装 https://www.cnblogs.com/tianzhiyi/p/5338032.html 资料二 —— vim多窗口操作: https://blog.csdn. ...
- 配置基于Vim的Python开发环境
配置基于Vim的Python开发环境插件 Vundle YouCompleteMe NERDTree Vim-Jinja2-Syntax set nocompatible " be iMpr ...
- 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 ...
- Mac配置Java开发环境
笔者从Window上转到Mac上做开发,一切配置都要重新开始,开发环境配置介绍如下: 1. 下载JDK 从下面链接选择合适版本的安装包进行下载...笔者下载的是jdk-9.0.1 链接:http:// ...
随机推荐
- php如何支持实现多线程并发
<?php if(function_exists('date_default_timezone_set')) { date_default_timezone_set('PRC'); } func ...
- 怎么使用PHP获取用户客户端真实IP的解决方案呢?
function getIp(){if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIE ...
- Linux命令学习手册-printf命令(转)
分类: LINUX 参考资料:http://sns.linuxpk.com/space-566-do-blog-id-15819.html printf FORMAT [ARGUMENT]... pr ...
- php socket通信(tcp/udp)
注意 1.在socket_bind的时候ip地址不能真回环地址如127.0.0.1 2.server.php后台跑起来的时候 nohup php server.php > /var/tmp/a. ...
- 使用butterknife zelezny插件时必须保证已导入butterKnife的库工程。
使用butterknife zelezny插件时必须保证已导入butterKnife的库工程. 另外需要把光标定位到setContentView(R.layout.activity_main);中的a ...
- python: hashlib 加密模块
加密模块hashlib import hashlib m=hashlib.md5() m.update(b'hello') print(m.hexdigest()) #十六进制加密 m.update( ...
- stl map底层之红黑树插入步骤详解与代码实现
转载注明出处:http://blog.csdn.net/mxway/article/details/29216199 本篇文章并没有详细的讲解红黑树各方面的知识,只是以图形的方式对红黑树插入节点需要进 ...
- java对象equals方法的重写
根类Object中的equals方法描述: public boolean equals(Object obj)The equals method for class Object implements ...
- Wall(凸包POJ 1113)
Wall Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 32360 Accepted: 10969 Description On ...
- C#递归1~100的累加
public static int Accum(int m, int n) { //对于接受的参数,要考虑m >n,m=n,m<n三种情况. if (m < n) { return ...