如何在VIM中显示phpcs的结果?

6
我现在正尝试在PHP文件中使用PHP Codesniffer(PEAR)来进行vim编辑。我找到了两个网站,提供了向$HOME/.vim/plugin/phpcs.vim文件添加代码的方法。我已经添加了代码,并且“认为”它正在工作,但我无法看到结果,只能在vim底部看到一行,上面写着(1 of 32),但我无法看到任何32个错误中的一个。
这是我的.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,它们的结果都一样:
第一版(位于: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:(位于在VIM中集成PHP Codesniffer

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的知识...


我找到了自己的答案。有两个问题。问题1:我没有一个名为YML的cs名称,我必须将其更改为PHPCS。问题2:我不知道如何浏览列表:cl->在屏幕上列出所有错误;cnext->显示下一个错误。所以在这两者之间,现在它可以工作了。感谢任何阅读希望能帮助到某人。 - Matt
Matt,请将答案添加为答案而不是评论。然后接受它,以便答案被标记为“已解决”。 - cweiske
1个回答

4
将Matt的评论转换为答案以从未回答的问题列表中获取它:

有两个问题。

  1. 我没有一个名为YML的cs名称,我必须将其更改为PHPCS,
  2. 我不知道如何滚动浏览列表 :cl -> 在屏幕上列出所有错误;:cnext -> 显示下一个错误。

所以现在两者之间它可以工作了。感谢任何阅读希望能对某人有所帮助。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接