Как мне удержать фигурные скобки в режиме Emacs cperl?

Я использую 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 к предыдущей строке?

1 ответ

Решение

Я считаю, что вы ищете

(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.

Другие вопросы по тегам