Wie kann ich die intelligente Einrückung in Emacs deaktivieren (und entweder Leerzeichen oder Tabulatoren erzwingen)?

9

Ich möchte, dass Emacs entweder 4 Leerzeichen oder einen Tabulator einfügen, wenn ich die Tabulatortaste drücke. Nichts anderes. Ich möchte keine intelligente Einrückung, ich möchte nicht, dass sie sich automatisch ausrichtet oder versucht, etwas Intelligentes zu tun. Ich möchte nur, dass 4 Leerzeichen (oder ein Tabulator) ausgegeben werden. =

Chris Eberle
quelle

Antworten:

2

Das Problem ist, dass jeder Modus in Emacs die TAB-Taste unterschiedlich definiert. Um ein globales Verhalten zu erhalten, lesen Sie die Antwort von Trey Jackson unter /programming/344966/sane-tab-in-emacs

 (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))

Möglicherweise möchten Sie 'self-insert-commandanstelle der 'indent-for-tab-commandAnweisung einer anderen Person, die die Frage beantwortet, verwenden.

Andrew Stein
quelle
2

Versuche dies.

Finden Sie Ihre .emacs und fügen Sie diese hinzu:

(setq c-basic-offset 2)

Dadurch fügen Ihre Emacs 2 Leerzeichen ein. Sie können die Zahl ändern und 4 setzen.

(setq-default indent-tabs-mode nil)

Wenn Sie Leerzeichen möchten, KEINE Tabulatoren

Jose Ga Ma
quelle