I’m back to using Emacs for editing C and Python code for now. There are various reasons for this, but mainly it comes down to the fact that I need an editor and not an IDE; creating projects just to edit a bit of code is too much overhead, at least in the IDEs I have tried. Now, one major problem Emacs has had forever is that people (including me) have implemented new modules for it that “unbreak” various parts, but the maintainer has been very conservative about changing anything.
For this reason, here’s what I consider the “minimal unbreak Emacs .emacs” file:
;;; Minimal Unbreak Emacs ; Waste of display space if you can't click on it (if (not window-system) (menu-bar-mode nil)) ; Really. (iswitchb-mode t) ; Assuming you didn't use Emacs from before when the concept of ; selecting a single region of text interactively was not supported. (transient-mark-mode t) ; This one is actually fixed in Emacs 22; http://www.emacswiki.org/cgi-bin/wiki/CopyAndPaste (setq x-select-enable-clipboard t) ; The default for "uniquifying" buffer names sucks (require 'uniquify) (setq uniquify-buffer-name-style 'post-forward-angle-brackets) ; Slightly more debatable (global-set-key (kbd "C-x C-b") 'ibuffer) (set-scroll-bar-mode 'right) ; Custom keybindings (global-set-key (kbd "C-c i") 'imenu)
Technically I shouldn’t be giving you a C-c prefixed function, but I don’t know of another good place for it. Anyways, enjoy. Someday Emacs will come out of the box unbroken; it’s happening, just very slowly.