Advice for emacs with Dvorak keyboard layout
There are lots of good discussions of emacs or of the Dvorak layout. There is even some discussion that touches on the combination, but I think it's worth pulling this into one thread so those of us using Dvorak and emacs don't have to read through dozens of pages.
I'm looking for specific pointers or general advice on using emacs with Dvorak. Emacs is extremely configurable, so I think there have to be some great tricks. What are others doing? Re-binding keys in emacs? Re-binding keys everywhere? Changing shortcuts in emacs?
Consider that many of us on Dvorak came from qwerty and some of us may go back in the fu开发者_如何学运维ture. In my case, I still have some familiarity with emacs on qwerty and I sometimes use qwerty, but not currently for emacs - muscle memory has outlasted explicit memory and my fingers sometimes go to the qwerty keys when thinking of emacs shortcuts. (Thank goodness for undo!)
My favorite thing about emacs was the many keyboard shortcuts (such as Ctl -f, -b, -p, -n, -d, etc.) and I have fully learned to touch-type Dvorak at ~ my old speed, but my brain seems to rebel at emacs shortcuts on dvorak. I learned emacs when I coded regularly ~10 years ago, but I stopped coding regularly ~5 years ago, and then I switched to Dvorak. There's good discussion of switching to Dvorak at is-the-switch-to-dvorak-worth-it, but my reason was that I wanted to a) slow myself down for a while because I was suffering from repetitive strain, and b) because I saw mixed reviews of the ergonomics of Dvorak and I wanted to give it a try. For me, it has worked really well - I recovered while slow and after getting back up to approximate full speed (~80 wpm) I can type more, longer without pain - but now that I want to code again I want to make reclaim emacs and I'm not giving up Dvorak.
Just found this question while searching for similar information. I'm a new Dvorak typist, but I've been using Emacs for a few years. The chords are burned into my brain, and I'd rather not retrain myself.
What I've found quite workable is C-\ english-dvorak
(set-input-method
). The keyboard is remapped to Dvorak, but the chords remain the same (that is, C-x C-f
is C-(second key from l-shift) C-(fourth key from caps)
). This is a very convenient middleground, giving me the option to remap keybindings in the future, but not forcing me to learn two new systems at once.
If you set the variable default-input-method
to english-dvorak
, you can just hit C-\
to activate it. This doesn't work if your system keyboard is also mapped to Dvorak, but it's worked for me because I do mostly everything in emacs.
I'm programming every day with Emacs on Dvorak, and I have kept the original key bindings. My main reason for not changing is to be able to use one colleague's Emacs, or start it up on an account I don't want to mess around with. I grew very accustomed of it, so I'm pretty happy with them now.
Obviously, a few one-handed short cuts became two-handed, such as C-x C-s or C-x C-c, but as Dvorak users are generally touch-typing anyway, we always have our two hands on the keyboard.
So, I can only suggest to keep trying, maybe concentrating on fewer commands at the time, and then building back?
I used Emacs for years on Qwerty, and for four years since my switch to Dvorak. I don't make any changes to the default Emacs bindings to accommodate Dvorak...I find that everything works fine as is (although I thought I might have to do something about C-f for a while, but it hasn't turned out to be a problem - that's more because of how I hold my hands than because of the keyboard layout).
On the topic of muscle memory, I don't recommend trying to rebind everything for the new layout - it's a lot of work, and it's often just much easier to change someone else's Qwerty into a Dvorak layout than it is to modify an Emacs init to suit a whole set of bindings for Dvorak, which, IMHO, isn't necessary.
While not specific to Dvorak, I just discovered the "At home modifier":
It allows keys to serve dual functions. For example, when I press space, I get a space; but if I press space in conjunction with another key, it functions as ctrl. This makes some of the more awkward combos a bit easier to type.
I'm using mostly the default key bindings, but I found that combos starting with C-x are much more comfortable to type with this:
(keyboard-translate ?\C-t ?\C-x)
(keyboard-translate ?\C-x ?\C-t)
I only have one left Ctrl key at the Caps Lock position (since reprogramming the Truly Ergonomic keyboard to Dvorak turned right Ctrl into a dash) and C-x is a rather uncomfortable stretch.
I have used dvorak for a few years now (6-7 years), used it long before I used Emacs for 'real'. So I learned the combos in their original forms, I think they are usually ok, the biggest problem is the combos beginning with C-c, since I only have one Ctrl-key it gets kind of awkward. I have to stretch out across the keyboard.
Recently I found out about (keyboard-translate FROM TO)
, so I rebound my C-j to C-c, and C-c to C-j. I'm not too sure what I think about it yet - it messes with your head and your fingers, but it's a bit more convenient than the old C-c. Try it out.
(keyboard-translate ?\C-j ?\C-c)
精彩评论