Here's a key Emacs tip that will reduce your stress and make the key 
combinations easier, but it may not be obvious when you're first starting 
out...

When you're learning something new, it's easy for bad form to go unnoticed 
unless someone points it out -- this is true in golf, tennis, Emacs, or 
whatever -- and over time bad form becomes a bad habit. Until you hit a 
wall, you may not realize your stroke has a serious flaw because that's the 
way you've always done it and so you've never thought to change it. 

While there are thousands of books, videos, and instructors to help you 
learn proper form for stuff like golf and tennis, there aren't too many 
resources teaching proper Emacs form. 

When I started using Emacs ~15 years ago, I learned the keyboard 
combinations in a certain way and this habit continued for years. But when 
I moved to Clojure, I hit a wall because swank and nrepl enable you to 
evaluate values in the buffer and so my workflow changed and my key combo 
usage skyrocketed. 

Eventually my knuckles and fingers were feeling it from 
the repetitive stress so I started looking around for solutions, such as 
swapping the Ctrl key with the Caps Lock key, getting special 
hacker-friendly keyboards, and I even considered switching to Vi.

Then one day I had an epiphany -- I had been doing it wrong -- I had been 
using my left hand and only my left hand for all the key combinations. 

For example, if you look at the keyboard shortcuts on the nrepl wiki (
https://github.com/kingtim/nrepl.el), you'll see the command to "evaluate 
the top level form under point and display the result in the echo area" is 
C-M-x. 

Before I realized my bad habit, I would contort my left hand to hit "Ctrl 
Alt x" -- this feels awkward and if you do it enough times over the years 
the repetitive stress builds up. A better way is to use both hands. This 
may seem obvious to those who did it right from the beginning, but if you 
start off down the wrong path, it can be a real pain. 

To execute C-M-x using both hands, simultaneously hold down the Ctrl key 
with your left pinky while holding down the Alt key with your right thumb, 
and hit "x" with your left index finger. Doing it this way feels natural 
and smooth. Now I almost always use my right thumb for Meta/Alt, and once I 
realized this, the Emacs command combinations made much more sense.  

This simple adjustment changed everything.

HTH

- James



On Wednesday, January 16, 2013 8:29:36 AM UTC-6, Colin Yates wrote:
>
> Hi all,
>
> After 15 off years of using IDEs I am making the jump into Emacs.  I have 
> read http://dev.clojure.org/display/doc/Getting+Started+with+Emacs and 
> https://github.com/technomancy/emacs-starter-kit and I am just at the 
> point where I have stopped yelling at paredit and starting to appreciate 
> its point.
>
> My current major stumbling block though is navigating my project.  Whilst 
> (I expect) the density and sane namespacing capabilities of Clojure to 
> significantly reduce the number of files, that isn't true of everything. 
>  In particular, ExtJS encourages you to follow the "one file per class". 
>  You don't have to but eventually you will have more than a handful of 
> files regardless.  
>
> So my questions:
>  - is there a decent project explorer.  I really miss the "tree on the 
> left, editor on the right" layout
>  - is there a decent JS and clojure autocompletion aware plugin
>  - other than paredit, nrepl and clojure-mode (and the excellent 
> coffee-mode for coffeescript), what other plugins should I install
>
> Thanks all.
>
> Col
>
> P.S>  Please don't turn this into a flame war :)
>

-- 
-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to