[prog] replacement strings

john.sturdy at ul.ie john.sturdy at ul.ie
Fri May 28 15:30:33 UTC 2010


Miriam English writes:
 > Hi Eeva,
 > I installed emacs, and was surprised at the enormity of it -- almost 
 > 60MB for a text editor!

Some people say Linux is just the device drivers for Emacs ;-)

 > Sadly though, I doubt I'll use emacs. I was very surprised at the lack 
 > of mouse-wheel scrolling (though I did find some 
 > Options/CustomizeEmacs/environment/editing/mouse settings that let me 
 > switch that on), the lack of visual scrolling when you attempt to pull 
 > the scroll-bar down (it only updates the text when the bar is clicked 
 > left mouse button = down, right mouse button = up),

?

It has visual scrolling mine, out-of-the-box.  Which version did you
try?

You can also drag on the "mode line" between windows (panes), and
click on it to do various things.

The really nice bit (from the programmers' viewpoint) is how things
like that are implemented -- they're all done through "keymaps" that
bind input events to functions.  That way, you can redefine all these
things, and add new features that way.

 >                                                     and the lack of 
 > intelligent word-wrap (the display wraps even in the middle of a word). 
 > Those things wouldn't matter so much to me when writing a program, but 
 > when editing books they would quickly become a major headache.
 > 
 > I know too many amazing folk who use emacs constantly to doubt that it 
 > has terrific capabilities, but I think it would just slowly drive me 
 > nuts. :) I can't help thinking... almost 60MB and it doesn't have even 
 > basic things like intelligent word-wrap, line-joining, visual scrollbar 
 > dragging, and filesystem browser dialog. It feels like a supercharged 
 > antique from the '80s... which, to be fair, I guess you could say it is.

I resemble that remark! ;-) Except for the supercharged bit.

But seriously, it's just much more keyboard-oriented than most things
these days -- it saves on the time and effort of switching between
mouse and keyboard.  And you can do lots of programmerish things
easily, e.g. editing in terms of bracketted expressions, and once you
get used to that, the editing part of your mind twists into a new
shape.  For example, if the cursor is at the start of an "if-else"
expression in fully-braced C, and you want to remove the "else" part,
that's just 4 chords:
  M-3 M-C-f M-2 M-C-k           (where M is the Alt key, and C is Control)
which means "three times, forward expression; two times, kill
expression".  So you never have to work out which closing bracket /
brace to move the cursor to, etc.  I timed myself on a collection of
high-level editing operations, using this type of command and using
the basic character-level editing, and the high-level editing was two
and a half times as fast as the character-level editing. (I've been
experimenting with driving the high-level editing from a gamepad, and
that's twice as fast again!)

And the filename completion facilities are faster than anything I've
seen in file chooser dialogs!  Not only do you get completion on valid
filenames, but you can also scroll through a history of files you've
opened before.

I've put a tabular recap of the tutorial, and what I find the next
most useful of its commands, at
http://www.cb1.com/~john/computing/emacs/beyond-tutorial.html

 > Thanks for the taste of elisp. I actually rather enjoyed it, and will 
 > almost certainly dabble with that more in the future.

There's a lot of useful material, including code snippets, on
http://www.emacswiki.org/

__John


More information about the Programming mailing list