it-swarm-ja.com

emacsでスマートインデントを無効にする(そしてスペースまたはタブを強制する)にはどうすればよいですか?

Tabキーを押したときにemacsに4つのスペースまたはタブを挿入させたい。他には何もありません。スマートなインデントは必要ありません。自動調整したり、スマートなことをしようとしたりしたくありません。 4つのスペース(またはタブ)を出力したいだけです。 =

9
Chris Eberle

問題は、emacsの各モードがTABキーを異なる方法で定義することです。グローバルな動作を取得するには、 https://stackoverflow.com/questions/344966/sane-tab-in-emacs のTreyJacksonの回答をご覧ください。

 (defvar just-tab-keymap (make-sparse-keymap) "Keymap for just-tab-mode")
 (define-minor-mode just-tab-mode
   "Just want the TAB key to be a TAB"
   :global t :lighter " TAB" :init-value 0 :keymap just-tab-keymap
   (define-key just-tab-keymap (kbd "TAB") 'indent-for-tab-command))

質問に答える別の人が指摘したように、'self-insert-commandの代わりに'indent-for-tab-commandを使用することをお勧めします。

2
Andrew Stein

これを試して。

.emacsを見つけて、これを追加します。

(setq c-basic-offset 2)

これにより、emacsは2つのスペースを挿入します。数を変更して、4を入れることができます。

(setq-default indent-tabs-mode nil)

スペースが必要な場合タブなし

2
jose Ga Ma