クリップボードから貼り付ける前と後に electric-indent-mode を変更する Emacs config Lisp コード

クリップボードから貼り付ける前と後に electric-indent-mode を変更する Emacs config Lisp コード

Emacs 24.4 (だと思う) 以降、cj と ret が入れ替わったため、indent は ret の後に呼び出されるようになりました。また、テキスト モードのインデントはインデント相対であるため、インデントされたコードを貼り付けると、コードは整列ではなく斜めに貼り付けられます。

# copied code
  line1
  line2
  line3

# pasted
  line1
    line2
      line3

その設定をオフにすれば解決できますelectric-indent-modeが (flip/flat コマンド)、テキスト モードで書いている間はインデント相対動作が気に入っています。テキストを貼り付けている間だけ、これをオフにしたいのです。

electric-indent-mode を呼び出してクリップボードから貼り付け、再度 electric-indent-mode を設定する貼り付けショートカットを設定するために使用できるコードを持っている人はいますか?

忘れてしまった elisp を思い出せるように、コードの教訓的な説明をいただければ幸いです。

答え1

これはテキスト端末でのみ発生するはずです (「貼り付け」は、文字を入力したかのように、単にテキストを 1 文字ずつ Emacs に送信するだけです)。

Emacs-25 以降では、テキスト端末の「括弧付き貼り付け」サポート (端末が貼り付けられたテキストの前後に特殊なエスケープ シーケンスを送信する) を使用するため、これはもう問題になりません。

設定する必要もありません。「そのまま動作します」。

関連情報