VIM for PHP:在Taglist中列出if()和include()

我在VIM中使用了Taglist,但是我继承的一个特定的PHP应用程序是用if()和elseif()和include()广泛编码的。 在每个文件(和几十或几百个文件)的近5000行代码中没有单一的方法或函数。 有什么方法可以使用Taglist或其他插件来获得代码流的概述? 我正在考虑按照简明的方式在边栏中显示if()的条件,包括它们的层次结构。 任何远近的东西都会很棒。

谢谢!


这涉及到一点点工作,您需要编译一个修改版本的带有修改过的php规则的exuberant ctags。

你可能想看看这里:http://ctags.sourceforge.net/EXTENDING.html


使用foldlist插件和foldmethod-syntax (或者调整自己的foldmethod-expr )可以很好地工作。

事实上,即使没有插件,我相信一个适当的折叠设置会产生奇迹。 一些建议:

  • set foldmethod=syntax或( set foldmethod=exprset foldexpr=...为你的情况)
  • set foldclose=all隐藏所有那些讨厌的ifs
  • set foldcolumn=2或更大以查看嵌套级别
  • set foldtext=MyFoldText()并创建一个函数来显示相关信息,
  • 喜欢:

    function! MyFoldText()
       let line = getline(v:foldstart)
       let line = substitute(line, 'if((.*)).*', 'if: 1', 'g')
       " ... etc
       return line
    endfunction
    
    链接地址: http://www.djcxy.com/p/55757.html

    上一篇: VIM for PHP: List if()'s and include()'s in Taglist

    下一篇: Count number of phone calls at the same time