X
Xah Lee
ergoemacs.org · Personal blog · on HN since 2010
Xah Lee writes tutorials and opinions on Emacs, Emacs Lisp, keyboard ergonomics, and avoiding repetitive strain injury.
What HN saysHN commenters link it in Emacs and RSI discussions, citing pages on the Emacs pinky, keyboard choice, and ASCII diagrams.
73HN people shared it
47linked it in comments
33stories submitted
1.2Kstory points
5 years agolast shared
2010people per year2026
Most-shared posts
- 1How to avoid the Emacs Pinky problem11 people · 45 points · first shared 2013 · 49 comments on HN
- 2Using Voice to Code Faster than Keyboard7 people · 405 points · first shared 2013 · 133 comments on HN
- 3Practical Emacs Lisp4 people · 175 points · first shared 2012 · 56 comments on HN
- 4Why Emacs keys are painful (2007)4 people · 37 points · first shared 2018 · 29 comments on HN
- 5Emacs: Why You Should Not Swap CapsLock and Control4 people · 11 points · first shared 2015 · 1 comments on HN
- 6ErgoEmacs - Ergonomically modernized Emacs4 people · 1 points · first shared 2011 · discussion on HN
- 7ErgoEmacs3 people · 5 points · first shared 2010 · 2 comments on HN
- 8List of emacs starter kits3 people · first shared 2014
- 9Emacs Modernization: Simple Changes Emacs Should Adopt (2006)2 people · 113 points · first shared 2015 · 169 comments on HN
- 10Lisp-1 vs. Lisp-2 (2008)2 people · 15 points · first shared 2021 · 1 comments on HN
- 11Celebrity Programers with RSI (Repetitive Strain Injury)2 people · 4 points · first shared 2013 · discussion on HN
- 12Emacs: Xah Fly Keys2 people · 2 points · first shared 2015 · 1 comments on HN
- 13Ruby Creator Matz on How Emacs Changed My Life (2012)2 people · 2 points · first shared 2017 · discussion on HN
- 14Best Keyboards for Emacs2 people · 1 points · first shared 2019 · discussion on HN
- 15Controversy of Common Lisp Package in Emacs Lisp2 people · 1 points · first shared 2013 · discussion on HN
What HN people wrote when they linked it
melling · 2014-12-20
Well, the "best editor debates" do keep people from being insular. :-)
Are the vi keybindings really better for your RSI? I've heard different stories. For example,
http://changelog.complete.org/archives/661-so-long-vim-im-returning-to…
There's a new ergoemacs mode that I haven't tried yet: http://ergoemacs.org
Personally, I spend more time using IntelliJ, Xcode, and Sublime these days, but recently I started using Emacs again for a bunch of .org stuff.
By the way, there's an Emacs StackExchange which will hopefully make emacs more accessible.
http://emacs.stackexchange.com/questions/2671/how-can-i-get-fuzzy-code…
jsrjenkins · 2020-02-15
The best I've found is emacs picture-mode.
https://www.gnu.org/software/emacs/manual/html_node/emacs/Basic-Pictur…
Here is a good summary:
http://ergoemacs.org/emacs/emacs_ascii_diagram.html
fnord123 · 2019-05-17
Emacs is physically destructive. The chording will destroy your hands. This is why emacs enthusiasts need special keyboards or foot pedals.
https://www.emacswiki.org/emacs/FootSwitches
http://ergoemacs.org/emacs/emacs_best_keyboard.html
http://ergoemacs.org/emacs/emacs_pinky.html
Vim is great, but after 20 years of using it, I'm moving mostly to Jetbrains stack since flying around the code is faster and syntastic (a vim plugin) is slow as shit on large projects. Thankfully the vim bindings in Intellij are pretty darn faithful.
tom_ · 2019-01-05
For Ctrl, I recommend pressing it with the knuckle of your little finger. There's a photo of the technique here, about halfway down: http://ergoemacs.org/emacs/emacs_pinky.html
The main advantage of this over rebinding Caps Lock: it keeps the meta keys symmetrical, so you don't have to faff about rebinding Enter, or wonder about how you're going to solve the issue of hitting Ctrl with your right hand.
(Lee recommends not doing this, citing unspecified issues with the little finger. For whatever it's worth, probably not much in the face of that kind of argument, I've been doing this for about ten years now and haven't noticed any problems. I'm afraid you're just going to have to make your own decision here.)
thom · 2018-04-03
I'd love some pie in the sky Emacs environment on mobiles and tablets that incorporated voice commands, even if it just translated to M-x commands or something. Others have gone further[1], but I wonder if there's decent subvocalization tech coming to mobiles eventually to make this usable in a work setting.
[1]: http://ergoemacs.org/emacs/using_voice_to_code.html
hackermailman · 2017-10-26
Xah Lee, infamous troll of comp.lang.lisp has a great emacs page http://ergoemacs.org/emacs/emacs.html or the mini-manual http://tuhdo.github.io/emacs-tutor.html
I avoided starting w/Spacemacs or Prelude defaults but you may want them https://github.com/bbatsov/prelude
Emacs you'll find most productive if you live in it, so aside from development where you get your SQLI shell or whatever, also using magit, using pdf-tools to read papers, reading project mailing lists, using org-mode for billing if you're a freelancer, scripting your shell (and now your packages too https://alezost.github.io/guix.el/ ) ect.
jehna1 · 2017-08-12
I recommend reading an article about dude who was unable to code with his hands, so he uses voice commands to code faster than with keyboard[1].
[1]: http://ergoemacs.org/emacs/using_voice_to_code.html
brudgers · 2017-07-29
For me, it's been keyboards with ctl and alt on both sides. Thanks to Xah Lee [1]. This rules out Macbooks (and most laptops) and favors Thinkpads, though currently I have a Dell Precision laptop and it has ctl and alt on both sides but the ctl's are not symmetrically placed and it is a bit annoying and not as good as the Thinkpad it replaced but it is workable.
On my desktop, I have a Microsoft Natural Ergonomic 4000, which is an awesome keyboard and cheap and robust. The major compromise is that it is corded to USB, but for me it is worth it.
That said, it takes practice to develop muscle memory to use both ctl keys and both alts and key bindings that require switching ctl keys to touch type feel strange.
[1]: http://ergoemacs.org/emacs/emacs_pinky.html
taeric · 2014-08-23
Seriously, try emacs. You want to see what color you have put in a css field?[1] Want to see the image you are referencing in a repl?[2]
More amazingly, want to combine TeX, lisp, a markdown like language, and python/whatever in a single document? Try org-mode.[3][4]
[1] http://ergoemacs.org/emacs/i/emacs_xah_css_mode_2014-04-22.png
[2] http://www.nongnu.org/geiser/geiser_3.html#Seeing-is-believing
[3] http://orgmode.org/worg/org-screenshots.html
[4] https://www.youtube.com/watch?v=1-dUkyn_fZA
chriswarbo · 2014-06-17
Complete beginners:
http://ergoemacs.org/misc/list_of_emacs_starter_kits.html
http://unix.stackexchange.com/questions/6170/what-are-some-excellent-e…
Tricks and tips for experienced users: http://whattheemacsd.com/
General Emacs blogs and news:
http://planet.emacsen.org/
auganov · 2014-03-10
You might like http://www.ergoemacs.org/
Anyways there's probably tons of plugins that would change key bindings to something that you'd like more.
Might also want to look into cua-mode.
Maybe you can tell us why you need it to work in a console. Do you only want to edit files over there? Could try sshfs.
If you're able to use X11 on your servers you might look into X11 forwarding through ssh to use Sublime too.
antileet · 2011-01-05
I think there was a project to do that - and smooth out another few emacs quirks. I don't know how much it's being maintained though, but it was built by Xah Lee (afaik).
http://ergoemacs.org/
emmanueloga_ · 2018-11-07
I believe a more appropriate noun is "contempt" :-)
I found this page [1] some time ago, maybe someone can find some good quotes in here but the page is kind of long and heavy and not super quotable, maybe some of you will find some gems in there.
Top of the page is Xah Lee, a lovable, and sometimes a bit weird, cranky master of contempt:
> The basis of computer languages' merit lies in their mathematical properties.
> It is this metric, that we should use as a guide for direction.
> As an analogy, we measure the quality of a hammer by scientific principles:
> ergonomics, material (weight, hardness. . .), construction, statistical
> analysis of accidents/productivity/… …etc., not by vogue or lore.
> If we go by feelings and preferences, hammer's future will deviate
> and perhaps become dildos or maces. (Xah Lee in comp.lang.lisp, July 2000)
I think Xah is cranky but many times on to something. For instance, point 6 in his list of "Python Doc Idiocies" [2] is hard to disagree with :-).
1: http://www.schnada.de/quotes/contempt.html
2: http://xahlee.info/python/python_doc_index.html
P.S.: if you enjoy Xah's writing you should pay for his excellent emacs manual [3]. It is actually openly available but he accepts contributions.
3: http://ergoemacs.org/emacs/buy_xah_emacs_tutorial.html
UPDATE: he actually has a Patreon account too! [4]
4: https://www.patreon.com/xahlee
GeorgeTirebiter · 2021-06-19
M-x artist-mode <ret> in Emacs is pretty cool. Also picture-mode.
http://ergoemacs.org/emacs/emacs_ascii_diagram.html
jpfr · 2020-08-19
He still wants Emacs to become a general-purpose word processor.
https://lists.gnu.org/archive/html/emacs-devel/2018-03/msg00089.html
https://lists.gnu.org/archive/html/emacs-devel/2020-04/msg01255.html
And not everybody is happy about it.
[Careful, flame ahead.]
http://ergoemacs.org/misc/rms_emacs_tyrant_2018-03.html
zelly · 2019-12-25
He also contributed to an Emacs package
http://ergoemacs.org/misc/Richard_Stallman_and_Julian_Assange.html
pcr910303 · 2019-08-29
> Consider the poor quality of the existing js modes for 26.x, any idea why this depends on a future version of Emacs instead of current versions?
You might as well look at the thread js2-mode was revoked[0] and ergoemacs' article[1].
> Alternatively, could somebody convince the author of the railwaycat port (Emacs with better macOS integration) to get a version 27 out soon?
Er... I would like to point out that it's not 'railwaycat' port but more of Mitsuharu Yamamoto's port[2], and AFAIK he has claimed that he has no interest in maintaing an emacs27 version.
[0] https://lists.gnu.org/archive/html/emacs-devel/2009-08/msg00409.html
[1] http://ergoemacs.org/misc/emacs_javascript_mode_war.html
[2] https://bitbucket.org/mituharu/emacs-mac
bloopernova · 2019-08-04
I'm a big fan of the composing commands in Spacemacs.
http://ergoemacs.org/emacs/emacs_pinky.html for more about keeping your hands pain-free.
Sorry, no experience with Dvorak and vim or spacemacs.
tasubotadas · 2019-06-10
I remember giving Emacs a serious go 5 years ago. I really wanted to like it but the archaic mode switches[1] were just too much when you are used to the convenience of Ctrl+C and Ctrl+V (I'll call these "modern shortcuts").
I've tried using ErgoEmacs[2] but what I've learned was that it doesn't really play nicely with all the other extensions.
It's a shame because I've wanted to find something a bit more powerful than nano for config and code updates on remote machines.
[1] http://ergoemacs.org/emacs/emacs_kb_shortcuts_pain.html
[2] https://ergoemacs.github.io/
julienreszka · 2019-04-06
Maybe programming with my voice could be fun.
Is anybody using this kind of stuff on a daily basis ?
http://ergoemacs.org/emacs/using_voice_to_code.html
nickdrozd · 2019-01-10
> Ruby changed my life. Ruby gave me a whole new way of looking at things, and a whole new set of friends.
Matz himself said something similar about Emacs / Lisp [1]:
> Emacs made me realize anything can be changed by a programmer...Emacs taught me freedom for software...Emacs has changed my life
[1] http://ergoemacs.org/emacs/Matz_Ruby_how_emacs_changed_my_life.html
stiff · 2018-10-21
To write code that performs decently in Emacs-Lisp, you have to work with buffer contents rather than substrings, and it is just another frustration, the primitives for working with buffer contents are low level and heavily stateful, you end up writing imperative code that looks a lot like pascal or whatever, while loops conditioned on regexp searches, tons of setq's, moving point and mark around etc. It isn't a convenient way of programmatically modifying text. The basic examples of doing search and replace described here:
http://ergoemacs.org/emacs/elisp_find_replace_text.html
give a flavour of this (and of not having keyword arguments, of libary functions relying on global variables, ...).
molteanu · 2018-05-23
I still don't understand why palm-pressing[1] the Ctrl key in Emacs is not a thing. No pain, no stretching, and you can make use of both left and right Ctrl. Lately I'm even using a Ctrl+Shift combination, both pressed with the palm at the same time. Xah Lee was not wrong about it. It was actually the most important thing I've learned from his website. Take it, use it, learn it and I promise you, after a month or two, it's muscle memory, it's natural and pain free.
[1] http://ergoemacs.org/emacs/emacs_pinky.html
pdkl95 · 2018-03-11
https://en.wikipedia.org/wiki/Space-cadet_keyboard
Also, if you have a 104/105 key keyboard with "windows" and "menu" keys, you do& have a keyboard with four modifier keys. From my .Xmodmap file:
clear Mod1
clear Mod3
clear Mod4
clear Mod5
! left alt -> Meta
keycode 64 = Meta_L
add Mod1 = Meta_L
! right alt -> Alt
keycode 108 = Alt_R
add Mod4 = Alt_R
! left windows -> Super
keycode 133 = Super_L
add Mod3 = Super_L
! right windows -> Hyper
keycode 134 = Hyper_R
add Mod5 = Hyper_R
Emacs uses all four automatically, as M- A- s- H- respectively. (alternatively, see: http://ergoemacs.org/emacs/emacs_hyper_super_keys.html )
zamber · 2018-03-04
Thanks for this. Will keep it in mind when RSI kicks in.
Here's a synopsis of the talk http://ergoemacs.org/emacs/using_voice_to_code.html
Couldn't find the repo for the dragon stuff he promised to publish on his GH profile :/.
Edit:
Found this summary he re-tweeted recently https://medium.com/bambuu/state-of-voice-coding-2017-3d2ff41c5015.
egwynn · 2018-02-17
I’m not sure when Vi[m] got ctrl n/p, but it looks like emacs got it WAY early on: http://ergoemacs.org/emacs/emacs_kb_shortcuts_pain.html
agumonkey · 2017-09-27
> GNU Emacs had an overflowing kitchen sink as its logo
oh wow, http://ergoemacs.org/misc/emacs_overflowing_kitchen_sink_icon.html
pretty nice, and with dataflow !
hprotagonist · 2017-05-10
http://ergoemacs.org/emacs/emacs.html
And down the Xah Lee rabbit hole we go. If you have a question of the form "how do i <very complicated one-liner>", xah has almost certainly written a post about it.
rjeli · 2016-10-30
If your pinky issue comes back, try Xah Lee's ctrl-palming method[0]. It's even less strain than Caps Lock IMO.
[0]: http://ergoemacs.org/emacs/emacs_pinky.html
azaras · 2016-06-30
The worst key, in modern keyboards, when using Emacs is CTRL key.
In the Lisp Keyboard we can see that CTRL key can be press with the thumb.
The bottom corner position in modern keyboards is painful for the pinky finger.
For years I switch CTRL key and TAB key, whereas this is better, you still overuse pinky finger.
Nowadays I use palm to press CTRL (I found this trick here: http://ergoemacs.org/emacs/emacs_pinky.html). I stick a pad on CTRL buttons to improve the trick.