Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

How to cut and paste a column

18 views
Skip to first unread message

Ross Watkins

unread,
Mar 24, 1988, 11:56:58 AM3/24/88
to
Rick Allard asks:
> Has anybody found the need and the solution
> to cutting a column out of a multicolumn
> area of characters, a table? Any Display
> Manager Jockeys that can help, I'd like to
> [unreadable...I think it said "buy them lunch"]

I'm hardly a DM Jock, but I have been squeezing DM for awhile, trying
to get it to look more like EMACS; we have the stuff from MIT, but
I haven't had time to get it up and working.

To cut a rectangular are out of any text file, first mark the top-left
corner, then cursor down to the bottom-right. Everything in between
will reverse-video, including the stuff outside your rectangle that
you don't want, but don't worry. Now use the DM command "XD -R",
which will cut the rectangular section from the text, and hold it in
the paste buffer. The inverse operation--pasting a column into the
middle of a table--is done with the companion command "XP -R" (don't
use the PASTE key!); bear in mind that if things don't line up exactly,
you will have some reformatting to do.

I use the rectangular-cut command often when coding: to delete the
first four spaces from 20 lines in a row, say, as when removing a FOR
loop or other level of code. I use it so much, in fact, that I have
bound the sequence to CNTL-W (for cut-window) with the DM command
"KD ^W XD -R KE", in order to have it easily accessible. The
corresponding copy command is "XC -R", but I have never used it.

Also note that by appending "-F pathname" to these DM commands, the
resulting cut/copy/paste can be written/written/read to/to/from the
pathname specified. Please also note that the "rectangle switch" need
not be present to make use of this pathname redirection switch. Indeed,
it is in precisely this manner that "-F pathname" finds its greatest
utility for me--and a few more bindings:

cut to a file: "KD ^D XD -F &'Cut and copy to Pathname: ' KE"
copy to a file: "KD ^C XC -F &'Copy to Pathname: ' KE"
paste from a file: "KD ^I XP -F &'Insert from Pathname: ' KE"

I find the prompts useful for remebering what I bound to what, and
in case of typing error. Play with these until you are comfortable
with them.

Enjoy, Ross
-------

Ashwin Ram

unread,
Mar 24, 1988, 10:16:24 PM3/24/88
to

In article <12384916270....@ECLA.USC.EDU>, BEC.SHAPIN@ECLA (Ross Watkins) writes:
> Rick Allard asks:
> > Has anybody found the need and the solution
> > to cutting a column out of a multicolumn
> > area of characters, a table? Any Display
> > Manager Jockeys that can help, I'd like to
> > [unreadable...I think it said "buy them lunch"]
>
> I'm hardly a DM Jock, but I have been squeezing DM for awhile, trying
> to get it to look more like EMACS

I have a bunch of Emacs-like key bindings for the DM, which I can post if people
are interested. The hardest one was getting ^K to kill to the end of the line
correctly, making sure it joined the lines if you were already at the end of the
line. I don't append successive kills to the kill-buffer, however. Barring
this, the basic control, ESC and ^X key sequences work pretty much as in Emacs.

> To cut a rectangular are out of any text file, first mark the top-left
> corner, then cursor down to the bottom-right. Everything in between
> will reverse-video, including the stuff outside your rectangle that

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


> you don't want, but don't worry. Now use the DM command "XD -R",

^^^^^^^^^^^^^^


> which will cut the rectangular section from the text, and hold it in
> the paste buffer. The inverse operation--pasting a column into the
> middle of a table--is done with the companion command "XP -R" (don't
> use the PASTE key!); bear in mind that if things don't line up exactly,
> you will have some reformatting to do.

You can use ECHO -R to highlight the rectangle correctly.

-- Ashwin.

ARPA: Ram-A...@cs.yale.edu
UUCP: {decvax,ucbvax,harvard,cmcl2,...}!yale!Ram-Ashwin
BITNET: Ram@yalecs

Nathaniel Mishkin

unread,
Mar 25, 1988, 8:35:00 AM3/25/88
to
Here's something useful to know about the DM's rectangular feature: If
you set a mark (DR) and turn on rectangular echoing (ECHO -R), then
commands that take a marked region (e.g. XC) are made to operate on a
rectangular region, even if you don't give them (or they don't even take)
a -R switch. I define L1S (SHIFT-MARK) to be "DR;ECHO -R". Thus, if
I want to do a non-rectangular cut, I do "L1 (MARK), move cursor, L1AS
(CUT)" and if I want to do a rectangular cut I do "L1S (SHIFT-MARK),
move cursor, L1AS (CUT)". I.e. I don't need two CUT key bindings (one
with -R and one without) and two COPY key bindings (similarly). Also
the S (substitute) command obeys rectangularity established by "DR;ECHO
-R", even though S itself doesn't take a -R switch.

Hey, maybe it's not a *silk* purse from a sow's ear, but what about nylon?
--
-- Nat Mishkin
Apollo Computer Inc.
Chelmsford, MA
{decvax,mit-eddie,umix}!apollo!mishkin

Brian T. Schellenberger

unread,
Mar 28, 1988, 10:46:10 PM3/28/88
to
. . . You can even do this one better. I have a key defined to do a
restangular echo and then redefine the paste key to do a rectangular paste.
That way, the rectangular area is cut or copied rectangularly and then
pasted back in the way you expect.

Of course, this causes strange effects the next time you paste if you were
using the rectangular echo to delimit a case change or `s' command or something,
but it works most of the time, and with the DM's lovely undo, who cares if it
completely screws up from time to time?

Also, I've gots of interesting key definitions to do things like always show
the current cursor position (except while in the DM window), maintain current
nesting level, set a debugger breakpoint on the line I'm pointing to, use the
the third mouse button for "shift" to allow four functions on three buttons,
find word, delete word, &c.

We've also got a f6x10, which is about the size of the default DN300 fonts,
on a DN3000. A lot of us found the default too small to read and the next
bigger one too big to fit useful text. With f6x10, you can fit an 80-column
window and a 72-column window side-by-side.

(I've been working on an Apollo for four years now; after a while one does
these things.)

Anyway, if any of these sound interesting, let me know (by E-mail, please).
If gobs of people are interested, I'll post. Else, I'll mail. Or whatever.
--
--Brian.
(Brian T. Schellenberger) ...!mcnc!rti!sas!bts

STD REMINDER: remeber to keep included text small for us 1200-bauders . . .

Chane Cullens

unread,
Mar 29, 1988, 12:25:22 PM3/29/88
to
From article <12384916270....@ECLA.USC.EDU>, by BEC.S...@ECLA.USC.EDU (Ross Watkins):

> Rick Allard asks:
>> Has anybody found the need and the solution
>> to cutting a column out of a multicolumn
>> area of characters, a table? Any Display
>> Manager Jockeys that can help, I'd like to
>> [unreadable...I think it said "buy them lunch"]
>
> I'm hardly a DM Jock, but I have been squeezing DM for awhile, trying
> to get it to look more like EMACS; we have the stuff from MIT, but
> I haven't had time to get it up and working.
> ...
> ....

> cut to a file: "KD ^D XD -F &'Cut and copy to Pathname: ' KE"
> copy to a file: "KD ^C XC -F &'Copy to Pathname: ' KE"
> paste from a file: "KD ^I XP -F &'Insert from Pathname: ' KE"
>
> I find the prompts useful for remebering what I bound to what, and
> in case of typing error. Play with these until you are comfortable
> with them.
>
> Enjoy, Ross
> -------
Try these
The down stroke starts a rectangular mark and the upstroke copies (F3) or cuts (shift F3).
Use control F3 to paste the rectangle (as a rectangle).

kd f3 msg ' Rectangular copy, use f3c to paste';dr;echo -r;kd f3u xc -r rectangle @ke ke
kd f3s msg ' Rectangular cut, use f3c to paste'; dr;echo -r;kd f3u xd -r rectangle @ke ke
kd f3c xp -r rectangle;kd f3u ke@; ke
kd f3u ke

--
Chane Cullens ch...@mntgfx.MENTOR.COM
8500 SW Creekside Place Beaverton OR 97005 - 503-626-7000
These are my opinions, ideas, thoughts, etc.

Ashwin Ram

unread,
Mar 31, 1988, 4:16:39 PM3/31/88
to

There seemed to be sufficient interest in response to my article
<25...@yale-celray.yale.UUCP> to justify my posting this package. The following
is a SHAR file containing a bunch of files that emulate a set of Emacs-like key
bindings for the DM. The basic control, ESC and ^X key sequences are
implemented. Of course, there are little differences here and there (e.g., DM's
undo works differently; successive kills don't get appended to the kill-buffer),
but overall it seems to do a reasonable emulation.

To install:
-----------
Save the following file, then unpack it by running it as a /bin/sh shell script
in a directory ~/k (i.e., k in your home directory). I needed a short name; 'k'
stands for 'keys'.

To use:
-------
CMDF the file ~/k/keys. You can put this in your login sequence.

Documentation:
--------------
The Readme file describes the setup; keys.hlp describes the key bindings (of
course, you could redefine stuff to look like your favorite Emacs if some of
these bindings are different from the ones you're used to); the key sequence
^X? will print a brief description of a key sequence (e.g., to find out what
^X^V does, type ^X?^X^V). This feature may be incomplete.

To gripe:
---------
Send e-mail to me -- ARPA: Ram-A...@cs.yale.edu


UUCP: {decvax,ucbvax,harvard,cmcl2,...}!yale!Ram-Ashwin
BITNET: Ram@yalecs

I appreciate feedback of all kinds -- comments, bug reports, suggestion, improvements.

--------------------------------- cut -------------------------------------------
#! /bin/sh
# This is a shell archive, meaning:
# 1. Remove everything above the #! /bin/sh line.
# 2. Save the resulting text in a file.
# 3. Execute the file with /bin/sh (not csh) to create the files:
# Readme
# c
# ck
# e
# keys
# keys.hlp
# lk
# shift_again
# special_keys
# uc
# ue
# ueb
# uei
# ux
# uxb
# uxd
# uxi
# x
# xd
# xde
# xdx
# This archive created: Thu Mar 31 12:42:21 1988
export PATH; PATH=/bin:$PATH
echo shar: extracting "'Readme'" '(1867 characters)'
if test -f 'Readme'
then
echo shar: will not over-write existing file "'Readme'"
else
sed 's/^ X//' << \SHAR_EOF > 'Readme'
XA set of Emacs-like key bindings for the DM.
X--------------------------------------------
XCopyright (c) Ashwin Ram, 1987.
XFree distribution permitted.
X
XDirect queries, bugs and suggestions to <Ram-A...@cs.yale.edu> or <R...@yalecs.bitnet>.
X
XThis directory should be called ~/k (I needed a short name; 'k' stands for
X'keys'.) To set up the key bindings, do a CMDF ~/K/KEYS. This can be done
Xduring your login sequence.
X
XThe directory should contain the following files:
X
XReadme This file
Xkeys.hlp Documentation and help file for normal keys
X
Xkeys The NORMAL keymap - initial key bindings
Xck Default control keys (C- commands)
Xlk Default letter keys (self-insert commands)
Xspecial_keys Put your L, R, F, N and mouse key bindings here.
X
Xe Puts you in the ESCAPE keymap (M- commands)
Xue Returns you back to the NORMAL keymap
Xuei Unimplemented escape keys
Xueb Unbound escape keys
X
Xx Puts you in the EXTENDED keymap (^X commands)
Xux Returns you back to the NORMAL keymap
Xuxi Unimplemented extended keys
Xuxb Unbound extended keys
X
Xxd Describe key (handles ^X? command)
Xxdx Describe extended keys
Xxde Describe escape keys
Xuxd Returns you back to the NORMAL keymap
X
Xc Puts you in the MODE-SPECIFIC keymap (^C commands)
Xuc Returns you back to the NORMAL keymap
X
XNaming conventions:
Xk = key
Xe = escape (ESC or M-)
Xx = extended (^X)
Xu = undo (back to normal)
Xb = unbound
Xi = unimplemented
Xd = describe
SHAR_EOF
if test 1867 -ne "`wc -c < 'Readme'`"
then
echo shar: error transmitting "'Readme'" '(should have been 1867 characters)'
fi
chmod +x 'Readme'
fi # end of overwriting check
echo shar: extracting "'c'" '(213 characters)'
if test -f 'c'
then
echo shar: will not over-write existing file "'c'"
else
sed 's/^ X//' << \SHAR_EOF > 'c'
Xmsg '^C-'
X
Xkd ^G cmdf ~/k/uc;msg'Aborted' ke
X
Xkd ^C cmdf ~/k/uc;xc ke
X
Xkd 'e' cmdf ~/k/uc;xc;(19,985)tr;cms;dr;xp;pb;tb;tr ke
Xkd ^E cmdf ~/k/uc;\%[ ]*@@n\;ad;cms;dr;/%[ ]*@@n/;xc;(19,985)tr;cms;dr;xp;pb;tb;tr ke
SHAR_EOF
if test 213 -ne "`wc -c < 'c'`"
then
echo shar: error transmitting "'c'" '(should have been 213 characters)'
fi
chmod +x 'c'
fi # end of overwriting check
echo shar: extracting "'ck'" '(554 characters)'
if test -f 'ck'
then
echo shar: will not over-write existing file "'ck'"
else
sed 's/^ X//' << \SHAR_EOF > 'ck'
Xkd ^X cmdf ~/k/x ke
Xkd ESC cmdf ~/k/e ke
X
Xkd ^A tl ke
Xkd ^B \[~@@f]\ ke
Xkd ^C cmdf ~/k/c ke
Xkd ^D ed ke
Xkd ^E tr ke
Xkd ^F /[~@@f]/ ke
Xkd ^G abrt ke
Xkd ^H \[~@@f]\;ed ke
Xkd ^I th ke
Xkd ^J en;tl ke
Xkd ^K cms;dr;tr;xc;rm;gm;rm;so/??*/|/;ed;dr;tl;gm ke
Xkd ^L rs ke
Xkd ^M en;tl ke
Xkd ^N ad ke
Xkd ^O en;au;tr ke
Xkd ^P au ke
Xkd ^Q dq ke
Xkd ^R tdm;tl;dr;tr;xd dm_save;rm;es'\';xp search;tr;es'\';en ke
Xkd ^S tdm;tl;dr;tr;xd dm_save;rm;es'/';xp search;tr;es'/';en ke
Xkd ^T cms;dr;echo ke
Xkd ^U pp -0.5 ke
Xkd ^V pp 0.5 ke
Xkd ^W xd;cms ke
Xkd ^Y xp ke
Xkd ^Z eef ke
SHAR_EOF
if test 554 -ne "`wc -c < 'ck'`"
then
echo shar: error transmitting "'ck'" '(should have been 554 characters)'
fi
chmod +x 'ck'
fi # end of overwriting check
echo shar: extracting "'e'" '(2076 characters)'
if test -f 'e'
then
echo shar: will not over-write existing file "'e'"
else
sed 's/^ X//' << \SHAR_EOF > 'e'
Xmsg 'ESC-'
X
Xkd ESC cmdf ~/k/uei ke
Xkd ^G cmdf ~/k/ue;msg'Aborted' ke
X
Xkd 'a' cmdf ~/k/ue;\[.?!][~a-zA-Z0-9]\ ke
Xkd 'b' cmdf ~/k/ue;\[a-zA-Z0-9]\;\[~a-zA-Z0-9]\;/[a-zA-Z0-9]/ ke
Xkd 'c' cmdf ~/k/ue;xc @&'Copy to buffer: ' ke
Xkd 'd' cmdf ~/k/ue;cms;dr;/[~a-zA-Z0-9]/;xd ke
Xkd 'e' cmdf ~/k/ue;/[.?!][~a-zA-Z0-9]/;/[a-zA-Z0-9]/ ke
Xkd 'f' cmdf ~/k/ue;/[~a-zA-Z0-9]/;/[a-zA-Z0-9]/ ke
Xkd 'g' cmdf ~/k/ue;@&'Go to line: ' ke
Xkd 'h' cmdf ~/k/ue;cms;dr;\[a-zA-Z0-9]\;\[~a-zA-Z0-9]\;/[a-zA-Z0-9]/;xd ke
Xkd 'i' cmdf ~/k/ueb ke
Xkd 'j' cmdf ~/k/ueb ke
Xkd 'k' cmdf ~/k/ue;cms;dr;tr;xd @&'Delete to buffer: ';tl;gm;cms ke
Xkd 'l' cmdf ~/k/ueb ke
Xkd 'm' cmdf ~/k/ue;ro ke
Xkd 'n' cmdf ~/k/ue;/%[ ]*@@n/;ad ke
Xkd 'o' cmdf ~/k/ue;ei ke
Xkd 'p' cmdf ~/k/ue;au;\%[ ]*@@n\;ad ke
Xkd 'q' cmdf ~/k/ue;cmdf ~k/qr ke
Xkd 'r' cmdf ~/k/ue;tdm;tl;dr;tr;xd dm_save;rm;es'@&'Reverse search for: @'';tl;dr;tr;xd search;rm;es'\';xp search;tr;es'\';en ke
Xkd 's' cmdf ~/k/ue;tdm;tl;dr;tr;xd dm_save;rm;es'@&'Forward search for: @'';tl;dr;tr;xd search;rm;es'/';xp search;tr;es'/';en ke
Xkd 't' cmdf ~/k/ueb ke
Xkd 'u' cmdf ~/k/ue;undo ke
Xkd 'v' cmdf ~/k/ue;pv -1 ke
Xkd 'w' cmdf ~/k/ue;xd @&'Delete to buffer: ';cms ke
Xkd 'x' cmdf ~/k/ue;tdm;ph -1000;tb;tr ke
Xkd 'y' cmdf ~/k/ue;xp @&'Yank from buffer: ' ke
Xkd 'z' cmdf ~/k/ueb ke
X
Xkd ' ' cmdf ~/k/ue;gm ke
Xkd CR cmdf ~/k/ue;es'|';al;en;tl;s/%[ ]*|[ ]*/|/;au;es'|';al;dr;/[~ ]/;xc indent;tl;ed;ad;xp indent;ed;\$\;/|/;ed ke
Xkd TAB cmdf ~/k/ue;[,@&'Go to column: '] ke
Xkd '$' cmdf ~/k/ue;cmdf ~/user_data/start_shell ke
Xkd '^' cmdf ~/k/uei ke
Xkd '!' cmdf ~/k/uei ke
Xkd '?' cmdf ~/k/ue;(0,110)dr;(1279,996)cv ~/k/keys.hlp ke
Xkd ',' cmdf ~/k/ue;pt;tt;tl ke
Xkd '.' cmdf ~/k/ue;pb;tb;tr ke
Xkd '<' cmdf ~/k/ue;tt;tl ke
Xkd '>' cmdf ~/k/ue;tb;tl ke
Xkd '@'' cmdf ~/k/eq ke
X
Xkd ';' cmdf ~k/ue;\%[ ]*@@n\;ad;cms;dr;echo;/%[ ]*@@n/;s/@%/@;@; / ke
Xkd '#' cmdf ~k/ue;\%[ ]*@@n\;ad;cms;dr;echo;/%[ ]*@@n/;s/@%/@# / ke
Xkd '*' cmdf ~k/ue;\%[ ]*@@n\;ad;cms;dr;echo;/%[ ]*@@n/;s/@%/@* / ke
Xkd '%' cmdf ~k/ue;\%[ ]*@@n\;ad;cms;dr;echo;/%[ ]*@@n/;s/@%/@% / ke
X
Xkd 'i' cmdf ~/k/ue; icon ke
X
SHAR_EOF
if test 2076 -ne "`wc -c < 'e'`"
then
echo shar: error transmitting "'e'" '(should have been 2076 characters)'
fi
chmod +x 'e'
fi # end of overwriting check
echo shar: extracting "'keys'" '(875 characters)'
if test -f 'keys'
then
echo shar: will not over-write existing file "'keys'"
else
sed 's/^ X//' << \SHAR_EOF > 'keys'
X;# Top level key bindings file for Emacs emulation on DM.
X;# Ashwin Ram, 1987.
X
Xmsg 'Keys...'
Xcmdf /sys/dm/std_keys3 ;# standard key defs
X
X;# Ascii keys.
X
Xkd ')' bl () ke
Xkd '}' bl {} ke
Xkd ']' bl [] ke
X
X;# Common special-function keys.
X
Xkd BS \[~@@f]\;ed ke ;# ^H
Xkd CR en;tl ke ;# ^M
Xkd DEL \[~@@f]\;ed ke ;# ^?
Xkd TAB th ke ;# ^I
Xkd STAB thl ke ;# shift-TAB
Xkd ^TAB ke ;# control-TAB
X
X;# Weird control keys.
X
Xkd '^?' \[~@@f]\;ed ke ;# DELETE
Xkd '^[' cmdf ~/k/e ke ;# ESCAPE
X# kd '^]' ke
X# kd '^|' ke
X# kd '^~' ke
X
X;# Control keys.
X
Xkd '^\' msg'Undo!'; undo ke
Xcmdf ~/k/ck
X
X;# Keymaps.
X
Xkd ^X cmdf ~/k/x ke ;# "eXtended"
Xkd ESC cmdf ~/k/e ke ;# "ESCape"
X
X;# Special keys (irrelevant to Emacs emulation).
X
Xcmdf ~/k/special_keys
SHAR_EOF
if test 875 -ne "`wc -c < 'keys'`"
then
echo shar: error transmitting "'keys'" '(should have been 875 characters)'
fi
chmod +x 'keys'
fi # end of overwriting check
echo shar: extracting "'keys.hlp'" '(18033 characters)'
if test -f 'keys.hlp'
then
echo shar: will not over-write existing file "'keys.hlp'"
else
sed 's/^ X//' << \SHAR_EOF > 'keys.hlp'
X ___________________________________________________________________________________________________________________________________
X
X Moving around.
X ___________________________________________________________________________________________________________________________________
X
X
X ^
X < is visual left | esc < = beginning of page
X , is under < | esc , = beginning of file
X |
X
X ^
X U for Up | ^U = scroll upwards one page/screen
X | esc ^ = move current line to top of page
X |
X |
X
X ^
X P for Previous | ^P = previous line
X | esc P = previous paragraph
X | ^X ^P = previous window
X |
X |
X | A is the beginning B for Backward | F for Forward E for End |
X |<----------------------------- <-------------------------- = --------------------------> ----------------------------->|
X | ^A = beginning of line ^B = backward-character | ^F = forward-character ^E = end of line |
X esc A = beginning of sentence esc B = backward-word | esc F = forward-word esc E = end of sentence
X |
X | esc TAB = tab to column n
X G for Goto | esc G = go to line n
X |
X N for Next | ^N = next line
X | esc N = next paragraph
X | ^X ^N = next window
X v
X
X |
X |
X V for Vertical | ^V = scroll downwards one page/screen
X v
X
X |
X > is visual right | esc > = end of page
X . is under > | esc . = end of file
X v
X
X ___________________________________________________________________________________________________________________________________
X
X Insertion, deletion, mark, cut and paste
X ___________________________________________________________________________________________________________________________________
X
X
X ^
X |
X | ^H is ascii backspace | D for Delete K for Kill |
X |<---------------------------- <--------------------------- = ---------------------------> ---------------------------->|
X | ^H = delete previous char | ^D = delete next char ^K = kill to end of line |
X esc H = delete previous word | esc D = delete next word esc K = .. into named buffer
X | ^X ^D = delete whitespace
X |
X |
X ^M is ascii return | ^M = newline (RETURN)
X | esc ^M = newline and indent to suitable column (esc RETURN)
X O for Open | ^O = open line (newline and backup)
X | esc O = open line (split line vertically)
X v
X
X
X MARK
X
X ^@ or ^space = mark/select (^T on the Apollos)
X ^X^@ or ^X^space = mark current paragraph (^X-space on the Apollos)
X esc space = escape to mark (exchange mark and cursor)
X
X
X WIPE/CUT COPY YANK/PASTE
X
X ^W = wipe region ^C or ^C^C = copy region ^Y = yank
X esc W = .. into named buffer esc C = .. into named buffer esc Y = .. from named buffer
X ^X^Y = yank earlier kill(s)
X
X ___________________________________________________________________________________________________________________________________
X
X Search and replace
X ___________________________________________________________________________________________________________________________________
X
X
X ^G = abort/quit search
X
X | R for Reverse S for Search |
X |<---------------------------- <--------------------------- = ---------------------------> ---------------------------->|
X | esc R = reverse search | esc S = search |
X ^R = repeat .. | ^S = repeat ..
X or, | or,
X ^R = reverse isearch | ^S = incremental search
X esc^R = reverse re-isearch | esc^S = reverse regexp incremental search
X |
X Q for Query | esc Q = query replace from cursor till end of file
X | options: space/return/Yes/Replace
X | No/Skip
X | !/Go/All
X | ^G/Quit/Abort
X | ./Exit
X | ?/Help
X | esc ^Q = query replace w/ regular expressions (for Emacs)
X v
X
X ___________________________________________________________________________________________________________________________________
X
X Windows, files and buffers
X ___________________________________________________________________________________________________________________________________
X
X KEY MNEMONIC FUNCTION
X
X ^X ^P P for Previous change to previous window
X ^X ^N N for Next change to next window
X ^X 2 make 2 windows split current window in two
X ^X 1 make this window the only 1 delete all other windows
X ^X 0 make this window non-existent delete current window
X ^X + + for bigger make this window bigger
X ^X - - for smaller make this window smaller
X
X ^X^Z ^Z is usually exit; ^Z is eof exit after writing all changed buffers
X ^X^Q Q for Quit; ^Q is interrupt abort or quit editor without writing out any buffers
X ^X^S S for Save-file save current file without exiting
X ^X^V V for Visit-file go to and edit (or read) another file (prompt for file name; CR = previous)
X ^C^V V for Visit go to and edit file in which given thing is defined
X ^X^O O for Other/Open visit file in other window
X ^C^O O for Other go to and edit file in other window in which given thing is defined
X ^X^B B for Buffer go to another buffer (prompt for buffer name; CR = previous)
X ^X^I I for Insert insert a file into current buffer at this point
X ^X^R R for Read read new file into current buffer (erasing current contents)
X ^X^W W for Write write current buffer to named file (prompt for file name)
X ^X B B for Buffer list all the buffers
X ^X^K K for Kill kill current buffer
X
X ___________________________________________________________________________________________________________________________________
X
X Text formatting
X ___________________________________________________________________________________________________________________________________
X
X WORD REGION
X
X ^X^L = convert current word to Lower case ^X L = convert marked region to Lower case
X ^X^U = convert current word to Upper case ^X U = convert marked region to Upper case
X ^X^C = Capitalize current word ^X C = Capitalize marked region
X
X PARAGRAPH REGION
X
X ^X^F = Fill current paragraph ^X F = Fill marked region
X ^X^J = Justify current paragraph ^X J = Justify marked region
X ^X^T = Text process current paragraph (prompt for command) ^X T = Text process marked region (prompt for command)
X Commands: Fill, Justify, Underline, Center, Spell, Count, ...
X esc = Complete current word by looking up in a dictionary
X
X ___________________________________________________________________________________________________________________________________
X
X Miscellaneous
X ___________________________________________________________________________________________________________________________________
X
X
X KEY MNEMONIC FUNCTION
X
X Quote esc ' escape-to-quote quote next character (insert next character literally into file)
X ^Q Q for Quote quote next character (insert next character literally into file)
X
X Modes esc O O for Overwrite toggle between insert and overwrite modes
X esc M M for Mode toggle between read-only (browse) and read-write (edit) modes
X esc T T for Text text processing mode (word wrap on, etc.)
X
X ^X M M for Mode add mode (prompt for mode name)
X ^X^M M for Mode delete mode (prompt for mode name)
X
X ^C C for Command prefix prefixes mode-specific commands in special modes
X
X Undo ^\ Slash back-wards undo last command
X esc U U for Undo undo last command (in case terminal doesn't have ^\)
X
X Trouble? ^G ^G is BELL in ascii cancel/abort current command (^G always gets you out of trouble)
X ^L ^L is ascii formfeed/newpage refresh/redraw screen
X esc ? ? for help help (same as ^X?)
X ^X ? ? for help help
X ^X ? ? ? for help help on help (tells you how to get help)
X ^X ? a A for Apropos help - apropos (list everything matching what you type in)
X ^X ? b B for Bindings help - describe bindings (list all key bindings)
X ^X ? f F for Function help - describe function (type in function you want described)
X ^X ? k K for Key help - describe key (hit the key you want described)
X ^X ? m M for Mode help - describe mode (describe the current mode you're in)
X ^X ? v V for Variable help - describe variable (type in variable you want described)
X
X Macros ^X ( ( for start start recording keyboard macro
X ^X ) ) for end stop recording keyboard macro
X ^X^E E for Execute execute keyboard macro
X
X Commands esc X X for eXecute execute a typed in command line
X esc ^X X for eXecute repeat previous (or earlier) command
X esc esc eval emacs lisp expression
X Arguments esc <n> n = numeric argument repeat next command <n> times; pass <n> as an argument to next command
X ^X ^A A for Argument universal argument (may alter behavior of next command)
X
X Cursor ^X = position report (show cursor position)
X
X Comments esc ; comment current paragraph with ; in first column (for T, etc.)
X esc # comment current paragraph with # in first column (for DM and shell, etc.)
X esc * comment current paragraph with * in first column (for Fortran, etc.)
X esc % comment current paragraph with % in first column (for Tex, etc.)
X
X OS/Shell esc $ $ is the usual shell prompt send a shell command to the operating system or start a shell process
X ^Q Q for Quit interrupt (AEGIS convention)
X ^C C for Cancel interrupt (UNIX convention)
X ^Y interrupt (VMS convention)
X ^Z Z is the end end-of-file (common convention in many OS's)
X ^S S for Stop Scrolling stop scrolling
X ^Q restart scrolling
X
X User keys ^Z (easy to hit) slot for user-defined keys (define them as ^Z-something)
X ^C C for Command prefix prefixes mode-specific commands in special modes (commands are ^C-something)
X ___________________________________________________________________________________________________________________________________
X
SHAR_EOF
if test 18033 -ne "`wc -c < 'keys.hlp'`"
then
echo shar: error transmitting "'keys.hlp'" '(should have been 18033 characters)'
fi
chmod +x 'keys.hlp'
fi # end of overwriting check
echo shar: extracting "'lk'" '(261 characters)'
if test -f 'lk'
then
echo shar: will not over-write existing file "'lk'"
else
sed 's/^ X//' << \SHAR_EOF > 'lk'
Xkd 'a' ke
Xkd 'b' ke
Xkd 'c' ke
Xkd 'd' ke
Xkd 'e' ke
Xkd 'f' ke
Xkd 'g' ke
Xkd 'h' ke
Xkd 'i' ke
Xkd 'j' ke
Xkd 'k' ke
Xkd 'l' ke
Xkd 'm' ke
Xkd 'n' ke
Xkd 'o' ke
Xkd 'p' ke
Xkd 'q' ke
Xkd 'r' ke
Xkd 's' ke
Xkd 't' ke
Xkd 'u' ke
Xkd 'v' ke
Xkd 'w' ke
Xkd 'x' ke
Xkd 'y' ke
Xkd 'z' ke
X
SHAR_EOF
if test 261 -ne "`wc -c < 'lk'`"
then
echo shar: error transmitting "'lk'" '(should have been 261 characters)'
fi
chmod +x 'lk'
fi # end of overwriting check
echo shar: extracting "'shift_again'" '(1587 characters)'
if test -f 'shift_again'
then
echo shar: will not over-write existing file "'shift_again'"
else
sed 's/^ X//' << \SHAR_EOF > 'shift_again'
X# Borrowed shift-AGAIN from Eric Jones.
X# Fixed to work on following prompts ending in > (for T, AZ), $ (for Aegis shells), % (for Unix shells).
X# Fixed to work on prompts of one or more characters.
X# Ashwin Ram, 2/16/87.
X
X# kd R2s cms ;# This is replaced by a GM for successive shift-AGAINs, to get successively earlier inputs.
X# au;tr;\[~@n >$%]\; ;# Find first non-empty input line with some non-prompt character in it.
X# \%[~ ]*[>$%] \;dr; ;# Search up for corresponding prompt, mark it for successive shift-AGAINs.
X# / /;/?/; ;# Search for input line to copy (may be on a later line than the prompt).
X# dr;tr;xc again;rm;tl; ;# Copy the line.
X# ti;dr;tr;xd junk;rm; ;# Delete junk from the input line. This is replaced by an UNDO in successive shift-AGAINs to restore the original input window.
X# xp again;tr ;# Paste in the newly retrieved line.
X# ke ;#
X# kd CR
X# ... ;# Redefine shift-AGAIN for successive shift-AGAINs.
X# .. ;# CR to redefine both shift-AGAIN and CR back to their earlier definitions.
X# ke
X
Xkd R2s cms;au;tr;\[~@@n >$%]\;\%[~ ]*[>$%] \;dr;/ /;/?/;dr;tr;xc again;rm;tl;ti;dr;tr;xd junk;rm;xp again;tr ke
X
Xkd R2u kd R2s gm;au;tr;\[~@@@@n >$%]\;\%[~ ]*[>$%] \;dr;/ /;/?/;dr;tr;xc again;rm;tl;ti;undo;tr;xp again;tr ke@;
X kd cr kd R2s cms;au;tr;\[~@@@@@@@@n >$%]\;\%[~ ]*[>$%] \;dr;/ /;/?/;dr;tr;xc again;rm;tl;ti;dr;tr;xd junk;rm;xp again;tr ke@@;
X kd cr en;tl ke@@;en;tl ke ke
X
SHAR_EOF
if test 1587 -ne "`wc -c < 'shift_again'`"
then
echo shar: error transmitting "'shift_again'" '(should have been 1587 characters)'
fi
chmod +x 'shift_again'
fi # end of overwriting check
echo shar: extracting "'special_keys'" '(11519 characters)'
if test -f 'special_keys'
then
echo shar: will not over-write existing file "'special_keys'"
else
sed 's/^ X//' << \SHAR_EOF > 'special_keys'
X;####################################################################################################
X;# Key bindings for L, R, F and N keys.
X;####################################################################################################
X
Xcmdf ~/dm/keys/alt ;# f0 is "alt" key
X
X;####################################################################################################
X;# Left keypad.
X
Xkd L1 cms;dr;echo ke ;# MARK = ^T
Xkd L1s cms;dr;echo -r ke ;# shift-MARK = rectangular cut/paste
Xkd L2 cms;tl;xd ke ;# LINE DEL = ^A ^N ^W
Xkd L2s xp ke ;# shift LINE DEL = ^Y (undo LINE DEL)
Xkd L3 ed ke ;# CHAR DEL = ^D
Xkd L3s ed ke ;# shift CHAR DEL = ^D
Xkd L1a xc ke ;# COPY = ^C
Xkd L1as xd ke ;# CUT = ^W
Xkd L2a cms;dr;xp ke ;# PASTE = ^Y
Xkd L2as msg'Undo!';undo ke ;# UNDO = ^\ and esc-u
Xkd L3a abrt;wge ke ;# GROW = window grow
Xkd L3as abrt;wme ke ;# MOVE = window move
Xkd L4 tl ke ;# |<-- = ^A
Xkd L4s pt;tt;tl ke ;# shift |<-- = esc <
Xkd L5 tdm;ph -1000;tb;tr ke ;# CMD = esc x
Xkd L5s cmdf ~/user_data/start_shell ke ;# SHELL = start shell
Xkd L6 tr ke ;# -->| = ^E
Xkd L6s pb;tb;tr ke ;# shift -->| = esc >
Xkd L7 ph -10 ke ;# left-box-arrow = scroll left
Xkd L7s \[a-zA-Z0-9]\; \[~a-zA-Z0-9]\; /[a-zA-Z0-9]/ ke ;# shift left-box-arrow = esc b
Xkd L9 ph 10 ke ;# right-box-arrow = scroll right
Xkd L9s /[~a-zA-Z0-9]/; /[a-zA-Z0-9]/ ke ;# shift right-box-arrow = esc f
Xkd LB tn ke ;# NEXT WINDOW = ^X ^N
Xkd LBs tlw ke ;# shift NEXT WINDOW = ^X ^P
X
X;####################################################################################################
X;# Right keypad.
X
Xkd R1 wp ke ;# POP = pop window
Xkd R1s tni ke ;# shift-POP = to next icon
Xkd R2 dr;tr;xc;tl;ti;tb;tr;xp;tr ke ;# AGAIN = resubmit line pointed to
Xcmdf ~/k/shift_again ;# shift AGAIN = resubmit latest shell command (like doing AGAIN but saves you going up in transcript window)
Xkd R3 cms;(550,110)dr;(1279,996)cv '@&'Read file: '' ke ;# READ = read file (prompt for filename)
Xkd R3s cmdf ~/dm/keys/shift_read ke ;# shift READ = read file pointed to (incl. ` at beginning, and -)without destroying contents of DM command window
Xkd R4 cms;(550,110)dr;(1279,996)ce '@&'Edit file: '' ke ;# EDIT = ^X^V
Xkd R4s msg'Saving...';pw;msg'' ke ;# SAVE = ^X^S
Xkd R5 msg'Saving...';pw;msg'';wc -q ke ;# EXIT = ^X^F
Xkd R5s wc -q ke ;# ABORT = ^X^C
Xkd R6 wh ke ;# HOLD = toggle hold mode (window display freeze)
X
Xkd R6s cms; (550,110)dr;(1279,996)
X cv /sys/help/@&'Help on: '.hlp
Xke ;# HELP = help on shell or dm command
X
X# kd R6s tdm;tl;dr;tr;xd dm_save;rm;es'@&'Help on: @'';tl;dr;tr;xd help;rm;
X# es'cv /sys/help/';xp help;tr;es'.hlp';en;
X# es'cv /usr/man/cat1/';xp help;tr;es'.1';en
X# ke ;# HELP = help on shell or dm command
X
X;####################################################################################################
X;# Function keypad.
X
X;##### Alternate keys (see ~/k/alt):
X ;# f0 Alt-
X
X;##### Move cursor to preset locations on screen (leave mark at previous position):
X ;# f1 command line of primary_shell or t_shell (lower left)
X ;# f2 center of edit window (right)
X ;# f3 command line of mail, msgs, etc. or end of edit window (lower right)
X ;# f4 command line of login_shell (upper right)
X
Xkd f1 dr;(19,985)pb;tb;tr ke
Xkd f2 dr;(910,585) ke
Xkd f3 dr;(1277,994)pb;tb;tr ke
Xkd f4 dr;(1193,103)pb;tb;tr ke
X
X;##### Move/grow/reshape windows to preset positions/sizes/shapes.
X ;# ^f1 expand edit window incrementally (80 columns, 120 columns, etc.)
X ;# ^f2 contract edit window incrementally
X ;# ^f3
X ;# ^f4
X
Xkd ^f1 (1000,762);tl;as 162;dr;al;wg;as;tl ke
Xkd ^f2 (1000,762);tl;as 152;dr;ar;wg;as;tl ke
Xkd ^f3 ke
Xkd ^f4 ke
X
X;##### Paragraphs and word processing.
X ;# f5 mark current paragraph
X ;# f5s justify marked region
X ;# ^f5 fill marked region
X
Xkd f5 \%[ ]*@@n\;ad;cms;dr;echo;/%[ ]*@@n/;ad ke
Xkd f5s xd -f ~/dm_format.in; rm; wi -w dm_format; es 'f 78'; en ke
Xkd ^f5 xd -f ~/dm_format.in; rm; wi -w dm_format; es 'j 78'; en ke
X
X;##### Paren balancing.
X ;# f6s is right above ) which is shift-9.
X
Xkd f6s es')' ke
X
Xkd f6 ke
Xkd ^f6 ke
X
X;##### Process control.
X ;# f7 icon send_listener window
X ;# ^f7 kill send_alarm window
X ;# f7s icon/pop emacs window
X
Xkd f7 dr;icon -c 'l' send_listener;gm ke
Xkd ^f7 dr;(573,94)wc -q;gm ke
Xkd f7s icon -c 'e' emacs ke
X
X;##### Indentation commands.
X ;# f8 indent block of text to column of cursor (like ^f8 but for a whole procedure)
X ;# (insert working line and mark desired column
X ;# move to column in working line below beginning of text
X ;# spaces to be inserted are now marked -- cut and delete line
X ;# mark to end of procedure (who knows why extra au's needed?)
X ;# create shell command to indent)
X ;# f8s unindent ditto (i.e., leftwards)
X ;# (put spaces to delete in paste buffer
X ;# mark to end of procedure
X ;# create shell cmd to unindent)
X ;# f9 newline-and-indent (same as ^J) (move to next line and indent to under start of previous line)
X ;# (it's f8 because that's where the linefeed key usually is; also, it's near return)
X ;# (I inserted one | so that this doesn't break if I'm at the end of the file)
X ;# (I inserted the other | so that this doesn't break if I have to indent to the first column)
X ;# f9s fix indentation (change indentation of line to location of cursor and move to the next line)
X ;# (insert a working line
X ;# cut spaces out of working line up to column of cursor
X ;# delete leading spaces from old line
X ;# paste new spaces in and delete working line)
X
Xkd f8 cms;dr;tr;en;gm;ad;al;es' ';dr;
X tl;au;/[~ ]/;ad;
X xc indent;tl;xd junk;dr;
X tdm;es's/@@@@n/@@@@n';xp indent;tr;es'/;gm';
X gm;au;au;tr;dr;echo;/%[ ]*@@n/;au ke
X
Xkd f8s cms;dr;/[~ ]/;xc indent;
X tdm;es's/@@@@n';xp indent;tr;es'/@@@@n/;gm';
X gm;au;tr;dr;echo;/%[ ]*@@n/;au ke
X
X# kd f9 es'|'; al; en; tl; s/%[ ]*|[ ]*/|/;
X# au; es'|'; al; dr; /[~ ]/; xc indent; tl; ed;
X# ad; xp indent; ed;
X# \$\; /|/; ed ke
X
Xkd f9 es' ';al;dr;tr;xd indent;en;au;tl;es' ';tl;/[~ ]/;ee;ad;xp indent;ed ke
X
Xkd f9s dr;tr;en;gm;
X ad;al;es' ';dr;tl;xc indent;
X au;s/%[ ]*//;
X xp indent;ad;tl;xd indent;gm ke
X
X;##### case conversion
X ;# f3 convert current word to lower-case
X ;# f3s convert current word to upper-case
X ;# ^f3 convert current word to upper-lower-case (Capitalized)
X
X;# kd f3 dr;
X;# \[~a-zA-Z0-9._@@-]\; /[a-zA-Z0-9._@@-]/;
X;# dr;
X;# /[~a-zA-Z0-9_@@-]/;
X;# case -l;
X;# gm
X;# ke
X
X;# kd f3s dr;
X;# \[~a-zA-Z0-9._@@-]\; /[a-zA-Z0-9._@@-]/;
X;# dr;
X;# /[~a-zA-Z0-9._@@-]/;
X;# case -u;
X;# gm
X;# ke
X
X;# bug: why does ^f3 not get me back to my original cursor position, when
X;# f3 and f3s do? For now, I'll end up at the next word. This actually
X;# turns out to be kind of nice.
X
X;# kd ^f3 dr;
X;# \[~a-zA-Z0-9._@@-]\; /[a-zA-Z0-9._@@-]/;
X;# /?/;
X;# dr;
X;# /[~a-zA-Z0-9._@@-]/;
X;# case -l;
X;# \[~a-zA-Z0-9._@@-]\; /[a-zA-Z0-9._@@-]/;
X;# dr;
X;# /?/; case -u;
X;# gm;
X;# /[~a-zA-Z0-9._@@-]/; /[a-zA-Z0-9._@@-]/
X;# ke
X
X;####################################################################################################
X;# Numeric keypad.
X
Xkd npe tl;es'$ ';tr;en;tl ke ;# "Recognize" (name completion)
X
X;####################################################################################################
X;# Mouse and touchpad.
X
Xkd m1 icon ke
Xkd m1u ke
Xkd m2 wp ke
Xkd m2u ke
Xkd m3 cmdf ~/dm/keys/shift_read ke
Xkd m3u ke
X
X;####################################################################################################
X;# Tabs.
X
Xts 5 -r
X
X;####################################################################################################
X;# Unused but possibly useful stuff.
X
X;##### justification keys
X ;# insert carriage return (^j) or "tab return" (^k)
X ;# delete trailing blanks on this line (line x)
X ;# reduce leading blanks to one on line x+1
X ;# go back to line x, delete carriage return at end of line
X ;# find last blank before column 80
X ;# ^h starts the process from anywhere in a short line
X ;# ^l starts the process from anywhere in a long line
X
X;# kd ^j en;s/[ ]*$//;ad;s/%[ ]*/ /;au;tr;ed;[,80];\ \;ar ke
X;# kd ^k en;s/%[ ]*//;au;dr;/[~ ]/;xc;tl;ad;xp;
X;# s/[ ]*$//;ad;s/%[ ]*/ /;au;tr;ed;[,80];\ \ ke
X;# kd ^h tl;s/[ ]*$//;ad;s/%[ ]*/ /;au;tr;ed;[,80];\ \;ar ke
X;# kd ^l [,80];\ \;ar ke
X
X;##### submit current pararaph to primary_shell or t_shell
X
X;# kd ^f5 \%[ ]*@@n\;ad;cms;dr;/%[ ]*@@n/;xc;(19,762)tr;cms;dr;xp;pb;tb;tr ke
X
X;#### jim: wd if dir, otherwise ce or cv (according to rights). See ~/com/jim.
X
X;# kd ^f6 /[~a-zA-Z._:$0-9@@/@@\~]/dr; \[~a-zA-Z._:$0-9@@/@@\~]\;/?/
X;# xc cv_file;
X;# ti;tl;xd junk;
X;# es 'jim ';xp cv_file;
X;# tr;en ke
X
X;##### indentation stuff
X ;# f8s soft cr (insert a | in the line to mark the start of the previous line,
X ;# and then search it for a non-blank. Then delete the |. To get the start
X ;# of a line right, insert one space and then delete that too.
X
X;# kd f8s tl;/[~ ]/;ad;es '|';tl;es ' ';tl;/[~ ]/;al;so/|//;/[~ ]/;al;ed ke
X
X;####################################################################################################
SHAR_EOF
if test 11519 -ne "`wc -c < 'special_keys'`"
then
echo shar: error transmitting "'special_keys'" '(should have been 11519 characters)'
fi
chmod +x 'special_keys'
fi # end of overwriting check
echo shar: extracting "'uc'" '(119 characters)'
if test -f 'uc'
then
echo shar: will not over-write existing file "'uc'"
else
sed 's/^ X//' << \SHAR_EOF > 'uc'
Xmsg ''
X
Xkd ^G abrt ke
X
Xkd ^C cmdf ~/k/c ke
X
Xkd 'e' ke
Xkd ^E tr ke
X
Xkd ^A tl ke
Xkd ^Z eef ke
X
Xkd ^V pp 0.5 ke
Xkd 'v' ke
SHAR_EOF
if test 119 -ne "`wc -c < 'uc'`"
then
echo shar: error transmitting "'uc'" '(should have been 119 characters)'
fi
chmod +x 'uc'
fi # end of overwriting check
echo shar: extracting "'ue'" '(229 characters)'
if test -f 'ue'
then
echo shar: will not over-write existing file "'ue'"
else
sed 's/^ X//' << \SHAR_EOF > 'ue'
Xmsg ''
X
Xcmdf ~/k/lk
X
Xkd ESC cmdf ~/k/e ke
Xkd ^G abrt ke
X
Xkd ' ' ke
Xkd CR en;tl ke
Xkd TAB th ke
Xkd '$' ke
Xkd '^' ke
Xkd '!' ke
Xkd '?' ke
Xkd ',' ke
Xkd '.' ke
Xkd '<' ke
Xkd '>' ke
Xkd '@'' ke
X
Xkd ';' ke
Xkd '#' ke
Xkd '*' ke
Xkd '%' ke
SHAR_EOF
if test 229 -ne "`wc -c < 'ue'`"
then
echo shar: error transmitting "'ue'" '(should have been 229 characters)'
fi
chmod +x 'ue'
fi # end of overwriting check
echo shar: extracting "'ueb'" '(25 characters)'
if test -f 'ueb'
then
echo shar: will not over-write existing file "'ueb'"
else
sed 's/^ X//' << \SHAR_EOF > 'ueb'
Xcmdf ~/k/ue;msg'Unbound'
SHAR_EOF
if test 25 -ne "`wc -c < 'ueb'`"
then
echo shar: error transmitting "'ueb'" '(should have been 25 characters)'
fi
chmod +x 'ueb'
fi # end of overwriting check
echo shar: extracting "'uei'" '(31 characters)'
if test -f 'uei'
then
echo shar: will not over-write existing file "'uei'"
else
sed 's/^ X//' << \SHAR_EOF > 'uei'
Xcmdf ~/k/ue;msg'Unimplemented'
SHAR_EOF
if test 31 -ne "`wc -c < 'uei'`"
then
echo shar: error transmitting "'uei'" '(should have been 31 characters)'
fi
chmod +x 'uei'
fi # end of overwriting check
echo shar: extracting "'ux'" '(139 characters)'
if test -f 'ux'
then
echo shar: will not over-write existing file "'ux'"
else
sed 's/^ X//' << \SHAR_EOF > 'ux'
Xmsg ''
X
Xcmdf ~/k/ck
Xcmdf ~/k/lk
X
Xkd ' ' ke
Xkd '0' ke
Xkd '1' ke
Xkd '2' ke
Xkd '+' ke
Xkd '-' ke
Xkd '?' ke
Xkd '(' ke
Xkd ')' bl () ke
Xkd '=' ke
SHAR_EOF
if test 139 -ne "`wc -c < 'ux'`"
then
echo shar: error transmitting "'ux'" '(should have been 139 characters)'
fi
chmod +x 'ux'
fi # end of overwriting check
echo shar: extracting "'uxb'" '(25 characters)'
if test -f 'uxb'
then
echo shar: will not over-write existing file "'uxb'"
else
sed 's/^ X//' << \SHAR_EOF > 'uxb'
Xcmdf ~/k/ux;msg'Unbound'
SHAR_EOF
if test 25 -ne "`wc -c < 'uxb'`"
then
echo shar: error transmitting "'uxb'" '(should have been 25 characters)'
fi
chmod +x 'uxb'
fi # end of overwriting check
echo shar: extracting "'uxd'" '(283 characters)'
if test -f 'uxd'
then
echo shar: will not over-write existing file "'uxd'"
else
sed 's/^ X//' << \SHAR_EOF > 'uxd'
Xcmdf ~/k/ck
Xcmdf ~/k/lk
X
Xkd ' ' ke
Xkd '0' ke
Xkd '1' ke
Xkd '2' ke
Xkd '+' ke
Xkd '-' ke
Xkd '?' ke
Xkd '(' ke
Xkd ')' bl () ke
Xkd '=' ke
X
Xkd CR en;tl ke
Xkd TAB th ke
Xkd '$' ke
Xkd '!' ke
Xkd '?' ke
Xkd ',' ke
Xkd '.' ke
Xkd '<' ke
Xkd '>' ke
Xkd '@'' ke
X
Xkd ';' ke
Xkd '#' ke
Xkd '*' ke
Xkd '%' ke
SHAR_EOF
if test 283 -ne "`wc -c < 'uxd'`"
then
echo shar: error transmitting "'uxd'" '(should have been 283 characters)'
fi
chmod +x 'uxd'
fi # end of overwriting check
echo shar: extracting "'uxi'" '(31 characters)'
if test -f 'uxi'
then
echo shar: will not over-write existing file "'uxi'"
else
sed 's/^ X//' << \SHAR_EOF > 'uxi'
Xcmdf ~/k/ux;msg'Unimplemented'
SHAR_EOF
if test 31 -ne "`wc -c < 'uxi'`"
then
echo shar: error transmitting "'uxi'" '(should have been 31 characters)'
fi
chmod +x 'uxi'
fi # end of overwriting check
echo shar: extracting "'x'" '(2489 characters)'
if test -f 'x'
then
echo shar: will not over-write existing file "'x'"
else
sed 's/^ X//' << \SHAR_EOF > 'x'
Xmsg '^X-'
X
Xkd ^G cmdf ~/k/ux;msg'Aborted' ke
X
Xkd 'a' cmdf ~/k/uxb ke
Xkd 'b' cmdf ~/k/uxi ke
Xkd 'c' cmdf ~/k/uxi ke
Xkd 'd' cmdf ~/k/uxb ke
Xkd 'e' cmdf ~/k/uxb ke
Xkd 'f' cmdf ~/k/ux;xd -f ~/dm_format.in;rm;wi -w dm_format;es 'f 78';en ke
Xkd 'g' cmdf ~/k/uxb ke
Xkd 'h' cmdf ~/k/uxb ke
Xkd 'i' cmdf ~/k/uxb ke
Xkd 'j' cmdf ~/k/ux;xd -f ~/dm_format.in;rm;wi -w dm_format;es 'j 78';en ke
Xkd 'k' cmdf ~/k/uxi ke
Xkd 'l' cmdf ~/k/ux;case -l ke
Xkd 'm' cmdf ~/k/uxi ke
Xkd 'n' cmdf ~/k/uxb ke
Xkd 'o' cmdf ~/k/uxb ke
Xkd 'p' cmdf ~/k/uxb ke
Xkd 'q' cmdf ~/k/uxb ke
Xkd 'r' cmdf ~/k/uxi ke
Xkd 's' cmdf ~/k/uxb ke
Xkd 't' cmdf ~/k/ux;xd -f ~/dm_format.in;rm;wi -w dm_format;es '@&@'Format: @'';en ke
Xkd 'u' cmdf ~/k/ux;case -u ke
Xkd 'v' cmdf ~/k/uxb ke
Xkd 'w' cmdf ~/k/uxb ke
Xkd 'x' cmdf ~/k/uxb ke
Xkd 'y' cmdf ~/k/uxb ke
Xkd 'z' cmdf ~/k/uxb ke
X
Xkd ^A cmdf ~/k/uxi ke
Xkd ^B cmdf ~/k/uxi ke
Xkd ^C cmdf ~/k/ux;\[~a-zA-Z0-9._@@-]\;/[a-zA-Z0-9._@@-]/;/?/dr;/[~a-zA-Z0-9._@@-]/case -l;\[~a-zA-Z0-9._@@-]\;/[a-zA-Z0-9._@@-]/dr;/?/case -u;gm;/[~a-zA-Z0-9._@@-]/;/[a-zA-Z0-9._@@-]/ ke
Xkd ^D cmdf ~/k/ux;\[~@@ ]\;/?/dr;/[~@@ ]/;\?\;xd junk ke
Xkd ^E cmdf ~/k/uxi ke
Xkd ^F cmdf ~/k/ux;\%[ ]*@@n\;ad;cms;dr;echo;/%[ ]*@@n/;ad;xd -f ~/dm_format.in;rm;wi -w dm_format;es 'f 78';en ke
Xkd ^H cmdf ~/k/uxb ke
Xkd ^I cmdf ~/k/ux;xp -f '@&'Insert file: '' ke
Xkd ^J cmdf ~/k/ux;\%[ ]*@@n\;ad;cms;dr;echo;/%[ ]*@@n/;ad;xd -f ~/dm_format.in;rm;wi -w dm_format;es 'j 78';en ke
Xkd ^K cmdf ~/k/ux;wc -q ke
Xkd ^L cmdf ~/k/ux;\[~a-zA-Z0-9._@@-]\;/[a-zA-Z0-9._@@-]/dr;/[~a-zA-Z0-9_@@-]/;case -l;gm;/[~a-zA-Z0-9._@@-]/;/[a-zA-Z0-9._@@-]/ ke
Xkd ^M cmdf ~/k/uxi ke
Xkd ^N cmdf ~/k/ux;tn ke
Xkd ^O cmdf ~/k/uxb ke
Xkd ^P cmdf ~/k/ux;tlw ke
Xkd ^Q cmdf ~/k/ux;wc -q ke
Xkd ^R cmdf ~/k/uxi ke
Xkd ^S cmdf ~/k/ux;msg'Saving...';pw;msg'' ke
Xkd ^T cmdf ~/k/ux;\%[ ]*@@n\;ad;cms;dr;echo;/%[ ]*@@n/;ad;xd -f ~/dm_format.in;rm;wi -w dm_format;es '@&@'Format: @'';en ke
Xkd ^U cmdf ~/k/ux;\[~a-zA-Z0-9._@@-]\;/[a-zA-Z0-9._@@-]/dr;/[~a-zA-Z0-9_@@-]/;case -u;gm;/[~a-zA-Z0-9._@@-]/;/[a-zA-Z0-9._@@-]/ ke
Xkd ^V cmdf ~/k/ux;cms;(550,110)dr;(1279,996)ce '@&'Visit file: '' ke
Xkd ^W cmdf ~/k/uxi ke
Xkd ^X cmdf ~/k/uxb ke
Xkd ^Y cmdf ~/k/uxb ke
Xkd ^Z cmdf ~/k/ux;msg'Saving...';pw;msg'';wc -q ke
X
Xkd ' ' cmdf ~/k/ux;\%[ ]*@@n\;ad;cms;dr;echo;/%[ ]*@@n/;ad ke
Xkd '0' cmdf ~/k/uxi ke
Xkd '1' cmdf ~/k/uxi ke
Xkd '2' cmdf ~/k/uxi ke
Xkd '+' cmdf ~/k/uxi ke
Xkd '-' cmdf ~/k/uxi ke
Xkd '?' cmdf ~/k/xd ke
Xkd '(' cmdf ~/k/uxi ke
Xkd ')' cmdf ~/k/uxi ke
Xkd '=' cmdf ~/k/ux;= ke
SHAR_EOF
if test 2489 -ne "`wc -c < 'x'`"
then
echo shar: error transmitting "'x'" '(should have been 2489 characters)'
fi
chmod +x 'x'
fi # end of overwriting check
echo shar: extracting "'xd'" '(2760 characters)'
if test -f 'xd'
then
echo shar: will not over-write existing file "'xd'"
else
sed 's/^ X//' << \SHAR_EOF > 'xd'
Xdr;msg'';tdm;tl;dr;tr;xd dm_save;rm;es'### Describe key sequence: '
X
Xkd 'a' cmdf ~/k/ux;es'a';msg'Types an @'a@'';gm ke
Xkd 'b' cmdf ~/k/ux;es'b';msg'Types an @'b@'';gm ke
Xkd 'c' cmdf ~/k/ux;es'c';msg'Types an @'c@'';gm ke
Xkd 'd' cmdf ~/k/ux;es'd';msg'Types an @'d@'';gm ke
Xkd 'e' cmdf ~/k/ux;es'e';msg'Types an @'e@'';gm ke
Xkd 'f' cmdf ~/k/ux;es'f';msg'Types an @'f@'';gm ke
Xkd 'g' cmdf ~/k/ux;es'g';msg'Types an @'g@'';gm ke
Xkd 'h' cmdf ~/k/ux;es'h';msg'Types an @'h@'';gm ke
Xkd 'i' cmdf ~/k/ux;es'i';msg'Types an @'i@'';gm ke
Xkd 'j' cmdf ~/k/ux;es'j';msg'Types an @'j@'';gm ke
Xkd 'k' cmdf ~/k/ux;es'k';msg'Types an @'k@'';gm ke
Xkd 'l' cmdf ~/k/ux;es'l';msg'Types an @'l@'';gm ke
Xkd 'm' cmdf ~/k/ux;es'm';msg'Types an @'m@'';gm ke
Xkd 'n' cmdf ~/k/ux;es'n';msg'Types an @'n@'';gm ke
Xkd 'o' cmdf ~/k/ux;es'o';msg'Types an @'o@'';gm ke
Xkd 'p' cmdf ~/k/ux;es'p';msg'Types an @'p@'';gm ke
Xkd 'q' cmdf ~/k/ux;es'q';msg'Types an @'q@'';gm ke
Xkd 'r' cmdf ~/k/ux;es'r';msg'Types an @'r@'';gm ke
Xkd 's' cmdf ~/k/ux;es's';msg'Types an @'s@'';gm ke
Xkd 't' cmdf ~/k/ux;es't';msg'Types an @'t@'';gm ke
Xkd 'u' cmdf ~/k/ux;es'u';msg'Types an @'u@'';gm ke
Xkd 'v' cmdf ~/k/ux;es'v';msg'Types an @'v@'';gm ke
Xkd 'w' cmdf ~/k/ux;es'w';msg'Types an @'w@'';gm ke
Xkd 'x' cmdf ~/k/ux;es'x';msg'Types an @'x@'';gm ke
Xkd 'y' cmdf ~/k/ux;es'y';msg'Types an @'y@'';gm ke
Xkd 'z' cmdf ~/k/ux;es'z';msg'Types an @'z@'';gm ke
X
Xkd ^A cmdf ~/k/ux;es'^A';msg'Beginning of line';gm ke
Xkd ^B cmdf ~/k/ux;es'^B';msg'Backward character';gm ke
Xkd ^C cmdf ~/k/ux;es'^C';msg'Copy region';gm ke
Xkd ^D cmdf ~/k/ux;es'^D';msg'Delete next character';gm ke
Xkd ^E cmdf ~/k/ux;es'^E';msg'End of line';gm ke
Xkd ^F cmdf ~/k/ux;es'^F';msg'Forward character';gm ke
Xkd ^G cmdf ~/k/ux;es'^G';msg'Abort';gm ke
Xkd ^H cmdf ~/k/ux;es'^H';msg'Delete previous character';gm ke
Xkd ^I cmdf ~/k/ux;es'^I';msg'Tab forward';gm ke
Xkd ^J cmdf ~/k/ux;es'^J';msg'Newline and indent';gm ke
Xkd ^K cmdf ~/k/ux;es'^K';msg'Kill to end of line';gm ke
Xkd ^L cmdf ~/k/ux;es'^L';msg'Redraw screen';gm ke
Xkd ^M cmdf ~/k/ux;es'^M';msg'Newline';gm ke
Xkd ^N cmdf ~/k/ux;es'^N';msg'Next line';gm ke
Xkd ^O cmdf ~/k/ux;es'^O';msg'Open line (newline and backup)';gm ke
Xkd ^P cmdf ~/k/ux;es'^P';msg'Previous line';gm ke
Xkd ^Q cmdf ~/k/ux;es'^Q';msg'Interrupt';gm ke
Xkd ^R cmdf ~/k/ux;es'^R';msg'Repeat reverse search';gm ke
Xkd ^S cmdf ~/k/ux;es'^S';msg'Repeat forward search';gm ke
Xkd ^T cmdf ~/k/ux;es'^T';msg'Touch/mark/select';gm ke
Xkd ^U cmdf ~/k/ux;es'^U';msg'Scroll up';gm ke
Xkd ^V cmdf ~/k/ux;es'^V';msg'Scroll vertically (down)';gm ke
Xkd ^W cmdf ~/k/ux;es'^W';msg'Wipe region (cut)';gm ke
Xkd ^Y cmdf ~/k/ux;es'^Y';msg'Yank region (paste)';gm ke
Xkd ^Z cmdf ~/k/ux;es'^Z';msg'End of file';gm ke
X
Xkd ESC cmdf ~/k/xde ke
Xkd ^X cmdf ~/k/xdx ke
SHAR_EOF
if test 2760 -ne "`wc -c < 'xd'`"
then
echo shar: error transmitting "'xd'" '(should have been 2760 characters)'
fi
chmod +x 'xd'
fi # end of overwriting check
echo shar: extracting "'xde'" '(3726 characters)'
if test -f 'xde'
then
echo shar: will not over-write existing file "'xde'"
else
sed 's/^ X//' << \SHAR_EOF > 'xde'
Xes'ESC-';msg'Escape keys; hit next key for more'
X
Xkd 'a' cmdf ~/k/uxd;es'a';msg'Beginning of sentence';gm ke
Xkd 'b' cmdf ~/k/uxd;es'b';msg'Previous word';gm ke
Xkd 'c' cmdf ~/k/uxd;es'c';msg'Copy region to named buffer';gm ke
Xkd 'd' cmdf ~/k/uxd;es'd';msg'Delete next word';gm ke
Xkd 'e' cmdf ~/k/uxd;es'e';msg'End of sentence';gm ke
Xkd 'f' cmdf ~/k/uxd;es'f';msg'Forward word';gm ke
Xkd 'g' cmdf ~/k/uxd;es'g';msg'Go to line';gm ke
Xkd 'h' cmdf ~/k/uxd;es'h';msg'Delete previous word';gm ke
Xkd 'i' cmdf ~/k/uxd;es'i';msg'Unbound';gm ke
Xkd 'j' cmdf ~/k/uxd;es'j';msg'Unbound';gm ke
Xkd 'k' cmdf ~/k/uxd;es'k';msg'Kill to end of line into named buffer';gm ke
Xkd 'l' cmdf ~/k/uxd;es'l';msg'Unbound';gm ke
Xkd 'm' cmdf ~/k/uxd;es'm';msg'Toggle read-only/read-write mode';gm ke
Xkd 'n' cmdf ~/k/uxd;es'n';msg'Next paragraph';gm ke
Xkd 'o' cmdf ~/k/uxd;es'o';msg'Toggle overwrite/insert mode';gm ke
Xkd 'p' cmdf ~/k/uxd;es'p';msg'Previous paragraph';gm ke
Xkd 'q' cmdf ~/k/uxd;es'q';msg'Query replace';gm ke
Xkd 'r' cmdf ~/k/uxd;es'r';msg'Reverse search';gm ke
Xkd 's' cmdf ~/k/uxd;es's';msg'Search forward';gm ke
Xkd 't' cmdf ~/k/uxd;es't';msg'Unbound';gm ke
Xkd 'u' cmdf ~/k/uxd;es'u';msg'Scroll up one line';gm ke
Xkd 'v' cmdf ~/k/uxd;es'v';msg'Scroll vertically one line (down)';gm ke
Xkd 'w' cmdf ~/k/uxd;es'w';msg'Wipe/cut region into named buffer';gm ke
Xkd 'x' cmdf ~/k/uxd;es'x';msg'Execute named command';gm ke
Xkd 'y' cmdf ~/k/uxd;es'y';msg'Yank/paste from named buffer';gm ke
Xkd 'z' cmdf ~/k/uxd;es'z';msg'Unbound';gm ke
X
Xkd ^A cmdf ~/k/uxd;es'^A';msg'Unbound';gm ke
Xkd ^B cmdf ~/k/uxd;es'^B';msg'Unbound';gm ke
Xkd ^C cmdf ~/k/uxd;es'^C';msg'Unbound';gm ke
Xkd ^D cmdf ~/k/uxd;es'^D';msg'Unbound';gm ke
Xkd ^E cmdf ~/k/uxd;es'^E';msg'Unbound';gm ke
Xkd ^F cmdf ~/k/uxd;es'^F';msg'Unbound';gm ke
Xkd ^G cmdf ~/k/uxd;es'^G';msg'Abort';gm ke
Xkd ^H cmdf ~/k/uxd;es'^H';msg'Unbound';gm ke
Xkd ^I cmdf ~/k/uxd;es'^I';msg'Unbound';gm ke
Xkd ^J cmdf ~/k/uxd;es'^J';msg'Unbound';gm ke
Xkd ^K cmdf ~/k/uxd;es'^K';msg'Unbound';gm ke
Xkd ^L cmdf ~/k/uxd;es'^L';msg'Unbound';gm ke
Xkd ^M cmdf ~/k/uxd;es'^M';msg'Unbound';gm ke
Xkd ^N cmdf ~/k/uxd;es'^N';msg'Unbound';gm ke
Xkd ^O cmdf ~/k/uxd;es'^O';msg'Unbound';gm ke
Xkd ^P cmdf ~/k/uxd;es'^P';msg'Unbound';gm ke
Xkd ^Q cmdf ~/k/uxd;es'^Q';msg'Unbound';gm ke
Xkd ^R cmdf ~/k/uxd;es'^R';msg'Unbound';gm ke
Xkd ^S cmdf ~/k/uxd;es'^S';msg'Unbound';gm ke
Xkd ^T cmdf ~/k/uxd;es'^T';msg'Unbound';gm ke
Xkd ^U cmdf ~/k/uxd;es'^U';msg'Unbound';gm ke
Xkd ^V cmdf ~/k/uxd;es'^V';msg'Unbound';gm ke
Xkd ^W cmdf ~/k/uxd;es'^W';msg'Unbound';gm ke
Xkd ^X cmdf ~/k/uxd es'^X';msg'Unbound';gm ke
Xkd ^Y cmdf ~/k/uxd;es'^Y';msg'Unbound';gm ke
Xkd ^Z cmdf ~/k/uxd;es'^Z';msg'Unbound';gm ke
X
Xkd ESC cmdf ~/k/uxd;es'esc';msg'Unbound';gm ke
X
Xkd ' ' cmdf ~/k/uxd;es'<space>';msg'Go to mark';gm ke
Xkd CR cmdf ~/k/uxd;es'^M';msg'Soft return';gm ke
Xkd TAB cmdf ~/k/uxd;es'^I';msg'Go to column';gm ke
Xkd '$' cmdf ~/k/uxd;es'$';msg'Shell command';gm ke
Xkd '!' cmdf ~/k/uxd;es'!';msg'Current line to top of page (unimplemented)';gm ke
Xkd '?' cmdf ~/k/uxd;es'?';msg'Help (describe;gm key bindings)';gm ke
Xkd ',' cmdf ~/k/uxd;es',';msg'Beginning of file';gm ke
Xkd '.' cmdf ~/k/uxd;es'.';msg'End of file';gm ke
Xkd '<' cmdf ~/k/uxd;es'<';msg'Beginning of page';gm ke
Xkd '>' cmdf ~/k/uxd;es'>';msg'End of page';gm ke
Xkd '@'' cmdf ~/k/uxd;es'@@@'';msg'Quote next character';gm ke
X
Xkd ';' cmdf ~/k/uxd;es'@@@;';msg'Comment current paragraph with @@@';@@@'';gm ke
Xkd '#' cmdf ~/k/uxd;es'@@@#';msg'Comment current paragraph with @@@'@@@#@@@'';gm ke
Xkd '*' cmdf ~/k/uxd;es'*';msg'Comment current paragraph with @@@'*@@@'';gm ke
Xkd '%' cmdf ~/k/uxd;es'%';msg'Comment current paragraph with @@@'%@@@'';gm ke
X
Xkd 'i' cmdf ~/k/uxd;es'i';msg'Icon window';gm ke
SHAR_EOF
if test 3726 -ne "`wc -c < 'xde'`"
then
echo shar: error transmitting "'xde'" '(should have been 3726 characters)'
fi
chmod +x 'xde'
fi # end of overwriting check
echo shar: extracting "'xdx'" '(3483 characters)'
if test -f 'xdx'
then
echo shar: will not over-write existing file "'xdx'"
else
sed 's/^ X//' << \SHAR_EOF > 'xdx'
Xes'^X-';msg'Extended keys; hit next key for more'
X
Xkd 'a' cmdf ~/k/uxd;es'a';msg'Unbound';gm ke
Xkd 'b' cmdf ~/k/uxd;es'b';msg'List buffers (unimplemented)';gm ke
Xkd 'c' cmdf ~/k/uxd;es'c';msg'Capitalize region (unimplemented)';gm ke
Xkd 'd' cmdf ~/k/uxd;es'd';msg'Unbound';gm ke
Xkd 'e' cmdf ~/k/uxd;es'e';msg'Unbound';gm ke
Xkd 'f' cmdf ~/k/uxd;es'f';msg'Fill region';gm ke
Xkd 'g' cmdf ~/k/uxd;es'g';msg'Unbound';gm ke
Xkd 'h' cmdf ~/k/uxd;es'h';msg'Unbound';gm ke
Xkd 'i' cmdf ~/k/uxd;es'i';msg'Unbound';gm ke
Xkd 'j' cmdf ~/k/uxd;es'j';msg'Justify region';gm ke
Xkd 'k' cmdf ~/k/uxd;es'k';msg'Unbound';gm ke
Xkd 'l' cmdf ~/k/uxd;es'l';msg'Lower case region';gm ke
Xkd 'm' cmdf ~/k/uxd;es'm';msg'Add mode (unimplemented)';gm ke
Xkd 'n' cmdf ~/k/uxd;es'n';msg'Unbound';gm ke
Xkd 'o' cmdf ~/k/uxd;es'o';msg'Unbound';gm ke
Xkd 'p' cmdf ~/k/uxd;es'p';msg'Unbound';gm ke
Xkd 'q' cmdf ~/k/uxd;es'q';msg'Unbound';gm ke
Xkd 'r' cmdf ~/k/uxd;es'r';msg'Unbound';gm ke
Xkd 's' cmdf ~/k/uxd;es's';msg'Unbound';gm ke
Xkd 't' cmdf ~/k/uxd;es't';msg'Text format region';gm ke
Xkd 'u' cmdf ~/k/uxd;es'u';msg'Upper case region';gm ke
Xkd 'v' cmdf ~/k/uxd;es'v';msg'Unbound';gm ke
Xkd 'w' cmdf ~/k/uxd;es'w';msg'Unbound';gm ke
Xkd 'x' cmdf ~/k/uxd;es'x';msg'Unbound';gm ke
Xkd 'y' cmdf ~/k/uxd;es'y';msg'Unbound';gm ke
Xkd 'z' cmdf ~/k/uxd;es'z';msg'Unbound';gm ke
X
Xkd ^A cmdf ~/k/uxd;es'^A';msg'Unbound';gm ke
Xkd ^B cmdf ~/k/uxd;es'^B';msg'Visit buffer (unimplemented)';gm ke
Xkd ^C cmdf ~/k/uxd;es'^C';msg'Capitalize word';gm ke
Xkd ^D cmdf ~/k/uxd;es'^D';msg'Unbound';gm ke
Xkd ^E cmdf ~/k/uxd;es'^E';msg'Unbound';gm ke
Xkd ^F cmdf ~/k/uxd;es'^F';msg'Fill paragraph';gm ke
Xkd ^G cmdf ~/k/uxd;es'^G';msg'Abort';gm ke
Xkd ^H cmdf ~/k/uxd;es'^H';msg'Unbound';gm ke
Xkd ^I cmdf ~/k/uxd;es'^I';msg'Insert file';gm ke
Xkd ^J cmdf ~/k/uxd;es'^J';msg'Justify paragraph';gm ke
Xkd ^K cmdf ~/k/uxd;es'^K';msg'Unbound';gm ke
Xkd ^L cmdf ~/k/uxd;es'^L';msg'Lower case word';gm ke
Xkd ^M cmdf ~/k/uxd;es'^M';msg'Delete mode (unimplemented)';gm ke
Xkd ^N cmdf ~/k/uxd;es'^N';msg'Next window';gm ke
Xkd ^O cmdf ~/k/uxd;es'^O';msg'Unbound';gm ke
Xkd ^P cmdf ~/k/uxd;es'^P';msg'Previous window';gm ke
Xkd ^Q cmdf ~/k/uxd;es'^Q';msg'Quit file without writing (abort)';gm ke
Xkd ^R cmdf ~/k/uxd;es'^R';msg'Read from named file (unimplemented)';gm ke
Xkd ^S cmdf ~/k/uxd;es'^S';msg'Save file';gm ke
Xkd ^T cmdf ~/k/uxd;es'^T';msg'Text format region';gm ke
Xkd ^U cmdf ~/k/uxd;es'^U';msg'Uppercase region';gm ke
Xkd ^V cmdf ~/k/uxd;es'^V';msg'Visit file';gm ke
Xkd ^W cmdf ~/k/uxd;es'^W';msg'Write to named file (unimplemented)';gm ke
Xkd ^X cmdf ~/k/uxd es'^X';msg'Execute;gm keyboard macro (unimplemented)';gm ke
Xkd ^Y cmdf ~/k/uxd;es'^Y';msg'Unbound';gm ke
Xkd ^Z cmdf ~/k/uxd;es'^Z';msg'Write file and exit';gm ke
X
Xkd ESC cmdf ~/k/uxd;es'esc';msg'Unbound';gm ke
X
Xkd ' ' cmdf ~/k/uxd;es' ';msg'Mark paragraph';gm ke
Xkd '0' cmdf ~/k/uxd;es'0';msg'Delete this window (unimplemented)';gm ke
Xkd '1' cmdf ~/k/uxd;es'1';msg'Make this the only window (unimplemented)';gm ke
Xkd '2' cmdf ~/k/uxd;es'2';msg'Split window into two (unimplemented)';gm ke
Xkd '+' cmdf ~/k/uxd;es'+';msg'Grow window (unimplemented)';gm ke
Xkd '-' cmdf ~/k/uxd;es'-';msg'Shrink window (unimplemented)';gm ke
Xkd '?' cmdf ~/k/uxd;es'?';msg'Describe;gm key';gm ke
Xkd '(' cmdf ~/k/uxd;es'(';msg'Start recording;gm keyboard macro (unimplemented)';gm ke
Xkd ')' cmdf ~/k/uxd;es')';msg'Stop recording;gm keyboard macro (unimplemented)';gm ke
Xkd '=' cmdf ~/k/uxd;es'=';msg'Show cursor position';gm ke
SHAR_EOF
if test 3483 -ne "`wc -c < 'xdx'`"
then
echo shar: error transmitting "'xdx'" '(should have been 3483 characters)'
fi
chmod +x 'xdx'
fi # end of overwriting check
# End of shell archive
exit 0
--------------------------------- cut -------------------------------------------

-- Ashwin Ram --

Kee Hinckley

unread,
Mar 31, 1988, 9:12:00 PM3/31/88
to
In article <25...@yale-celray.yale.UUCP> Ram-A...@cs.yale.edu (Ashwin Ram) writes:
> In article <12384916270....@ECLA.USC.EDU>, BEC.SHAPIN@ECLA (Ross Watkins) writes:
> I have a bunch of Emacs-like key bindings for the DM, which I can post if people
> are interested. The hardest one was getting ^K to kill to the end of the line
> correctly, making sure it joined the lines if you were already at the end of the
> line. I don't append successive kills to the kill-buffer, however. Barring
> this, the basic control, ESC and ^X key sequences work pretty much as in Emacs.
>

There are a set of Emacs keydefs (and a large number of other keydefs)
shipping in /domain_examples at SR10. These include incremental search,
a backspace that deletes over word boundries and virtually everything else
you would expect. I can package them up and mail them to anyone who wants
if you can't wait for SR10. Just send me mail.
-nazgul

--
### {mit-erl,yale,uw-beaver}!apollo!nazgul ### (Apple ][e ProLine BBS) ###
### apollo!naz...@eddie.mit.edu ### naz...@pro-angmar.uucp ###
### naz...@apollo.uucp ### (617) 641-3722 300/1200/2400 ###
I'm not sure which upsets me more; that people are so unwilling to accept responsibility for their own actions, or that they are so eager to regulate everyone else's.

0 new messages