當我cperl模式做縮進區域如何在emacs cperl模式下停止自動格式化?
if ($x) { next; }
的Emacs它格式化到:
if ($x) { next; }
我怎樣才能使它停止這樣做?
注意:最初的問題表明,這種重新格式化發生在執行操作時。我也將縮進設置爲縮進區域。
當我cperl模式做縮進區域如何在emacs cperl模式下停止自動格式化?
if ($x) { next; }
的Emacs它格式化到:
if ($x) { next; }
我怎樣才能使它停止這樣做?
注意:最初的問題表明,這種重新格式化發生在執行操作時。我也將縮進設置爲縮進區域。
(setq cperl-break-one-line-blocks-when-indent nil)
它不適合我,我只是用Perl菜單下的Toggle ...子菜單中的各種設置來嘗試它。難道除了Cperl模式之外還有其他一些事情正在實現嗎?
假設您不希望它在輸入該類代碼時自動生成格式,只需將{}
的綁定更改爲self-insert-command
而不是perl-electric-terminator
即可。
我修正了一個錯字。希望你不介意... – dmckee 2009-02-27 01:43:56
我找不到任何cperl模式,會做到這一點。嘗試啓動Emacs進行任何自定義:
$ emacs -q
,然後打開cperl模式在劃傷緩衝:
M-x cperl-mode
粘貼文本;它應該看起來像原始的(即全部在一行上)。然後開始自定義cperl模式:
M-x customize-group<RET>cperl<RET>
單獨設置每個變量只對當前會話,並在每個設置之間試圖粘貼。如果你突然發現你所看到的行爲,那麼你就有了一個可以看得更遠的起點(可以是選項的組合)。
如果您完全定製了cperl,並且它仍然沒有「錯誤地」行爲,那麼您需要開始查看其他軟件包可能導致它的原因。這可能需要一段時間....
沒有聽起來像我給copout答案,爲什麼不做這個?
next if $x;
相同的代碼,相同的效果,只是爲可讀(對我來說,至少),但我敢打賭,Emacs會不會嘗試重新格式化。
我不認爲cperl模式是這樣做的,除非你是通過 中間鼠標粘貼到xterm中。在這種情況下,請通過自定義關閉 cperl-hairy,然後重試。 – jrockway 2009-02-27 02:44:02