3

我正在使用 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 的左大括号向上移动到上一行?
4

1 回答 1

8

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

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

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

于 2011-03-03T21:05:59.180 回答