Newsgroups: comp.lang.lisp
Date: Tue, 15 Jul 2008 17:22:23 -0700 (PDT)
Local: Tues, Jul 15 2008 8:22 pm
Subject: Lispm keyboard commands
On 16 Jul., 00:34, "xah...@gmail.com" <xah...@gmail.com> wrote:
> A important aspect in designing a keyboard shortcut set, for a Some remarks about some old influence from using the Lisp machine and > application that has intensive, repetitive, prolonged human-machine > interaction (such as coding and text editing), is to consider > ergonomic principles. Specifically: allocate keyboard shortcuts for > the most frequently used commands, and, the top most frequently used > commands should have most easily-pressed keystrokes. For example, > they should be on the home row. Zmacs. Warning: obscure and old... Zmacs documentation: The TI Explorer Zmacs Manual The Symbolics Lisp Machine has for example things like: c- for character level commands There is some more stuff like navigating in menus and options with the > (The reason that Symbolics keyboards have Control as primary modifier, The Lisp Machine had a different idea of character sets and also about > is because in the early computing era, the use of Control Characters > as part of the non-printable chars from the ASCII↗ standard, is > important and frequent. keys on the keyboard. Since all machines were using a GUI-based user interface with special keyboards, terminal control characters were not the biggest influence on the design of the keyboard commands. > This still can be seen in emacs today by the See above. The Lisp machine has tons of keyboards shortcuts. control- > standard use of “Form feed” character (ASCII 12, represented as ^L) as > a indication of “page break”/ section in much of EmacsLisp'ssource > codes. (To go to the previous/next ^L, emacs uses the command forward- > page (C-x ]) and backward-page (C-x [)) At those times, there's not > much of the concept of “keyboard shortcuts”, but rather, modifier keys > are means to enter special data. Today, the Control key is primarily > used as a mechanism for keyboard shortcuts. Only in Telnet/ Terminal/ > SSH applications, the Control key still remain of its original use.) something was not to enter data - it was to issue a command. > The shortcut's key choices are primarily based on first letter of the Note that on the Lisp machine many commands get special keys. The > commands, not based on key position and finger strength or ease of > pressing the key. For example, the single char cursor moving shortcuts > (C-p previous-line ↑, C-n next-line ↓, C-b backward-char ←, C-f > forward-char →) are scattered around the keyboard with positions that > are most difficult to press. keyboard layout is such that outer keys are bigger (easier to hit). Several keys that the programmer might use get some special position: parentheses without shift, rubout is left, etc. See here: http://www.johnbear.net/symbolics-keyboard-paper/gnu-emacs-kbd-for-ma... > (these shortcuts all together accounts I use cursor keys on 'normal' keyboards for that. > for 43% of all commands executed by a keyboard shortcut) Of these, the > most frequently used is C-n (next-line), which accounts for 20% of all > shortcut calls, but is assigned to the letter n, positioned in the > middle of the keyboard, which is one of the most costly key to press. > Similarly, the second most used among these is the C-p (previous- > line), accounting for 16% of all shortcut command calls, is located in > a position above the right hand's pinky, also one of the most costly > key to press. > Outdated Commands Above I use. m-3 c-m-f moves three lisp expressions forward. > A significant portion of emacs's major shortcuts (those with M-‹key› > digit-argument, M-1 to M-9 > transpose-words, M-t Above is quite often used. name-class with the cursor between the words and doing M-t transposes the words. Even more often I use C-M-t to transpose Lisp expressions or c-t to transpose characters. > find-tag, M-. Above is very often used. It finds the source to a symbol in Lisp code. In most Lisp environments. > No Employment of the Shift Key note that on the Lisp Machine, the shift key is used in commands. > For historical reasons, emacs do not use any keybindings involving the For the user there is the HYPER- modifier. The system does not use it. > A Flaw in Keybinding Policy I would hope that there would be more. > Any major software, maintains a guide for the developers about the You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
| ||||||||||||||