Managing your emacs config

by hitesh on 2008-5-22

Not too long ago I found my emacs customizations were out of control. Over some time I had kept adding imports and configuration of various libraries and I was having trouble keeping track of it all. Some libs had been added for trial purposes and managed to overstay their welcome. Others were there because of dependencies or some other reason which I could no longer remember. I was being a good programmer and had things modularly split up among several files. But as new library versions came out, dependencies changed and I encountered the need to use emacs on multiple computers, it became a mess.

So one day I decided to just nuke all my customizations and start again from scratch. This time I managed all my customization files and key libraries in source control. This coupled with machine specific customizations allowed me to easily have a decent customized environment on whatever machine I needed to be working on at the moment.

Another thing I did was to actually consolidate most of the customization into my dot emacs. It's actually the antithesis of what Ola Bini is prescribing in a recent blog post, but my experience has been that splitting up most of the customization code caused a bigger management nightmare than any benefit I got from modularization.

So now, my dot emacs has common customizations followed by customizations based on how emacs was run (tty, X11, etc.) and lastly, customizations based on the hostname that I'm on. Here are some tips that I'll pass along.

Previous Comments

Stefan

Good post! One question though: Have you compared yasnippet with msfAbbrev? It seems like yasnippet is better, what is your opinion? One downside seems to be that it requires an extra key stroke (tab) to activate, whereas msf activates directly just as the ordinary abbrevs.

Also, try (setq uniquify-buffer-name-style 'post-forward-angle-brackets). I think that's the best setting.

Best regards,

/Stefan

Robert

I'd like to follow-up to the earlier commenter. How did you choose the template package you use? I have a bunch of old tempo templates lying around. Should I recode them? How would I choose which templating system to use?

Thanks for any advice!

Erick

Regarding msfabbrev v. yasnippets - you can change the yasnippets activation key

(setq yas/trigger-key (kbd "SPC"))

ERick

Phil

what's up with all of these emacs config projects?

I regularly send people on IRC links to my dotfiles when I need to show an example of a certain technique or point out a particularly useful function. For a while I was doing this with Trac, and then with gitweb, but Github is a much nicer experience overall.

Tags: emacs

Comments

blog comments powered by Disqus