Tweaking Emacs' Text Indent: Don't Indent So Aggressively
Encouraged by my success a few days ago at finally learning how to disable vim's ctrl-spacebar behavior, the next day I went back to an emacs problem that's been bugging me for a while: in text mode, newline-and-indent always wants to indent the first line of a text file (something I almost never want), and skips blank lines when calculating indent (so starting a new paragraph doesn't reset the indent back to zero).I had already googled to no avail, and had concluded that the only way was to write a new text-indent function which could be bound to the return key in the text mode hook.
This went fairly smoothly: I got a little help in #emacs with checking the pattern immediately before the cursor (though I turned out not to need that after all) and for the function called "bobp" (beginning of buffer predicate). Here's what I ended up with:
(defun newline-and-text-indent () "Insert a newline, then indent the next line sensibly for text" (interactive) (if (or (bobp) (looking-at "^$")) (newline) (newline-and-indent) )) (defun text-indent-hook () (local-set-key "\C-m" 'newline-and-text-indent) ) (setq text-mode-hook 'text-indent-hook)
It seems to work fine. For the curious, here's my current .emacs
[ 14:03 Feb 19, 2005 More linux/editors | permalink to this entry | ]