当我在 cperl 模式下缩进区域时
如果 ($x) { 下一个; }
Emacs 将其重新格式化为:
如果($x){ 下一个; }
我怎样才能让它停止这样做?
注意:问题最初是说这种重新格式化是在拉动时发生的。我也设置了缩进区域。
当我在 cperl 模式下缩进区域时
如果 ($x) { 下一个; }
Emacs 将其重新格式化为:
如果($x){ 下一个; }
我怎样才能让它停止这样做?
注意:问题最初是说这种重新格式化是在拉动时发生的。我也设置了缩进区域。
(setq cperl-break-one-line-blocks-when-indent nil)
假设您也不希望它在键入那种代码时自动格式化,只需将绑定更改为{}
toself-insert-command
而不是perl-electric-terminator
.
我在 cperl 模式下找不到任何可以做到这一点的东西。尝试在没有自定义的情况下启动 emacs:
$ emacs -q
然后在暂存缓冲区中打开 cperl-mode:
M-x cperl-mode
粘贴您的文字;它应该看起来像原来的(即全部在一条线上)。然后开始自定义 cperl-mode:
M-x customize-group<RET>cperl<RET>
仅为当前会话单独设置每个变量,并尝试在每个设置之间粘贴。如果你突然发现你所看到的行为,你就有了一个进一步观察的起点(它可能是选项的组合)。
如果您获得了完全定制的 cperl 并且它的行为仍然没有“错误”,那么您需要开始查看可能导致它的其他软件包。可能需要一段时间......
它对我不起作用,我只是在 Perl 菜单下的 Toggle... 子菜单中尝试了各种设置。除了 Cperl 模式之外,还有其他的东西可以实现吗?
听起来好像我在给出一个逃避的答案,为什么不这样做呢?
next if $x;
相同的代码,相同的效果,同样可读(至少对我而言),但我敢打赌 emacs 不会尝试重新格式化它。