2

Начиная с Emacs 24.4 (я думаю), cj и ret были поменяны местами, поэтому отступ теперь вызывается после ret.  И эти отступы в текстовом режиме являются относительными относительно отступа, поэтому, когда вы вставляете код с отступом, код вставляется по диагонали, а не выравнивается:

# copied code
  line1
  line2
  line3

# pasted
  line1
    line2
      line3

Я могу решить эту настройку с выключенным electric-indent-mode (команда flip/flop), но мне нравится поведение, относящееся к отступу, когда я пишу в текстовом режиме. Я хочу отключить его только при вставке текста.

У кого-нибудь есть код, который я мог бы использовать, чтобы установить ярлык вставки, который вызывает режим электрического отступа, вставить из буфера обмена и снова включить режим электрического отступа?

Я был бы признателен за любое дидактическое объяснение кода, чтобы я мог вспомнить свой забытый elisp.

1 ответ1

1

Это должно происходить только в текстовом терминале (где "вставка" заканчивается просто отправкой текстового символа char с помощью char в Emacs, как если бы вы вводили эти символы).

Начиная с Emacs-25, это больше не должно быть проблемой, потому что он использует поддержку "вставки в скобки" из текстового терминала (так, чтобы терминал отправлял специальные escape-последовательности до и после вставленного текста).

Нет необходимости его настраивать: "это просто работает".

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .