Lispm keyboard commands



On 16 Jul., 00:34, "xah...@xxxxxxxxx" <xah...@xxxxxxxxx> wrote:

A important aspect in designing a keyboard shortcut set, for a
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.


Some remarks about some old influence from using the Lisp machine and
Zmacs.
Warning: obscure and old...


Zmacs documentation:

The TI Explorer Zmacs Manual
http://bitsavers.org/pdf/ti/explorer/2243192-0001A_Zmacs_Jun87.pdf


The Symbolics Lisp Machine has for example things like:

c- for character level commands
m- for word-level commands
c-m- for Lisp-level commands
m-SPECIALKEY do more strongly ( SUSPEND enters a REPL, m-SUSPEND
enters the debugger)
symbol- for special characters
local- for local console commands
c-u numbers for numeric prefixes (like c-u 10 c-f moves ten
characters forward)
super- select from choices (in the debugger super-a selects
the first restart, super-b the second, ...)
hyper- modifier reserved for the user's personal commands
-sh modifier to the command
m-x Command invoke extended command
c-x Prefix

There is some more stuff like navigating in menus and options with the
keyboard or the 'various
quantities' command. The latter does for example things like m-4 c-q
F( which
moves forward four lists. Or m-3 c-q dd deletes the next three top-
level definitions.

(The reason that Symbolics keyboards have Control as primary modifier,
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.

The Lisp Machine had a different idea of character sets and also about
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
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.)

See above. The Lisp machine has tons of keyboards shortcuts. control-
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
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.

Note that on the Lisp machine many commands get special keys. The
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-mac3.html

 (these shortcuts all together accounts
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.

I use cursor keys on 'normal' keyboards for that.


Outdated Commands

A significant portion of emacs's major shortcuts (those with M-‹key›
or C-‹key›) are mapped to commands that are almost never used today.
Some of these occupies the most precious space (Home row with thumb:
For example: M-s (center-line), M-j (indent-new-comment-line), M-k
(kill-sentence)). Most programer who have used emacs for years never
use these commands. For example:

digit-argument, M-1 to M-9

Above I use. m-3 c-m-f moves three lisp expressions forward.

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

For historical reasons, emacs do not use any keybindings involving the
Shift with a letter. (Example: there's no “meta shift a”, or “control
shift a”) This is so because in early computing environment, such key
combination cannot be distinguished, due to a practical combination of
ASCII↗, Computer terminal↗, telnet↗.

note that on the Lisp Machine, the shift key is used in commands.

For the user there is the HYPER- modifier. The system does not use it.
It is reserved for the user.
The user can also use three function keys: SQUARE, CIRCLE and
TRIANGLE.

A Flaw in Keybinding Policy

Any major software, maintains a guide for the developers about the
choices of keyboard shortcuts, so that the shortcuts will be
consistent. Emacs has this in its EmacsLispmanual: Elisp Manual: Key-
Binding-Conventions.

I would hope that there would be more.

.



Relevant Pages

  • RE: Direction Arrows Reversed
    ... If you or some else customized keyboard shortcuts, ... Select Commands ... tab. ...
    (microsoft.public.word.docmanagement)
  • Re: GUI vs: CLI (was: Shell command in VB6)
    ... >> Guess his person doesn't know those keyboard shortcuts and commands ... > Actually, he's extremely fluent in them, just for some reason he remains ... > 7 keys on the keyboard. ...
    (comp.programming)
  • Re: Lispm keyboard commands
    ... respect to all emacs users, regardless whether they are lisp coders. ... Then, we check how often, they use the above commands, or at all. ... choices of keyboard shortcuts, so that the shortcuts will be ...
    (comp.lang.lisp)
  • Re: shortcuts on different platforms
    ... No, keyboard shortcuts work just as well on a Mac, except navigating menus ... written for WinWord but easily convertible to Mac (see below for more ... The best thing to do to learn and use keyboard shortcuts is to go into Tools ...
    (microsoft.public.word.docmanagement)
  • Re: Another great example of how Word 2007 "brings commands closer to the surface"
    ... Like Suzanne, the first customisation I make to my Toolbars is to remove the Cut/Copy/Paste commands - along with italic, bold and underline). ... I always use the keyboard: a lifetime's habit. ... even though I'm a keyboard guy I find myself using that Paste icon. ...
    (microsoft.public.word.newusers)