Home > Backend Development > PHP Tutorial > window下用vim做php开发环境(虽然小弟我一直是在ubuntu下用vim).

window下用vim做php开发环境(虽然小弟我一直是在ubuntu下用vim).

WBOY
Release: 2016-06-13 10:29:14
Original
886 people have browsed it

window下用vim做php开发环境(虽然我一直是在ubuntu下用vim)...

虽然vim本质上只是一个编辑器。但只要配合一些适当的插件,vim也能变成一个全功能的IDE。笔者使用vim已经有挺长一段时间了,经过反复的试验,配置了一个高效的PHP开发环境,实为居家旅行、谋财害命、杀人越货必备之良品。


安装vim
鉴于大多数读者都是使用Windows环境,所以本文就以Windows作为运行环境。不过由于vim出色的跨平台特性,配置文件只需简单修改就可以在Linux版本的vim中使用。


目前vim的最新版本是7.2,如果没有特别原因建议安装最新的版本。


下载地址:http://www.vim.org/download.php#pc
下载文件:ftp://ftp.vim.org/pub/vim/pc/gvim72.exe


安装时不要装到带有空格、中文的目录中,其他保持默认即可。笔者的安装目录是c:appsofficevim,后文也以此为准。为了叙述方便,笔者用$VIM来表示vim的安装目录。例如您的vim安装在d:vim中,那$VIM就代表d:vim。


开始配置vim
我们对vim的配置分为几个步骤。


修改_vimrc后自动生效
打开$VIM目录,可以看到其中有一个_vimrc文件,用vim打开此文件,删除所有内容后,在最后插入两行:


” autoload _vimrc


autocmd! bufwritepost _vimrc source %


上述命令让我们通过vim编辑_vimrc文件并保存时,可以自动载入_vimrc文件,使得我们对vim的定制可以立即生效(无需重启vim)。


使vim中文化
在_vimrc顶部增加下列文本:


” disable VI’s compatible mode..


set nocompatible


” set encoding=utf-8


set fileencodings=ucs-bom,utf-8,gbk,default,latin1


” use chinese help


set helplang=cn


上述代码的作用是禁用vi兼容模式(原始的vi功能太少了,没必要考虑兼容)、按照utf-8、gbk的顺序来检测文件编码,并设置帮助为中文。不过设置set helplang=cn并不能马上看到中文帮助,我们还得下载中文帮助文件。


下载地址:http://vimcdoc.sourceforge.net/
下载文件:vimcdoc-1.6.0.tar.gz


得到中文帮助文件压缩包后,将压缩包中doc子目录的所有文件复制到$VIMvimfilesdoc目录中。此时再输入:help命令就可以看到中文帮助了。


中文帮助还是7.1版的,不过不影响我们使用。


设置字体
选择vim菜单的“编辑”->“选择字体”,就可以为vim指定喜欢的显示字体了。笔者使用的是Consolas字体,大小设置为9pt。这个设置显示代码非常漂亮,不过中文就有点变形了。


设置好后,输入命令:set guifont可以查看到当前的字体设置,将该设置写入_vimrc文件。


“set gui options


if has(“gui_running”)


set guifont=Consolas:h9


endif


上述代码中的if … endif是一个条件判断结构。指示只有当我们使用图形界面版的vim时才设置字体。


为编辑PHP代码进行基本设置
现在用vim打开.php文件看上去是很难看的,别说代码高亮,连行号都没有显示。所以还要给_vimrc添加以下内容:


” Enable syntax highlight


syntax enable


” Show line number


set nu


” show matching bracets


set showmatch


” Basic editing options


set expandtab


set shiftwidth=2


au FileType html,python,vim,javascript setl shiftwidth=2


au FileType html,python,vim,javascript setl tabstop=2


au FileType java,php setl shiftwidth=4


au FileType java,php setl tabstop=4


set smarttab


set lbr


set tw=0


“Auto indent


set ai


” Smart indet


set si


” C-style indeting


set cindent


” Wrap lines


set wrap


上述设置启用了格式化高亮、行号显示,以及括号匹配、自动缩进等编辑功能,对于大多数情况都可以获得理想的编辑体验。不过此时对.php文件的支持还不完善,需要下载专门的php插件。


下载地址:http://www.vim.org/scripts/script.php?script_id=1571
下载文件:php.tar.gz


