使用Vim配置一個高效的PHP開發(fā)環(huán)境
一、首先確認電腦或服務(wù)器上已經(jīng)安裝VIM,如果不行沒有的話可以去VIM官網(wǎng)(http://www.vim.org/download.php)載相應(yīng)的版本進行安裝。安裝過程不再敘述。
二、開始配置vim
配置之前有幾點先說明一下:
? ? I.為了方便敘述下文中如無特殊說明$VIM均為VIM的安裝目錄。
? ? II.下文中的配置安裝均在Linux(redhat)下完成,如有不同請自行調(diào)節(jié)或者給我留言,我會盡力解答。
? ? III.?雙引號 ' 為配置文件注釋符號
? ? IV.當加入新doc時,需要執(zhí)行命令:helptags $VIM/doc?,然后才能?:help ***
1.修改.vimrc后自動生效
在今后使用vim的日子里,你可能會頻繁的更改你的.vimrc(VIM配置文件)所以我們先進行一些簡單的配置使我們的修改更加方便
打開$VIM目錄,可以看到其中有一個.vimrc文件,用vim打開此文件,刪除所有內(nèi)容后,在最后插入三行:
'?配置文件.vimrc更改后自動重新載入使設(shè)置生效
autocmd! bufwritepost .vimrc source ~/.vimrc
“設(shè)置重新載入.vimrc快捷鍵
map <silent> <leader>ss :source ~/.vimrc<cr>
“設(shè)置快速編輯.vimrc快捷鍵
map <silent> <leader>ee :e ~/.vimrc<cr>
上述設(shè)置讓我們通過vim編輯.vimrc文件并保存時,可以自動載入.vimrc文件,使得我們對vim的定制可以立即生效(無需重啟vim)。
2.使vim中文化
在.vimrc頂部增加下列文本:
“禁用VI兼容模式
set nocompatible
“Vim?的內(nèi)部編碼
set encoding=utf-8
“Vim?在與屏幕/鍵盤交互時使用的編碼(取決于實際的終端的設(shè)定)
set termencoding=utf-8
“Vim?當前編輯的文件在存儲時的編碼
set fileencoding=utf-8
“Vim?打開文件時的嘗試使用的編碼
set fileencodings=ucs-bom,utf-8,gbk,default,latin1
“設(shè)置中文幫助
set helplang=cn
上述代碼的作用是禁用vi兼容模式(原始的vi功能太少了,沒必要考慮兼容)、按照utf-8、gbk的順序來檢測文件編碼,并設(shè)置幫助為中文。不過設(shè)置set helplang=cn并不能馬上看到中文幫助,我們還得下載中文幫助文件。
下載地址:http://vimcdoc.sourceforge.net/下載文件:vimcdoc-1.8.0.tar.gz
得到中文幫助文件壓縮包后,將壓縮包中doc子目錄的所有文件復(fù)制到$VIM/doc/目錄中,在VIM中執(zhí)行執(zhí)行:helptags $VIM/doc,如果沒有doc目錄,可先創(chuàng)建doc目錄。此時再輸入:help命令就可以看到中文幫助了。
3.設(shè)置字體
將該設(shè)置寫入.vimrc文件。
'設(shè)置字體
if has('gui_running')
????? set guifont=Consolas:h9
endif
上述代碼中的if … endif是一個條件判斷結(jié)構(gòu)。指示只有當我們使用圖形界面版的vim時才設(shè)置字體。
4.為編輯PHP代碼進行基本設(shè)置
現(xiàn)在用vim打開.php文件看上去是很難看的,別說代碼高亮,連行號都沒有顯示。所以還要給.vimrc添加以下內(nèi)容:
“?格式化高亮
syntax on
“?顯示行號
set nu
“?括號匹配
set showmatch
“自動檢測文件類型
filetype plugin indent on
“在縮進和遇到?Tab?鍵時使用空格替代
set expandtab
'根據(jù)文件類型設(shè)置縮進格式
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
'?啟動vim時不要自動折疊代碼
set foldlevel=100
“自動對齊
set ai
'依據(jù)上面的對起格式
set si
set smarttab
set wrap
set lbr
set tw=0
set foldmethod=syntax
上述設(shè)置啟用了格式化高亮、行號顯示,以及括號匹配、自動縮進等編輯功能,對于大多數(shù)情況都可以獲得理想的編輯體驗。不過此時對.php文件的支持還不完善,需要下載專門的php插件。
下載地址:http://www.vim.org/scripts/script.php?script_id=1571下載文件:php.tar.gz
將其中的php.vim復(fù)制到$VIM/syntax/目錄中即可。如果沒有該目錄要先創(chuàng)建該目錄。
5.設(shè)置喜歡的配色方案
默認的配色方案相信沒幾個人會喜歡,可以通過下面的網(wǎng)址查看配色方案并下載(有幾百個哦)。
下載:http://www.cs.cmu.edu/~maverick/VimColorSchemeTest/index-c.html
這個網(wǎng)址列出了300多個配色方案以及實際的顯示效果,點擊方案名稱即可下載到一個.vim文件。我用的是freya。將該文件放入$VIM/colors目錄(如果沒有該目錄可先創(chuàng)建該目錄),然后在vimrc中添加:
' set color schema
colorscheme?freya
這兩行代碼需要加到if has('gui_running') … endif代碼塊中,例如:
if has('gui_running')
?set guifont=Consolas:h9
?' set color schema
?colorscheme?freya
endif
設(shè)置后顯示效果就漂亮多了:-)-
6.更多有用的編輯設(shè)置
雖然不是專門針對編輯.php文件的設(shè)置,但這些選項可以讓vim更好用,所以建議加上(注釋不在翻譯,基本上大家應(yīng)該都可以看懂):
' 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>
經(jīng)過一番改造,我們的vim已經(jīng)可以很順手的編輯.php文件了。不過要打造php開發(fā)環(huán)境還有很多工作要做呢。
三、打造自己的PHP IDE
1、配置svn
大多時候我們不是一個人在戰(zhàn)斗,所以接下來我們要配置一下vim中的SVN。
首先要下載svn插件svn.vim
下載地址:http://www.vim.org/scripts/script.php?script_id=743
將下載后的文件加壓后放到相對應(yīng)的文件夾里就可以了,如果doc中新加的文件不要忘了:helptags $VIM/doc。
如果配置好了,不知道如何使用可以用:help svn來查看。
一般svn插件中會有一些默認的快捷鍵,比如
<Leader><LocalLeader>c?- Calls :Svn commit
還可以自己定義一些其他快捷鍵,只要在.vimrc中加入下面代碼即可
'更新當前目錄的代碼map <F5> ? ?:!svn up <cr>'提交SVN(當前目錄)map <F7> ? ?:!svn ci -m '' <cr>'提交SVN(當前文件)7map <F8> ? ?:!svn ci -m '' %<cr>
'提交SVN(當前文件)前先檢查php語法map <F8> ? ?:!php -l % > /dev/null && svn ci -m '' %<cr>'僅檢測PHP語法autocmd FileType php map <silent> <F9> :!php -l %<cr>
?2、在程序中跳來跳去tags
先簡單介紹一下tag
Tag文件(標簽文件)無疑是開發(fā)人員的利器之一,有了tag文件的協(xié)助,你可以在vim查看函數(shù)調(diào)用關(guān)系,類、結(jié)構(gòu)、宏等的定義,可以在任意標簽中跳 轉(zhuǎn)、返回……
對于程序來說,Tag文件中保存了諸如函數(shù)、類、結(jié)構(gòu)、宏等的名字,它們所處的文件,以及如何通過Ex命令跳轉(zhuǎn)到這些標簽。它是一個純文本文件,因此你可以手工的編輯它,也可以使用腳本對其進行操作。
通常我們使用名為ctags的程序來生成這樣的tag文件。vim能直接使用ctags程序所生成的tag文件。在UNIX系統(tǒng)下的ctags功能比較 少,所以一般我們使用Exuberant Ctags(在大多數(shù)Linux系統(tǒng)上,它是缺省的ctags程序),它能夠支持多達33種程序語言,足以滿足我們開發(fā)的需要了。
這里是它的中文手冊。如果你的系統(tǒng)上未安裝此程序,請到http://ctags.sourceforge.net下載。
???安裝好以后去你的項目源碼所在目錄,我的是在/opt/Site/mpf/
在該目錄下運行命令: ctags –R
此時在/opt/Site/mpf/目錄下會生成一個 tags 文件
用VIM打開你項目源碼中的任意一個文件,再在vim中運行命令:?:set tags=/opt/Site/mpf/tags?該命令將tags文件加入到vim中來, 你也可以將這句話放到$VIM/.vimrc中去, 如果你經(jīng)常在這個項目中編程的話.
3.教你高效地瀏覽源碼 -- 插件: TagList
使用taglist plugin,必須滿足?一下三個條件:
a.打開vim的文件類型自動檢測功能:filetype?on
b.系統(tǒng)中裝了Exuberant?ctags工具,并且taglist plugin能夠找到此工具(因為taglist需要調(diào)用它來生成tag文件)
c.你的vim支持system()調(diào)用?(一般都會支持)
如果滿足以上條件,接下來就可以安裝taglist plugin插件了。
下載地址:http://www.vim.org/scripts/script.php?script_id=273?安裝完成后可以進行一些簡單的配置
if MySys() == 'windows'?? '設(shè)定windows系統(tǒng)中ctags程序的位置
let Tlist_Ctags_Cmd = ’ctags’
elseif?MySys() == 'linux' ?'設(shè)定linux系統(tǒng)中ctags程序的位置
let Tlist_Ctags_Cmd = ’/usr/bin/ctags‘
endif
'只顯示當前文件的
let Tlist_Show_One_File = 1
'如果taglist窗口是最后一個窗口,則退出vim
let Tlist_Exit_OnlyWindow = 1
'在右側(cè)窗口中顯示taglist窗口配置好以后
let Tlist_Use_Right_Window = 1
可以用”:TlistOpen“打開taglist窗口
用”:TlistClose“關(guān)閉taglist窗口
或者使用”:TlistToggle“在打開和關(guān)閉間切換。
也可以在vimrc中定義快捷鍵,使用<F9>鍵就可以打開/關(guān)閉taglist窗口:
map <silent> <F9> :TlistToggle<cr>
4.文件瀏覽 netrw
在vim 7.0以前,文件瀏覽功能由explorer.vim插件提供,在vim 7.0中,這個插件被netrw.vim插件所代替
netrw.vim是vim的標準插件,它已經(jīng)伴隨vim而發(fā)行,不需要安裝。
我們現(xiàn)在試一下vim文件功能,當你使用vim嘗試打開目錄時,vim會自動調(diào)用netrw.vim插件打開該目錄(從操作系統(tǒng)的視角來看,目錄其實是一種特殊的文件)。
進入'$VIM?'文件夾后運行vim, 然后在vim中運行命令
例如,我們在vim中執(zhí)行命令”:?e~ $VIM“,會顯示一個窗口,這個窗口類似于文件管理器,你可以創(chuàng)建、刪除、改名文件或目錄;在目錄上按回車時,會進入該目錄;在文件上按回車時,會使用vim打開該文件;可以更改排序方式、排序風格;隱藏目錄或文件(使之不在上述窗口中顯示)等等。
5.緩沖區(qū)瀏覽 BufExplorer
在開發(fā)過程中,經(jīng)常會打開很多緩沖區(qū),尤其是使用tag文件在不同函數(shù)間跳轉(zhuǎn)時,會不知不覺打開很多文件。要知道自己當前打開了哪些緩沖區(qū),可以使用vim的”:ls“Ex命令查看。
開發(fā)過程中,又經(jīng)常需要在不同文件間跳轉(zhuǎn)。我習慣于使用”CTRL-^“來切換文件,這就需要知道文件所在的緩沖區(qū)編號。每次都使用”:ls“來找緩沖區(qū)編號很麻煩,所以我使用BufExplorer插件來顯示緩沖區(qū)的信息。
下載:http://vim.sourceforge.net/scripts/script.php?script_id=42
下載后,把該文件在$VIM目錄中解壓縮,這會在你的$VIM/plugin和$VIM/doc目錄中各放入一個文件:
plugin/ bufexplorer.vim?- bufexplorer插件
doc/ bufexplorer.txt??? - bufexplorer幫助文件
使用下面的命令生成幫助標簽(下面的操作在vim中進行):
:helptags $VIM/doc
然后,就可以使用”:help bufexplorer“命令查看BufExplorer的幫助文件了。
下面是我的一些配置
let g:bufExplorerDefaultHelp=0??' Do not show default help.
let g:bufExplorerShowRelativePath=1?' Show relative paths.
let g:bufExplorerSortBy=’mru’??? ?' Sort by most recently used.
let g:bufExplorerSplitRight=0??????? ' Split left.
let g:bufExplorerSplitVertical=1???? ' Split vertically.
let g:bufExplorerSplitVertSize = 30?' Split width
let g:bufExplorerUseCurrentWindow=1?' Open in new window.
autocmd BufWinEnter [Buf List] setl nonumber
其他的功能就不一一介紹了
6.窗口管理器winmanager插件
winmanager插件可以把上面介紹的netrw插件和BufExplorer插件集成在一起,我們上篇文章中介紹過的taglist插件也提供了對winmanager插件的支持。
下載:http://vim.sourceforge.net/scripts/script.php?script_id=95
下載后,把該文件在$VIM目錄中解壓縮,這會把winmanager插件解壓到$VIM /plugin和$VIM /doc目錄中:
plugin/winmanager.vim?– winmanager插件
plugin/winfileexplorer.vim?-?改良的Explorer插件
plugin/wintagexplorer.vim?– winmanager提供的tag插件,用處不大
doc/winmanager.txt?–?幫助文件
仍然用”:helptags?$VIM/doc“命令來生成幫助標簽,然后就可以使用”:help winmanager“來查看幫助了。
使用winmanager插件可以控制各插件在vim窗口中的布局顯示。我的vimrc中這樣設(shè)置:
let g:winManagerWindowLayout = 'BufExplorer,FileExplorer|TagList'
let g:winManagerWidth = 30
let g:defaultExplorer = 0
nmap <C-W><C-F> :FirstExplorerWindow<cr>
nmap <C-W><C-B> :BottomExplorerWindow<cr>
nmap <silent> <leader>wm :WMToggle<cr>
g:winManagerWindowLayout變量的值定義winmanager的窗口布局
7. cscope
在前面的文章中介紹了利用tag文件,跳轉(zhuǎn)到標簽定義的地方。但如果想查找函數(shù)在哪里被調(diào)用,或者標簽在哪些地方出現(xiàn)過,ctags就無能為力了,這時需要使用更為強大的cscope。
如果你的系統(tǒng)中有cscope命令, 則可以跳過這一小段, 如果沒有, 就先跟著我一起安裝一個吧. 在Cscope的主頁:?http://cscope.sourceforge.net/下載一個源碼包, 解壓后編譯安裝
跟Ctags一樣, 要使用其功能必須先為你的代碼生成一個cscope的數(shù)據(jù)庫, 在項目的根目錄運行下面的命令:
????cscope -Rbq
這個命令會生成三個文件:cscope.out, cscope.in.out, cscope.po.out。其中cscope.out是基本的符號索引,后兩個文件是使用”-q“選項生成的,可以加快cscope的索引速度。
Cscope在生成數(shù)據(jù)庫中,在你的項目目錄中未找到的頭文件,會自動到/usr/include目錄中查找。如果你想阻止它這樣做,使用”-k“選項。
Cscope缺省只解析C文件(.c和.h)、lex文件(.l)和yacc文件(.y),雖然它也可以支持C++以及Java,但它在掃描目錄時會跳過C++及Java后綴的文件。如果你希望cscope解析C++或Java文件,需要把這些文件的名字和路徑保存在一個名為cscope.files的文件。當cscope發(fā)現(xiàn)在當前目錄中存在cscope.files時,就會為cscope.files中列出的所有文件生成索引數(shù)據(jù)庫。通常我們使用find來生成cscope.files文件,以PHP源碼為例:
?????????cd?項目目錄
?? find *.php –type f > cscope.files
?? cscope -bq
這條命令把項目目錄下的所有普通文件都加入了cscope.files,這樣,cscope會解析該目錄下的每一個文件。上面的cscope命令并沒有使用”-R“參數(shù)遞歸查找子目錄,因為在cscope.files中已經(jīng)包含了子目錄中的文件
注意:find命令輸出的文件以相對路徑表示,所以cscope.out的索引也相對于當前路徑。如果你要在其它路徑中使用當前的cscope.out,需要使用下面介紹的-P選項
Cscope只在第一次解析時掃描全部文件,以后再調(diào)用cscope,它只掃描那些改動過的文件,這大大提高了cscope生成索引的速度。
下表中列出了cscope的常用選項:
-R:?在生成索引文件時,搜索子目錄樹中的代碼-b:?只生成索引文件,不進入cscope的界面-q:?生成cscope.in.out和cscope.po.out文件,加快cscope的索引速度-k:?在生成索引文件時,不搜索/usr/include目錄-i:?如果保存文件列表的文件名不是cscope.files時,需要加此選項告訴cscope到哪兒去找源文件列表??梢允褂谩?b>-“,表示由標準輸入獲得文件列表。-Idir:?在-I選項指出的目錄中查找頭文件-u:?掃描所有文件,重新生成交叉索引文件-C:?在搜索時忽略大小寫-Ppath:?在以相對路徑表示的文件前加上的path,這樣,你不用切換到你數(shù)據(jù)庫文件所在的目錄也可以使用它了。在vim中使用cscope非常簡單,首先調(diào)用”cscope add“命令添加一個cscope數(shù)據(jù)庫,然后就可以調(diào)用”cscope find“命令進行查找了。vim支持8種cscope的查詢功能,如下:
s:?查找C語言符號,即查找函數(shù)名、宏、枚舉值等出現(xiàn)的地方g:?查找函數(shù)、宏、枚舉等定義的位置,類似ctags所提供的功能d:?查找本函數(shù)調(diào)用的函數(shù)c:?查找調(diào)用本函數(shù)的函數(shù)t:?查找指定的字符串e:?查找egrep模式,相當于egrep功能,但查找速度快多了f:?查找并打開文件,類似vim的find功能i:?查找包含本文件的文件例如,我們想在vim 7.0的源代碼中查找調(diào)用do_cscope()函數(shù)的函數(shù),我們可以輸入:”:cs find c do_cscope“,回車后發(fā)現(xiàn)沒有找到匹配的功能,可能并沒有函數(shù)調(diào)用do_cscope()。我們再輸入”:cs find s do_cscope“,查找這個C符號出現(xiàn)的位置,現(xiàn)在vim列出了這個符號出現(xiàn)的所有位置。
我們還可以進行字符串查找,它會雙引號或單引號括起來的內(nèi)容中查找。還可以輸入一個正則表達式,這類似于egrep程序的功能,但它是在交叉索引數(shù)據(jù)庫中查找,速度要快得多。
vim的手冊中給出了使用cscope的建議方法,使用命令”:help cscope-suggestions“查看。
下面是我的vimrc中關(guān)于cscope接口的設(shè)置:
if has('cscope')
set csprg=/usr/bin/cscope
set csto=1
set cst
??set nocsverb
??' add any database in current directory
???if filereadable('cscope.out')
????? cs add cscope.out
? endif
? set csverb
endif
nmap <C-@>s :cs find s <C-R>=expand('<cword>')<CR><CR>
nmap <C-@>g :cs find g <C-R>=expand('<cword>')<CR><CR>
nmap <C-@>c :cs find c <C-R>=expand('<cword>')<CR><CR>
nmap <C-@>t :cs find t <C-R>=expand('<cword>')<CR><CR>
nmap <C-@>e :cs find e <C-R>=expand('<cword>')<CR><CR>
nmap <C-@>f :cs find f <C-R>=expand('<cfile>')<CR><CR>
nmap <C-@>i :cs find i ^<C-R>=expand('<cfile>')<CR>$<CR>
nmap <C-@>d :cs find d <C-R>=expand('<cword>')<CR><CR>
8.?QuickFix窗口
在上一節(jié)的圖10中大家可以看到在窗口下面有一個顯示查詢結(jié)果的窗口, 這個窗口中列出了查詢命令的查詢結(jié)果, 用戶可以從這個窗口中選擇每個結(jié)果進行查看, 這個窗口叫'QuickFix'窗口, 以前也是一個vim的插件來的, 只不過現(xiàn)在成了vim的標準插件, 不用你在去安裝了, QuickFix窗口的主要作用就是上面看到的那個功能: 輸出一些供選擇的結(jié)果, 可以被很多命令調(diào)用, 更詳細的介紹和使用方法請用下面的命令打開QuickFix的手冊來學習吧:
:help quickfix
這里我一個常用的例子來再介紹一種QuickFix窗口的使用方法. 這個例子是要模仿平時我們編程時, 當編譯出錯時, QuickFix會把出錯的信息列出來, 供我們一條條地查看和修改.
顯然編譯會報很多錯誤, 當編譯結(jié)束并退出到源碼界面時, 剛才編譯器報的錯誤都已經(jīng)看不到了, 但是我們可以用QuickFix窗口再將錯誤信息找出來, 用下面的命令調(diào)出QuickFix窗口:
:cw
此時你就可以看如下圖所示的QuickFix窗口了:
在下面的QuickFix窗口中我們可以找到每一個編譯錯誤, 同樣你可以用鼠標點擊每一條記錄, 代碼會馬上自動跳轉(zhuǎn)到錯誤處, 你還可以用下面的命令來跳轉(zhuǎn):
:cn?//?切換到下一個結(jié)果
:cp?//?切換到上一個結(jié)果
如果你經(jīng)常使用這兩個命令, 你還可以給他們設(shè)定快捷鍵, 比如在$VIM/.vimrc中增加:
nmap <F6> :cn<cr>
nmap <F7> :cp<cr>
其還有其他的命令/插件也會用到QuickFix窗口, 但是用法基本上的都是類似的。
9.?在工程中查找 -- 插件: Grep
我們在上面中講過,cscope可以做為一個快速的grep程序使用,對于我們的軟件項目,用cscope生成一個數(shù)據(jù)庫,可以大大加快查找字符串的速度。但cscope需要事先生成一個數(shù)據(jù)庫,對一些簡單的查找,不需要專門為之生成數(shù)據(jù)庫,這時候可以使用grep
下載地址:?http://www.vim.org/scripts/script.php?script_id=311
Grep有很多命令但是我從來都不用敲那些命令的, 因為我在$VIM/.vimrc中增加了下面這句:
nnoremap <silent> <F3> :Grep<CR>
在最下面的命令行會顯示:
Search for pattern: FEAT_QUICKFIX
此時你還可以編輯該行, grep支持正則表達式, 你想全詞匹配的話可以改成:
Search for pattern: <FEAT_QUICKFIX>
然后按下回車:
在最下面的命令行會顯示:
Search in files: *
是問你搜索范圍, 默認是該目錄下的所有文件, 此時你還可以編輯該行, 比如你只想搜索源碼文件:
Search in files: *.c *.h
然后在按下回車, 會在彈出的QuickFix窗口中列出所有符合條件的搜索結(jié)果, 你可以在其中查找你想要的結(jié)果, 如下圖:
10.自動補全
vim也可以做到自動補全的! 下面由我來教你, 該功能要tags文件的支持, 并且是ctags 5.6版本, 可以看看前文介紹tags文件的章節(jié)
我這里要介紹的功能叫'new-omni-completion(全能補全)', 你可以用下面的命令看看介紹:
:help new-omni-completion
你還需要在$VIM/.vimrc文件中增加下面兩句:
filetype plugin indent on
打開文件類型檢測, 加了這句才可以用智能補全
set completeopt=longest,menu?“關(guān)掉智能補全時的預(yù)覽窗口
請確定你的Ctags 5.6已經(jīng)安裝好, 并且生成的tags文件已經(jīng)可以用了,?那么我們就要抄家伙開搞了.用vim打開源文件
$ vi /opt/Site/mpf/index.php
設(shè)置tags文件
:set tags=/opt/Site/mpf/tags
隨便找一個有成員變量的對象, 比如'parmp', 進入Insert模式, 將光標放在'->'后面, 然后按下'Ctrl+X Ctrl+O', 此時會彈出一個下列菜單, 顯示所有匹配的標簽,
隨便找一個有成員變量的對象, 比如'parmp', 進入Insert模式, 將光標放在'->'后面, 然后按下'Ctrl+X Ctrl+O', 此時會彈出一個下列菜單, 顯示所有匹配的標簽,
順便附上我的配置文件和一些插件:?/Files/mo-beifeng/myVIM.rar
本文參考:
vi/vim使用進階
http://easwy.com/blog/archives/advanced-vim-skills-catalog/
Vim?實用技術(shù)
http://www.ibm.com/developerworks/cn/linux/l-tip-vim1/index.html
Vimer的程序世界
http://www.vimer.cn/
《手把手教你把Vim改裝成一個IDE編程環(huán)境 Ver: 0.7》
http://blog.csdn.net/wooin/article/details/2844868
相關(guān)文章:
1. 解決AJAX返回狀態(tài)200沒有調(diào)用success的問題2. ASP刪除img標簽的style屬性只保留src的正則函數(shù)3. 如何在jsp界面中插入圖片4. 爬取今日頭條Ajax請求5. jsp EL表達式詳解6. Ajax實現(xiàn)表格中信息不刷新頁面進行更新數(shù)據(jù)7. jsp中sitemesh修改tagRule技術(shù)分享8. asp(vbscript)中自定義函數(shù)的默認參數(shù)實現(xiàn)代碼9. ASP基礎(chǔ)知識VBScript基本元素講解10. JSP servlet實現(xiàn)文件上傳下載和刪除
