【问题标题】:How do I keep braces from moving in Emacs cperl mode?如何防止大括号在 Emacs cperl 模式下移动?
【发布时间】:2011-03-03 20:35:42
【问题描述】:

我正在使用 GNU Emacs 22.2.1 和 cperl 5.23。

我有这样的 perl 代码:

sub foo
{
    if($x)
    {
      print "x";
    }
    else
    {
      print "y";
    }
}

我想将代码重新缩进为 2 空格缩进。但是当我在这段代码上运行cperl-indent-region 时,我得到:

sub foo
  {
    if ($x) {
      print "x";
    } else {
      print "y";
    }
  }
  1. 如何将外大括号保持在左边距/第 0 列?
  2. 如何防止 if 和 else 的左大括号移动到上一行?

【问题讨论】:

    标签: perl emacs cperl-mode


    【解决方案1】:

    我相信您正在寻找的自定义是:

    (setq cperl-extra-newline-before-brace t
          cperl-brace-offset              -2
          cperl-merge-trailing-else        nil)
    

    您可以使用M-x customize-group <ENTER> cperl <ENTER> 自定义 cperl 模式。缩进变量位于 Cperl Indentation Details 子组中。

    【讨论】:

    • 不知道custom-group。超级有帮助。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-04
    • 2010-11-04
    • 1970-01-01
    相关资源
    最近更新 更多