2008-12-01

welcome to emacs-fu

Welcome to Emacs-Fu!

(If you want to read emacs-fu through your RSS feed reader, please read this)

This is my blog discussing little (and not so little) tweaks to make working with the Emacs Text Editor even nicer. I have been an emacs-user for the last decade or so. I spend a lot of time with it. Emacs allows near-infinite customization, and I am always trying to improve things.

Over the years, I found many little tricks & tips. With this blog, I'm trying to share these with others. I am not claiming I came up with all these things myself. Quite the contrary - most things are inspired by things I found while foraging through the web. Also, I am definitely not claiming that the way shown here is the only way or the best way. I am not an emacs guru - I don't even wear a beard. I do welcome comments with suggestions and improvements.

Now, regarding the content: I don't want to limit myself too much; but the goal is to have something short you can read in a few minutes and pick up something useful, maybe while reading it in a feed reader. While emacs' documentation is very extensive, it can also be a bit intimidating. I'd like to offer bite-size chunks that are directly useful (e.g. running emacs in full-screen mode), or sometimes some background information (e.g., about binding keys or .emacs itself). Also, an over overview of emacs terminology may be quite useful. I'll be updating older posts whenever that makes sense.

Sometimes, I might write a bit longer, if the subject requires it.

About the target audience: the tips here probably make little sense for people who have never used Emacs before; and they might be trivial for the true Emacs wizards. So, the target audience is somewhere in between.

The kind of tips here are meant to be small additions to your .emacs (or ~/.emacs.d/init.el/. See the ever-useful EmacsWiki for some general information about this. After you've added or changed a function in .emacs, you can 'activate' it by either restarting emacs, or calling M-x eval-buffer. Of course, you can find my full .emacs.

However, I would definitely not recommend copying my or other people's .emacs without understanding what things mean. It's much better to start from scratch, and organically developing your very personal .emacs so things work exactly the way you like it. This blog is really about identifying small, understandable and useful nuggets that you can re-use.

I am using the as-of-yet unreleased Emacs version 23; most things should work just fine with the released versions. XEmacs-users might face some more problems. But again, please leave a comment if something is not working for you.

There are many other excellent resources with emacs information available; I already mentioned EmacsWiki, and many other emacs blogs are aggregated in Planet Emacsen. If you're just starting, you can try the built-in tutorial you can start in emacs with C-h t (ie. press Ctrl-H and press 't'). I am not sure if I can recommend it – many things seem a bit outdated (i.e., using C-v instead of simply PgDown…). But I digress.

Some practical points: I try to prefix the functions/macros I define with djcb-. That's not just because I am so pretentious, but also to clearly separate them functions that come with emacs, or a part of other packages. Another practical point is that all the code snippets here can be used for any purpose, i.e. they are in the public domain. External scripts have their own licenses, which you should check before using or distribution them.

Finally: I hope this blog provides some useful information to Emacs-users everywhere. If you have an emacs tip you'd like to share with your fellow emacs users, please let me know.

You can contact me through e-mail (GPG-key); I am djcb in IRC and Twitter.

10 comments:

Ro said...

Thank's very much for this great blog. I've found this blog only one weak ago - and it's amazing how many useful tipps and tricks I already discovered here. Thank's a lot!

A said...

djcb: Thank you, this was very useful!

T said...

I am an emacs enthusiast as well as a hobby-programmer. emacs brings me back that explorative fun that I had as a boy in the 8-bit era, playing around with the commodore 64 and it is also a great tool to get things done efficiently.

I do not use emacs professionally so it is hard (almost impossible) for me to find people in my environment to talk about my hobby and share knowledge. Therefore I probably belong to the target group of 'in-between' people, mentioned in your welcome-note.

emacs sources in the internet, providing customisation proposals, all represent a different style and taste what kind of customisations are useful or not. I already absorbed some of your tips as they somehow seem to fit naturally to my taste (or the way you communicate the tips?) of emacs customisations.

So, thanks for that nice blog.

Keep it up!

djcb said...

@T: thanks for the nice words!

i have been an 'in-between' emacs user for years now. I like figuring out how things work, and hopefully that can be useful to other people as well.

Diego said...

I had tried emacs many times without actually getting why so many people praised it so much. This time, though, I did what I should have done from the start: learn some lisp and try to customize it. While I'm by no means a lisp programmer, I can say now I understand other people's functions and I have even written a couple myself.

I think I'm starting to "get it".

This blog is great, full of useful information and very clearly written.

Thank you very much!

Anonymous said...

23 is out now!

Mohamed said...

Your blog is nice and very interesting. I found many features that I begin to use since I discovered it. I believe that you contribute to make emacs appreciated of many people !

Thanks a lot !

P.S. I'm Emacs Addicted and use it for both personal and professional activities.

Anonymous said...

Your blog is one of the few that I actually ready rather than just aggregate and ignore!

You may be interested in writing a post on: https://github.com/dimitri/el-get

Marc said...

DJCB:
Thanks a bunch for supporting the wanderlust emacs package.
I tried it a few months ago then experimented with GNUS and VM and Mutt and now I find myself back with WL.
Your blogs have been really really helpful and I wanted to thank you for that.
Regards

Salisbury said...

Hi, It has been a while since you
talked about CEDET ? Have you started
using CEDET ? I tried it recently
and found several features that were
broken and that were deal-breakers.
Like looking at multiple definitions
of a function with the same name. etc.