Emacsですべての自動インデントを完全に無効にするにはどうすればよいですか?少なくとも基本モードでは無効にする必要がありますが、現在のセッションでグローバルに無効にすることで問題ありません。
重複することを宣言する前に、この質問の残りを読んでください。 私が見つけた他のすべての答えは、インデントのはるかにターゲットを絞った無効化です。セッション全体のすべての自動インデントを完全に無効にします。
に設定electric-layout-mode
しnil
ても機能しません。
詳細
Windows ASCIIテキストエディターで大きなGitコミットメッセージを作成したいことがあります。これらのメッセージには、多くの場合、箇条書きリスト、コードブロック、またはソースドキュメントの正確な書式設定が意味のあるその他のものが含まれています。私のコードベースはLinux上にあり、テキストのみのSSHクライアントを使用してボックスに接続します。Gitがコミットメッセージを編集するためにEmacsに入ると、ソースコミットメッセージをWindowsクリップボードにコピーし、Windows貼り付けコマンドを使用して貼り付けたいと思います。Emacsの観点からは、Windowsテキストファイルで見つかったものを入力しています。残念ながら、Emacsがインデントされた行を見ると、独自の自動インデントが追加されるので、バッファーの左端に沿ってこの巨大な空白の三角形を取得します。
GNU Emacs 24.3.1を使用しています。
回避策
私の現在の回避策は、LinuxホストによってマウントされているファイルシステムにWindowsテキストファイルを転送し、そのファイルをEmacsにロードしてから、killとyankを使用してコンテンツを転送することです。これは少し不格好です。
例
テキストブロックの例を次に示します。
a
- b
c
d
MSWinペーストを介してEmacs-under-sshに貼り付けると、次のように表示されます。
a
- b
c
d
C-h l
貼り付けを行った後に押すと、これが表示されます。改行はではC-j
なくを使用して入力されることに注意してくださいRET
。
a C-j C-j SPC SPC - SPC b C-j SPC SPC SPC SPC c C-j
SPC SPC SPC SPC d C-j C-h l
:set paste
ますか?基本的には、「貼り付けられたテキストに手を触れないでください」ということです。自動インデントも含まれます。
hack-local-variables-hook
-と本質的にアンドゥ他のものの一部として設定メジャーモードの自分標準初期化。fundamental-mode
は内部の小さな関数です。simple.el
つまり、-必要に応じて独自に変更/作成できます。ただし、名前を変更すると、一部の関数で使用されないため、同じ名前を維持することを検討してください。(kill-all-local-variables) (run-mode-hooks)
M-x find-function RET fundamental-mode RET