将其中的php.vim复制到$VIMvimfilessyntax目录中即可。


设置喜欢的配色方案
默认的配色方案相信没几个人会喜欢,可以通过下面的网址查看配色方案并下载(有几百个哦)。


下载网址:http://www.cs.cmu.edu/~maverick/VimColorSchemeTest/index-c.html


这个网址列出了300多个配色方案以及实际的显示效果,点击方案名称即可下载到一个.vim文件。将该文件放入$VIMvimfilescolors目录,然后在_vimrc中添加:


” set color schema


colorscheme oceandeep


这两行代码需要加到if has(“gui_running”) … endif代码块中,例如:


if has(“gui_running”)


set guifont=Consolas:h9


” set color schema


colorscheme oceandeep


endif


设置后显示效果就漂亮多了:-)?


更多有用的编辑设置
虽然不是专门针对编辑.php文件的设置,但这些选项可以让vim更好用,所以建议加上:


” 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


” The commandbar is 2 high


set cmdheight=2


” Change buffer – without saving


set hid


” Ignore case when searching


” 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 :bn


map :bp


经过一番改造,我们的vim已经可以很顺手的编辑.php文件了。不过要打造php开发环境还有很多工作要做呢。


打造PHP IDE


IDE左侧是目录导航,中间是编辑区域,而右侧则是方法列表,用于在已经打开的文件中快速跳转。在编辑区域按下CTRL+X键,还会显示已打开文件的列表。


其他诸如自动补全、代码模板等功能,都应有尽有。看过了漂亮的截图,我们就来一步步打造PHP IDE吧。


用NERDTree实现目录导航
在进行PHP应用开发时,同时编辑多个文件是很正常的事情。所以必须有一个方便的目录导航工具,以便在目录结构间快速切换,找到需要编辑的文件。


vim中提供该类功能的插件很多,比较知名的有project、winmanager等。但笔者个人认为最好用的还是The NERD Tree这个插件。NERDTree不但可以显示完整的目录树结构,还可以将任何一个目录设置为根目录。并且提供了目录导航的书签功能,可谓非常方便。


下载地址:http://www.vim.org/scripts/script.php?script_id=1658
下载文件:NERD_tree.zip


解压缩时,要把压缩包中的目录结构完整的解压缩到$VIMvimfiles目录中。完成后,应该分别找到$VIMvimfilesdocNERD_tree.txt文件和$VIMvimfilespluginNERD_tree.vim文件。然后在vim中输入命令:helptags $VIMvimfilesdoc,将NERDTree的帮助文档添加到vim中。


最后在_vimrc添加如下内容:


” NERDTree


map :NERDTreeToggle


重启vim后,按下F10键,就可以在左侧看到一个目录树了。在目录树窗口中按下?键可以查看详细的帮助信息。


最常用的操作键有:


按键


作用


C(大写C键)


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


u(小写u键)


转到上一级目录


o(小写o键,不是“零”)


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


此外在目录树窗口中输入目录:Bookmark收藏名还可以将光标所在目录添加到收藏夹中。下次使用:BookmarkToRoot收藏名可以直接转到该目录,并且以该目录作为根目录。更多命令可以参考NERDTree的帮助文档。


用taglist实现代码导航
解决了目录和文件导航问题,我们还要为代码之间的跳转提供辅助手段,taglist就是这样一个插件。taglist可以列出已打开文件中定义的类、函数、常量,甚至变量。


下载地址:http://www.vim.org/scripts/script.php?script_id=273
下载文件:taglist_45.zip


压缩包需要完整解压缩到$VIMvimfiles目录,并且用:helptags $VIMvimfilesdoc命令索引taglist插件的帮助文档。taglist插件需要依赖ctags程序才能工作。目前常用的ctags版本是Exuberant Ctags。


下载地址:http://ctags.sourceforge.net/
下载文件:ec57w32.zip


只需要把压缩包中的ctags.exe复制到$VIMvim72目录中即可。ctags.exe应该和gvim.exe在一个目录。


最后在_vimrc添加下列内容,设置好taglist插件:


“”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"


” => Plugin configuration


“”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"”"


” 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’


这里的设置是笔者个人习惯的设置,大家在熟悉taglist的具体设置之前可以先尝试一下。


设置完成后,在编辑.php

作者http://ihacklog.com/php/%E7%94%A8vim%E5%81%9Aphp%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83.html

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template