我目前正在尝试在vim中使用PHP Codesniffer(PEAR)来处理PHP文件。我找到了2个站点,可以将代码添加到$HOME/.vim/plugin/phpcs.vim
文件中。我添加了代码,我“认为”它正在工作,但我看不到结果,我只在vim的最底部看到一行(1 of 32)
,但我看不到32个错误中的任何一个。< / p>
这是我的.vimrc文件
" Backup Options -> Some People may not want this... it generates extra files
set backup " Enable Backups
set backupext=.bak " Add .bak extention to modified files
set patchmode=.orig " Copy original file to with .orig extention Before saving.
" Set Tabs and spacing for PHP as recomended by PEAR and Zend
set expandtab
set shiftwidth=4
set softtabstop=4
set tabstop=4
" Set Auto-indent options
set cindent
set smartindent
set autoindent
" Show lines that exceed 80 characters
match ErrorMsg '\%80v.\+'
" Set Colors
set background=dark
" Show a status bar
set ruler
set laststatus=2
" Set Search options highlight, and wrap search
set hls is
set wrapscan
" File Type detection
filetype on
filetype plugin on
" Enable Spell Checking
set spell
" Enable Code Folding
set foldenable
set foldmethod=syntax
" PHP Specific options
let php_sql_query=1 " Highlight sql in php strings
let php_htmlInStrings=1 " Highlight HTML in php strings
let php_noShortTags=1 " Disable PHP Short Tags
let php_folding=1 " Enable Ability to FOLD html Code
我已经尝试了两个不同版本的phpcs.vim,我得到了相同的结果:
版本1(见VIM an a PHP IDE)
function! RunPhpcs()
let l:filename=@%
let l:phpcs_output=system('phpcs --report=csv --standard=YMC '.l:filename)
" echo l:phpcs_output
let l:phpcs_list=split(l:phpcs_output, "\n")
unlet l:phpcs_list[0]
cexpr l:phpcs_list
cwindow
endfunction
set errorformat+=\"%f\"\\,%l\\,%c\\,%t%*[a-zA-Z]\\,\"%m\"
command! Phpcs execute RunPhpcs()
第2版:(在Integrated PHP Codesniffer in VIM找到)
function! RunPhpcs()
let l:filename=@%
let l:phpcs_output=system('phpcs --report=csv --standard=YMC '.l:filename)
let l:phpcs_list=split(l:phpcs_output, "\n")
unlet l:phpcs_list[0]
cexpr l:phpcs_list
cwindow
endfunction
set errorformat+="%f"\\,%l\\,%c\\,%t%*[a-zA-Z]\\,"%m"
command! Phpcs execute RunPhpcs()
这两者都会产生相同的结果。
phpcs安装在我的系统上,我可以在vim之外生成结果。任何帮助将不胜感激我只是在了解更多关于vim ...
答案 0 :(得分:4)
将马特的评论转换为答案,以便从未答复的问题列表中获取答案:
有2个问题。
:cl
- &gt;列出屏幕上的所有错误; :cnext
- &gt;显示下一个错误。所以他们两人之间现在有效。感谢任何读取希望它帮助某人。