2008/8/1 Star Liu <minxinjianxin@gmail.com>:
> I'm really happy to get so much good suggestions, I will try the
> following tools one by one, and send my use reports to this mail
> thread. I feel that the first one I want to try is codeblocks.
Well, whatever works...
> emacs
> vim
If I may so interject here, let me speak on behalf of these two
choices. I will admit that I'm an acolyte of St iGNUcius and I worship
at the Church of Emacs[1], but nevertheless, let me try to give a
somewhat objective reason for why you should dedicate some serious
time at learning either Emacs or vim, or at least trying to learn
them.
The fact[2] remains that coding without touch-typing or with excessive
wrist motion *will* slow you down. Both vim and Emacs are designed to
train you to rewire your cerebellum to move your fingers and wrists in
different ways to get work done. Emacs is extensible; vim is
minimalist, but their editting philosophies are more alike than
different: make the user work hard to get through a steep learning
curve in order to later ease transition into Deep Hack Mode[3].
It is said that flashier IDEs accomplish this better, but to me, after
many years of Emacs, it's extremely uncomfortable to have to move my
wrists to the arrow keys and away from homerow for tasks like moving
the cursor or copy-pasting.
There is another benefit to learning either Emacs or vim (or better,
at least a little of both): they yield dividends elsewhere. For
example, both vim-like and Emacs-like keys for motion and simple
editting work in domains outside of both, like in less (the default
pager when you look at manpages in Debian). Emacs-like keys are the
default in any application that uses readline for receiving text
input, and readline is everywhere (apt-cache rdepends libreadline5).
Novices and the faint of heart will not like Emacs or vim. I say so
from experience: I hated Emacs at first. But it grows on you. You
should definitely give it a try. It's 30-year-old software, but it's
been in development for 30 years, and it shows. It really does
everything. vim is similarly mature, but still maintains for the most
part its minimalistic approach.
Have you let Emacs into your heart? Are you typing in its holy word, brother?
GNUly yours,
- Jordi G. H.
[1] http://www.stallman.org/saint.html
[2] Well, maybe not a fact, but I'm almost sure that if someone were
to do a serious study on coding speed between Emacs-like or vim-like
touch-typists and other people, the other people would lose.
[2] http://www.catb.org/jargon/html/H/hack-mode.html