Jak mogę wyłączyć inteligentne wcięcia w emacsie (i wymusić spacje lub tabulatory)?

9

Chcę, aby emacs wstawiał 4 spacje lub tabulator po naciśnięciu klawisza Tab. Nic więcej. Nie chcę inteligentnego wcięcia, nie chcę, aby automatycznie się wyrównywało ani nie próbowało zrobić niczego inteligentnego. Chcę tylko, aby wyświetlał 4 spacje (lub tabulator). =

Chris Eberle
źródło

Odpowiedzi:

2

Problem polega na tym, że każdy tryb emacsa definiuje klawisz TAB inaczej. Aby uzyskać globalne zachowanie, spójrz na odpowiedź Treya Jacksona w /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))

Możesz użyć 'self-insert-commandzamiast 'indent-for-tab-commandwskazanego przez inną osobę odpowiadającą na pytanie.

Andrew Stein
źródło
2

Spróbuj tego.

Znajdź swoje .emacs i dodaj to:

(setq c-basic-offset 2)

to sprawia, że ​​emacs wstawia 2 spacje, możesz zmienić numer i wstawić 4,

(setq-default indent-tabs-mode nil)

jeśli chcesz spacje NIE tabulatory

Jose Ga Ma
źródło