A few weeks ago I mentioned that I would give Emacs another try. I said I would use it through April and then decide whether to keep using it or give up. Here are some thoughts on Emacs a few weeks later.
I thought that after using Emacs for a few weeks I’d either fall in love with it or decide to give it up. Instead, I’m somewhere in the middle.
It was satisfying to learn Emacs because it was challenging and because it has been in the back of my mind for a long time.
Using Emacs on Windows has been easier than when I’ve tried it before. Maybe the Windows version of Emacs has improved, or maybe I am more persistent than I was before.
Sometimes I try to use Windows keyboard shortcuts in Emacs or Emacs commands in Windows programs. Emacs is internally consistent, but not consistent with the majority of software I use. In the past I concluded that such inconsistency was too much. Now I’m willing to live with that inconsistency in exchange for other benefits.
A large part of my motivation for learning Emacs was to reduce the number of applications I use regularly. So far there hasn’t been as much consolidation I’d like, though I imagine over time I may use Emacs for more tasks than I do now.
People mean at least a couple different things when they say they use Emacs. Some simply mean that Emacs is their default text editor rather than something like Notepad++, Vim, or TextMate. But some mean much more. They live inside Emacs, doing tasks in Emacs that others would use more specialized software for. I’m closer to the former group for now, though I imagine the real return on the investment of learning Emacs comes from using it as more of a work environment and not just an editor.
11 thoughts on “Emacs a few weeks later”
I don’t work in as broad of an environment as you. I used XEmacs for several years on windows. I quit using it and switched to notepad++. (I guess I got tired of writing macros in lisp.) I also discovered with the advent of the much improved Visual Studio 2008, I just didn’t need a complex and full featured editor.
As far as your goal to reduce the number of applications you are using, good luck. I’ve failed miserably, mostly because I am a creature of habit.
I use gedit lately for everything, admittedly for aesthetic reasons. But when it comes to editing files in a remote ssh shell there is no other option than textmode emacs.
I might have missed it but what do you plan/wish using Emacs for?
Latex, Python, R, XML, regular file editing, .NET, C++?
XKeymacs will allow you to bring many Emacs keybindings out of your Emacs window and into the rest of your applications, if you’re so minded. Not all of them work very cleanly (they tend to be implemented by mapping an Emacs keystroke, like C-k, to the normally-equivalent Windows keystrokes, like C-End,Del) but the ones I most commonly use are the ones mapped to a single target keystroke, and those are the ones which tend to work well. Extra bonus: it can map the Caps Lock key to be an extra control key.
Which commands you want to emulate? for C-c/C-v/C-x there is cua-mode. It also allows to mark region with Shift+arrows, etc.
Your post surprises me. I was betting you would cancel this endeavour. Strong will!
Overly complex pieces of technology are very much an opposite of drugs.
Drugs make addicted. It is very hard to let go of say opiate use. Emacs (another example is C++) make addicted to n o t using it. After a certain period of time not using that tool it becomes hard to overcome the repulsive potential of the beast in question and return to its usage.
When attempting at working with Emacs I pretty much fought it. I find it depressing that after so many years of computing and successes in areas like operating systems the mankind has’nt managed to built a good simple text editor :-)
@R.Tenton: I may still drop Emacs, but if I do, I’ll have the satisfaction of having given it a good try.
Emacs is complex, but it’s complex in a way I think I’d prefer to other kinds of complexity: the aggregate complexity of the various pieces of software it may replace, the complexity of using software that is not as configurable, the complexity of learning different tools on different operating systems, etc.
C++ is an interesting comparison. I learned C++ before I had other options and before I realized how complex it is. Now that I have used it for so long, it’s not difficult. But I imagine learning C++ after having started with something simpler would be quite painful.
In the same way, I had a head start using Emacs. I learned Emacs years ago when I had fewer options. If I were looking at Emacs for the first time now, my reaction would probably be “You’ve got to be kidding.” But when I started (re)learning Emacs a couple months ago, I had a memory in the back of my mind of what Emacs flow felt like. That motivated me to push past some of the quirks.
Going back to Emacs wasn’t my first choice. I wanted to find a powerful, highly configurable text editor that was more of a modern Windows application as I describe here. I never found anything that met my expectations and reluctantly decided to try Emacs again.
@Thomas: All the above, except I use Visual Studio for C# and C++ development. I’d also like to use Emacs for the next new language that comes out. Instead of installing yet another special editor, I’d download an Emacs mode.
@Andrew and @Alex: Thank you for the suggestions. I may use them some day, but for now I’d like to keep Emacs and Windows separate rather than trying to make either act more like the other. Here’s why.
When I was growing up, I learned to play clarinet, sax, and flute, not that I’m great at any of them. When I was learning a new instrument, it was tempting to carry over techniques from an instrument I already knew. Sometimes this was fine — the three instruments have a lot in common — but sometimes what was good technique on one was bad technique on another. With practice I learned to play each as it was intended to be played. Sometimes I have to switch quickly between instruments, but muscle memory takes over: when I’m holding a flute in my hands, I immediately switch into flute mode, etc. I’m hoping I’ll get to the same point with Emacs and Windows.
when using (textmode) emacs I miss some conventional shortcuts, a useful mouse and a coherent menu. when using other editors I miss control-K (cut rest of the line) and a block cursor.
For me, there were two reasons I decided to learn Emacs (a little over a year ago):
1. I got tired of mutt as a mail reader, and thought gnus was the way to get what I wanted. I want a text based mail reader – nongraphical. A year later, I still haven’t shifted to gnus. However, that’s unrelated to the discussion at hand.
2. I wanted a better programming editor. Now I’m not a programmer – I’m an engineer. I was, however, doing a lot of Python programming in Linux, and the one editor that I had liked started acting up after an upgrade. Furthermore, occasionally I want to code in not-so-popular languages (POV-Ray scripting, or text adventure game programming), and I didn’t want to keep finding and learning new editors for each “language” I wanted to play in. I had noticed over the years that when I search for editors for a language, Emacs would always come up – no matter how obscure the language.
So I decided to stop avoiding Emacs, and jumped into it. I was a grad student at the time, so I had the free time. I just spent one whole spring break trying to learn as much of it as I could.
These were the only reasons I wanted to learn it. In the end, I’ve become one of those guys who uses Emacs for a lot more than text editing. It was simply an unintended consequence.
Now, keep in mind that I’m a Linux person, so using Emacs for a lot more than text editing does come a bit more naturally and plays well with other tools on Linux than it would on Windows.
Now that I have a job (which involves minor simple programming), I still try to do as much as I can in Emacs, and it hasn’t been a problem. Emacs macros have come in real handy – I’d process files in a much quicker and simpler manner whereas others would try to write scripts to do the job.
If I were looking at Emacs for the first time now, my reaction would probably be “You’ve got to be kidding.
Not so for me – but again, perhaps because I’m in the Linux world and grew up on DOS (I’ve spent the least amount of time in Windows). I only really dived into Emacs a year ago.
Emacs for me was a lot more intuitive than vi. Now that’s an editor that is even “worse” than Emacs when it comes to CUA type bindings for movement and copy-pasting. I tried learning that first and failed. To each his/her own.
I would be happy to leave Emacs (for vi, for example), except that ido-mode is *so* handy that I can’t bear to leave it behind.