Archive for the ‘emacs’ Category

Consolidation + wmii

Sunday, November 12th, 2006

What I want out of emacs, in concrete terms, is slowly consolidating. I had a look at the cedet package (Semantic et al), and after getting Cygwin to make for me, I installed it, as well as ECB. I’m very pleased with ECB+Semantic so far. It understands Python well enough, and it seems to have a nice parser error recovery. Semantic can also be given a sense of projects, which to me is essential. It only looks at directories though, but I don’t really think that’s a problem.

Emacs is slowly but surely changing into a more productive tool for me. I’ve started using ido-mode, which is incredibly nice. It’s a completion type of thing for files in the minibuffer, it’s easy enough to try out as it’s built in, just do M-x ido-mode.

One thing I’ve been thinking about is that C-x b should not only look at buffers in memory, but also files on disk, as long as those files are part of some kind of a project. I haven’t found the right thing yet, and this may very well end up being my first elisp hack.

I’ve looked in undo-browse.el, and liking that, though the colour highlighting is a bit weird. I’d find it more natural to color code the changes in some kind of a blue-red spectrum according to age, and I suppose that should be easy enough to hack.

Emacs cut and paste scheme, unfortunately, is not growing on me. I’m not quite sure why I shouldn’t just start using CUA-mode. Apparently yanking is all the rage, but I find it quite fickle. I’ll give it a bit more time. I’m also trying to use C-b and friends to navigate, when I do remember it’s quite satisfying, but usually when I start thinking about navigating, my fingers are already at the arrows. I guess I should also start doing backspace with C-something, as that would be quite Emacsee. Maybe C-j, even though that, in my mind means join line.

Also I need to think about whether I want to rebind something to goto-line. I suppose M-g g is okay though.

One thing I miss is going back and forth through edit points. There is an el file somewhere that lets you go back and forth through editing points in a single file, but I want to to jump around files with abandon! Anyway I’m sure it’s out there somewhere, and if not I guess I’ll have to hack it.

Also, the Emacs Wiki rules, very helpful.

Apart from Emacs, I have been setting up Cygwin, and have also been trying to set up wmii through Cygwin. Unfortunately the makefiles are doing something wrong, so that it can’t link against libX11.dll.a (Cygwin’s version of libX11.a). I’ll have to experiment a bit, and then present my findings to the wmii people.

Anyway, enough for now. Sorry for rambling, I’ll hopefully start to blog in more coherent way with practice.

Emacs ahoy

Thursday, November 9th, 2006

After a long stint of searching for the perfect editor I have decided to try – for the third time – Emacs.

Emacs is old. Emacs is ugly. Emacs refuses to do the things you expect when you’re trying to copy-paste. Emacs knows what a mouse is, but doesn’t really give a flying frak.

However.. Old means lots of plugins, ugly and refusing to copy-paste in a sane way can be changed, since Emacs apparently stands for “Infinitely extensible”, I *am* trying to minimize mouse usage, so it’s all good.
I’ll try to log my progress in the next few days. I have a fairly clear idea of what I’m trying to accomplish by using Emacs.

  • Über Python IDE.
  • Jot editor, preferably one that uploads stuff to some kind of a wiki.
  • RSS reader, preferably one that uses an online opml file to coordinate between different machines.
  • Editor for this blog.
  • And tons more, probably. I’ll be taking the Emacs-is-my-OS approach.

Unfortunately, I seriously doubt Emacs will replace IntelliJ as my Java IDE. I say unfortunately because I really, really want to keep all my code editing in one place. That said, IntelliJ has an emacs compatibility mode, so hopefully, once I’ve properly brainwashed myself, it won’t hurt to use IntelliJ.
My main focus for now is to create a great python editor. I know there is an extension called Semantic, that purports to understand Python. Semantic is used by ECB, which is featured prominently in this screencast. Also I am looking into something called CompletionUI, which is supposed to be able to present completions in a nice way. I’ll also be needing some kind of a snippet library, and I’ll need to understand Exuberant Ctags and how they interact with Emacs.

This should keep me busy for a while, I suppose.