Okey, getting emacs working on Windows is a pain, but we deserve a better editor for us(tm).
Issuing “C-x r k” (kill-rectangle) will kill a rectangular area of text. This can be very useful when you have fixed-string text you must process.
yank-rectangle “C-x r y” will paste it where you like.
As usual Emacs rocks!
Ops I did it again. Although I repeatedly said I didn’t love emacs Lisp, I finally managed to learn it.
So I want to share with you my tips, to help entering in the Emacs Lisp world in a fast, fun and easy way.
First of all Lisp is a very elegant language, as you may expect.
Lisp is so elegant you will have to take your time to learn it, because it is a bit cryptic. To make things even worst, emacs function names are less than intuitive. The solution anyway is here: cookbooks!
The second thing you must learn to master is the C-h f (describe-function) key bindings, because will help you a lot. Take the time to study the code of the basic functions you find in your way.
Learn by Example
The best way to start is to use ert unit testing framework which is built in in the last version of Emacs…
(ert-deftest testname () (let (...) .... (should ....) ))
To start playing, see the example on this web page http://steve-yegge.blogspot.it/2008/01/emergency-elisp.html
Lisp magical constructs
To understand better lisp, take a look to this “useless” library http://www.emacswiki.org/emacs/SyntacticSugar
which simply create “alias” to the same function (!)
unwind-protect is the emacs lisp function for “try……finally” idiom. It is very important to use it because will avoid you fatal error on the go. Anyway I like also this form
(condition-case nil (progn (do-something) (do-something-else)) (error (message "oh no!") (do-recovery-stuff)))
So you know I need Emacs on every PC I use.
On windows7 I stick with a linuxVM when possibile, but sometime you need maximum speed, and EmacsWin32 is a good guy. Then I read the exact description of my problem…
Emacs on my Windows 7 work laptop was annoying slow when starting (around 10s). If closed and restarted, startup was immediate until, after about 30 seconds, it was slow again. According to Google, slowness might be due to failing DNS lookups of the laptop’s hostname.
and I find out this solution: stop netlogon service via a command like
net stop netlogon
The add also this line to your .emacs…
(setq w32-get-true-file-attributes nil)