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