grout@cadillac.cad.mcc.COM (Steve Grout) (09/01/88)
re... > =>... > =>It looks like you picked the easy ones. Would you care to explain > =>what the four following are supposed to stand for? > => k previous-line keep moving back? :-{ > > .... > ... > Mnemonics issues aside, I find the Emacs cursor keys very difficult > to type. The nice thing about vi's cursor keys is that your fingers > do not have to leave the home row. > Using the arrow keys slows me down > even more, as I prefer to keep my fingers near the home row. > Does anyone have "easier" mappings for the Emacs keys? EMACS, like other wide-use editors, e.g., word-star on MSDOS and certainly VI, is best handled via two-pronged approach, with the underlying goal being to: o ALWAYS USE THE SAME KEYS EVERYWHERE. o USE A REASONABLE SET OF KEYS FOR THE PARTICULAR HOST/TERMINAL/WORKSTATION YOU ARE ON: O USE A REASONABLE SET OF KEYS FOR WHAT YOU ARE DOING (typing, moving, cut/pasting, etc.) 1. The MAIN approach - learn VANILLA EMACS keys as your mainstay: c-F = forward-character c-B = backward-character c-N = next-line c-P = previous-line and so forth. Also the 'meta' (or, at worst, the ESCAPE) key versions the above as they are fairly natural and easy to remember: meta-F = forward word or ESC F = forward word The vanilla set of meta-key bindings are mainly WORD-level versions of the control-key character-level actions. Try to learn the absolute minimum keys so you have to remember less (your brain is not kept busy doing a table-lookup at each editor action you need to do..). (I don't here say that emacs vanilla keys are BETTER than any other editor's main set, only that they come with emacs 'out of the box'. Since they exist and are single key strokes, CONSIDER using them as a common base.) 2. Then set up via local startup file bindings your own local versions of arrow keys and whatever else labelled keys on your keyboard provide natural and helpful actions, e.g. right-arrow = forward-character control-right-arrow = forward-word meta-right-arrow = forward-sentence (or C statement, whatever..) and so forth... As an example, my keyboard has a meta key that I ALWAYS (at least as often as possible) use to for instance bind: meta-E = call-last-kbd-macro I have been able to do my own set across gnuemacs, unipress emacs, uemacs, jove, micrognu, etc. About... > Using the arrow keys slows me down > even more, as I prefer to keep my fingers near the home row. Agreed. One should realize that the goal is not to pick ONE approach to setting up the keyboard vs the editor bindings. Instead, try to provide several NATURAL sets for your environment. By that I mean: + Have a SET WHICH YOU USE AS YOU TYPE so that indeed you KEEP YOUR HANDS OVER THE KEYBOARD AT ALL TIMES and so that the bindings gradually meld into the QWERTY key finger patterns that you touch type with. (In my view, if you don't already, you should really should learn touch type, including not looking at either the keyboard or at the screen as appropriate.) In emacs' case, I suggest these include at least the basic or 'vanilla' key bindings. + If you have arrow keys, have bindings for them...but use them when you in as much 'shift gears' to GLOBALLY MOVE AROUND THE WINDOWS AND LINES ONLY USING THE ARROW KEYS. Once you have moved to where you want to go, then move your hands back over the keyboard and go back to typing without again moving your hands. + If you have a mouse, again work to get it working thru bindings. I can't tell you how to do that..each situation is different. But here again, you USE THE MOUSE BY STOPPING TOUCH TYPEING AND GOING INTO GLOBAL MOVES. tnx, --Steve Grout Steve Grout, MCC CAD Program | ARPA: grout@mcc.com | Phone: [512] 338-3516 Box 200195, Austin, TX 78720 | UUCP: ...!cs.utexas.edu!milano!cadillac!grout