I want to make emacs insert either 4 spaces or a tab when I press the tab key. Nothing else. I don't want smart indentation, I don't want it to auto-align itself or try to do anything smart. I just want it to output 4 spaces (or a tab). =


The problem is that each mode in emacs defines the TAB key diferently. To get a global behavior, look at Trey Jackson's answer in https://stackoverflow.com/questions/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))

You may want to use 'self-insert-command instead of 'indent-for-tab-command as pointed out by another person answering the question.

| improve this answer | |

Try this.

Find your .emacs and add this:

(setq c-basic-offset 2)

this make your emacs inserts 2 spaces, you can change the number and put 4,

(setq-default indent-tabs-mode nil)

if you want spaces NO tabs

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.