【问题标题】:PHP5.3 closures indentation in VIMPHP5.3 VIM 中的闭包缩进
【发布时间】:2011-08-20 19:15:55
【问题描述】:

我尝试了几个不同的 php 缩进脚本,但它们无法处理以下代码的缩进:

myfunc(function(){
    echo "hello";
    if(1==2){
        echo "world";
    }
});

你能指出 vim 的 vimrc 设置或 php 缩进文件来处理 PHP5.3 的新语法吗?

更新:这是我得到的:

myfunc(function(){
        echo "hello";
        if(1==2){
        echo "world";
        }
        });

我使用来自http://www.2072productions.com/vim/indent/php.vim John Wellesz 的 7.3 的捆绑缩进

剩余的 PHP 语法缩进正确。

【问题讨论】:

  • 如果他是通过 SSH(假设)编码,GUI 编辑器不是选项,或者除非 Gedit 有 SSH。
  • 请您编辑您的问题,以便我们看到您看到的内容吗?在这里,它似乎是缩进的,我希望它是缩进的。我使用this syntax file 和this indent file。
  • 注意 - 我没有使用 cindent,我的 .vimrc 文件中还有什么需要的吗?
  • 如果您通过 SSH 进行编辑,您可以使用 SFTP 来使用 GUI 编辑器。我一直和凯特一起使用它。
  • @John 我知道,但这并不是我正在寻找的解决方案。

标签: php vim closures


【解决方案1】:

这可能是因为您的闭包语法不正确。据我所知,闭包不应该有名字。例如。对于 preg_replace_callback 函数,您可以传递包含使用 function($matches){/* logic */} 定义的闭包的变量或上述代码本身。

您在这里尝试做的是在回调参数中定义一个函数。 BAAAAD 为你的脚本 xD

把这样的名字去掉,看看有没有帮助:

myfunc(function(){
    echo "hello";
    if(1==2){
        echo "world";
    }
});

PHP 文档也显示了这种闭包语法: http://php.net/manual/en/functions.anonymous.php

【讨论】:

  • 对不起。我没注意。我已经修复了关闭,但格式仍然不正确。
  • 那时我不知道 - 我只是认为它可能会失败,因为 vim 没有正确理解由于关闭错误而发生的事情。
猜你喜欢
  • 1970-01-01
  • 2013-01-10
  • 1970-01-01
  • 2012-04-15
  • 2013-03-20
  • 1970-01-01
  • 2011-12-01
  • 2020-08-09
  • 1970-01-01
相关资源
最近更新 更多