>백엔드 개발 >PHP 튜토리얼 >맞춤형 PHP 개발 도구로 Vim을 구축하기 위한 몇 가지 팁_php 팁

맞춤형 PHP 개발 도구로 Vim을 구축하기 위한 몇 가지 팁_php 팁

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB원래의
2016-05-16 20:03:121523검색

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:/apps/office/vim이며, 다음 글도 이를 기반으로 작성하겠습니다. 설명의 편의를 위해 저자는 $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 하위 디렉터리에 있는 모든 파일을 $VIM/vimfiles/doc 디렉터리에 복사하세요. 이때 :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을 $VIM/vimfiles/syntax 디렉터리에 복사하세요.

좋아하는 색 구성표를 설정하세요

기본 색 구성표를 좋아하는 사람은 많지 않을 것이라고 생각합니다. 색 구성표를 확인하고 아래 URL(수백 개가 있음)을 통해 다운로드할 수 있습니다.

다운로드 URL: http://www.cs.cmu.edu/~maverick/VimColorSchemeTest/index-c.html

이 웹사이트에는 300개 이상의 색 구성표와 실제 디스플레이 효과가 나열되어 있습니다. 구성표 이름을 클릭하면 .vim 파일을 다운로드할 수 있습니다. 파일을 $VIM/vimfiles/colors 디렉터리에 넣고 _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 <C-Tab> :bn<CR>
map <S-Tab> :bp<CR>

 

经过一番改造,我们的 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

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

最后在 _vimrc 添加如下内容:

" NERDTree
map <F10> :NERDTreeToggle<CR>

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

最常用的操作键有:

20151211105352930.png (587×332)

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

用 taglist 实现代码导航

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

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

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

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

只需要把压缩包中的 ctags.exe 复制到 $VIM/vim72 目录中即可。 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'

在vim中检查php语法格式
打开你的_vimrc,将如下配置写入并保存。

“检查当前文件代码语法(php){{{

function! CheckSyntax()
 if &filetype!=”php”
 echohl WarningMsg | echo “Fail to check syntax! Please select the right file!” | echohl None
 return
 endif
 if &filetype==”php”
 ” Check php syntax
 setlocal makeprg=\”php\” -l\ -n\ -d\ html_errors=off
 ” Set shellpipe
 setlocal shellpipe=>
 ” Use error format for parsing PHP error output
 setlocal errorformat=%m\ in\ %f\ on\ line\ %l
 endif
 execute “silent make %”
 set makeprg=make
 execute “normal :”
 execute “copen”
endfunction
map <F6> :call CheckSyntax()<CR>
“}}}

 然后我们按下F6就可以执行啦~~ 注意

if &filetype!=“php”
 echohl WarningMsg | echo “Fail to check syntax! Please select the right file!” | echohl None
 return
endif

这一段,是规定了必须是.php格式的文件,所以不要拿成错文件来试哦

OK,我们来测试一下,新建一个php文件phpinfo.php,写入如下代码

<&#63;php phpinfo()>>&#63;>

当然,很明显语法是错误的,按下F6,结果如下:

20151211105713336.png (570×399)

修改为

<&#63;php phpinfo()&#63;>

并保存后,按下F6,结果如下:

20151211105729116.png (567×401)

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.