Как мне остановить автоформатирование в режиме emacs cperl?
Когда я делаю отступ-регион в режиме cperl
if ($x) {следующий; }
Emacs переформатирует его так:
if ($x) { следующий; }
Как я могу заставить это прекратить делать это?
Примечание: в вопросе изначально говорилось, что это переформатирование происходит при дергании. У меня есть настройки янки для отступа региона.
5 ответов
Предполагая, что вы не хотите, чтобы он автоматически форматировался при вводе такого рода кода, просто измените привязки {}
в self-insert-command
вместо perl-electric-terminator
,
Я не могу найти ничего в cperl-mode, который бы делал это. Попробуйте запустить emacs без настроек:
$ emacs -q
и затем включите cperl-mode в чистом буфере:
M-x cperl-mode
Вставьте свой текст; это должно выглядеть как оригинал (то есть все в одной строке). Затем начните настраивать режим cperl:
M-x customize-group<RET>cperl<RET>
устанавливая каждую переменную индивидуально только для текущего сеанса, и пробуя вставку между каждым параметром. Если вы вдруг обнаружите поведение, которое вы видите, у вас есть отправная точка, чтобы посмотреть дальше (это может быть комбинация опций).
Если вы полностью настроили cperl и он по-прежнему не ведет себя "неправильно", вам нужно начать искать причины, по которым другие пакеты могут его вызывать. Это может занять некоторое время....
Это не работает для меня, я просто попробовал это с различными настройками в подменю Toggle... в меню Perl. Может ли быть что-то еще, кроме режима Cperl, что делает это возможным?
Не говоря уже о том, что я даю ответный ответ, почему бы просто не сделать это?
next if $x;
Тот же код, тот же эффект и такой же читабельный (по крайней мере для меня), но я уверен, что emacs не будет пытаться его переформатировать.