2009-02-27 3 views
1

Wenn ich indent-Region in cperl-Modus tunWie kann ich die automatische Formatierung im Emacs Cperl-Modus stoppen?

 
if ($x) { next; } 

Emacs umformatiert es an:

 
if ($x) { 
    next; 
} 

Wie kann ich es, das zu tun stoppen?

Hinweis: Die Frage hat ursprünglich gesagt, dass diese Neuformatierung geschieht, wenn man zerrt. Ich habe das Setup auch auf den Einzugsbereich gesetzt.

+0

Ich glaube nicht, dass cperl-Modus dies tut, es sei denn, Sie sind durch Mid-Maus-Einfügen in ein xterm "ruckeln". In diesem Fall schalten Sie cperl-haarig über anpassen, dann versuchen Sie es erneut. – jrockway

Antwort

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

Es funktioniert nicht so für mich, ich habe es gerade mit verschiedenen Einstellungen im Toggle ... Untermenü im Perl-Menü versucht. Könnte es etwas anderes als den Cperl-Modus geben, der das bewirkt?

2

Angenommen, Sie wollen es nicht auf Autoformat, wenn Sie diese Art von Code entweder eingeben, einfach ändern, um die Bindung von {} zu self-insert-command statt perl-electric-terminator.

+0

Ich habe einen Tippfehler korrigiert. Hoffe, Sie haben nichts dagegen ... – dmckee

+0

Ein Tippfehler? *Mich*? Unmöglich. ;-) Danke! –

2

Ich kann nichts im cperl-Modus finden, der dies tun würde. Versuchen Sie starten Emacs ohne Anpassungen:

$ emacs -q 

und schalten Sie dann cperl-Modus in der Puffer kratzen:

M-x cperl-mode 

Fügen Sie Ihren Text; es sollte wie das Original aussehen (d. h. alle auf einer Zeile). Dann starten cperl-Modus Customizing:

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

jede Variable einzeln für die aktuelle Sitzung Einstellung nur, und versuchen, die Paste zwischen den einzelnen Einstellungen. Wenn Sie plötzlich das Verhalten finden, das Sie sehen, haben Sie einen Ausgangspunkt, um weiter zu schauen (es könnte eine Kombination von Optionen sein).

Wenn Sie cperl vollständig angepasst bekommen und es sich immer noch nicht "falsch" verhält, dann müssen Sie anfangen zu schauen, welche anderen Pakete es verursachen könnten. Es könnte eine Weile dauern ....

0

Ohne klingen wie ich eine copout Antwort gäbe, warum nicht einfach das tun?

next if $x; 

gleicher Code, denselben Effekt, und ebenso lesbar (für mich zumindest), aber ich wette, Emacs wird es nicht zu formatieren versuchen.

Verwandte Themen