2009-02-27 11 views
1

私はcperlモードでインデント領域を行うとemacs cperlモードで自動フォーマットを停止するにはどうしたらいいですか?

 
if ($x) { next; } 

Emacsはそれを再フォーマット:

 
if ($x) { 
    next; 
} 

どのように私はそれはそれをやって停止することができますか?

注:元々、この再フォーマットは、ヤンクしたときに発生するとの質問がありました。私はインデント領域にも設定をヤンクします。

+0

xtermに中間マウスを貼り付けて で「ヤンクして」いない限り、cperl-modeがこれをやっているとは思いません。その場合は、カスタマイズして cperl-hairyをオフにしてから、もう一度お試しください。 – jrockway

答えて

5
(setq cperl-break-one-line-blocks-when-indent nil) 
0

私のためにはうまくいかないので、PerlメニューのToggle ...サブメニューでさまざまな設定を試してみました。それが起こっているCperlモード以外の何かがありますか?あなたはそれはあなたがいずれかのコードのようなものを入力すると、単にself-insert-command代わりのperl-electric-terminator{}のバインディングを変更するオートフォーマットしたくないと仮定すると、

2

+0

タイプミスが修正されました。あなたは気にしないといいですね... – dmckee

+0

A typo? *私*?不可能。 ;-) ありがとう! –

2

これを行うcperlモードでは何も見つかりません。ノーカスタマイズでのemacsを起動してみてください。そして、

$ emacs -q 

にcperlモードをオンにするには、バッファを傷つける:

M-x cperl-mode 

は、あなたのテキストを貼り付け。元のように見えるはずです(つまり、すべて1行に表示されます)。そして、cperl-modeをカスタマイズを始める:

M-x customize-group<RET>cperl<RET> 

のみ現在のセッションごとに個別に各変数を設定し、各設定の間にペーストをしようとしています。あなたが見ている行動を突然見つけた場合、あなたはもっと見るための出発点があります(オプションの組み合わせかもしれません)。

cperlが完全にカスタマイズされていて、それでも "間違って"動作しない場合は、他のどのパッケージが原因であるかを調べる必要があります。それはしばらく時間がかかるかもしれません....

0

私はcopoutの答えを与えているように、なぜこれをやりませんか?

next if $x; 

同じコード、同じ効果、および同じように読める(私には、少なくとも)が、私はEmacsはそれを再フォーマットしようとしません賭けます。