1 $MirOS: contrib/code/jupp/jmacsrc.in,v 1.35 2018/10/20 16:11:51 tg Exp $
2
3                         Initialisation file for JOE
4                                GNU-Emacs Joe
5
6 This file must be written in the 8-bit encoding, not UTF-8.
7
8 JOE looks for this file in:
9	1 - $HOME/.jmacsrc
10	2 - @jrcbefore@jmacsrc@jrcafter@
11
12 This file can include other files by placing the following include command
13 in the first column (comment lines start with space or tab):
14
15 :include filename
16
17 FIRST SECTION: Default global options (these options can also be specified
18 on the command line. Also, the NOXON, LINES, COLUMNS, DOPADDING and BAUD
19 options can be specified in environment variables):
20
21 Put each option you want set in the first column:
22
23 -option	Sets the option
24 --option	Clears the option
25
26 -mid		Cursor is recentred when scrolling is necessary
27 -marking	Text between ^KB and cursor is highlighted; use with:
28 -lightoff	Turn off highlighting after block copy or move
29-autoswap	Swap markb with markk when necessary
30 -asis		Characters 128 - 255 shown as-is
31 -hex		Hex editing mode
32-nobackups	If you don't want backup files to be created
33 -backpath path
34		Where to store backup files (do not quote, no comment after)
35 -force		Force final newline when files are saved
36 -exask		^KX always confirms file name
37-beep		Beep on errors and when cursor goes past extremes
38 -nosta		Disable top-most status line
39 -keepup	%k and %c status line escape sequences updated frequently
40-pg 1		No. lines to keep for PgUp/PgDn
41-csmode		^KF after a pervious search does a ^L instead
42 -nonotice	Disable copyright notice
43-noxon		Attempt to turn off ^S/^Q processing
44-orphan		Put extra files given on command line in orphaned buffers
45		instead of in windows
46-dopadding	Output pad characters (for when there is no tty handshaking)
47 -lines nnn	Set no. screen lines
48-baud 19200	Set baud rate for terminal optimisations
49 -columns nnn	Set no. screen columns
50 -help		Start with help on
51 -skiptop nnn	Don't use top nnn lines of the screen
52
53-notite		Don't send terminal initialisation and termination strings:
54		prevents restoration of screen on exit
55
56-pastetite	Enter bracketed paste mode automatically for TERM=xterm-xfree86
57
58 -usetabs	Use tabs to help optimise screen update
59
60-assume_color	Assume terminal has ANSI colour support even if its termcap
61		or terminfo entry says that it doesn't. This only applies if
62		the terminal otherwise looks like an ANSI terminal (supports
63		bold and capability starts with ESC [).
64
65-guess_crlf	Automatically detect MS-DOS files and set -crlf appropriately
66
67-guess_indent	Guess indent character (tab or space)
68
69-menu_explorer	Stay in menu system when a directory is selected (otherwise
70		directory is added to path and menu is closed)
71
72-icase		Search is case-insensitive by default
73-wrap		Search wraps
74
75 Status line definition strings. -lmsg defines the left-justified string,
76 and -rmsg defines the right-justified string. The first character of -rmsg
77 is the background fill character. -hmsg (3.1jupp15) defines the help hint
78 (only about a dozen chars) displayed next to the copyright notice in the
79 initial status line (inverted by default, unless starting with exactly \i).
80 The following escape sequences can be used in these strings:
81
82	%t	12-hour time
83	%u	24-hour time
84	%T	O for overtype mode, I for insert mode
85	%W	W if wordwrap is enabled
86	%I	A if autoindent is enabled
87	%X	rectangle mode indicator
88	%n	file name
89	%m	'(Modified)' if file has been changed
90	%*	'*' if file has been changed
91	%R	read-only indicator
92	%r	row (line) number
93	%c	column number
94	%o	byte offset into file (decimal)
95	%O	byte offset into file in hex
96	%a	ASCII value of character under cursor (decimal)
97	%A	ASCII value of character under cursor in hex
98	%p	percent of file cursor is at
99	%l	number of lines in file
100	%k	entered prefix keys
101	%S	'*SHELL*' if there is a shell running in window
102	%M	macro recording message
103	%y	syntax
104	%x	context (first non-indented line going backwards)
105
106 These formatting escape sequences may also be given:
107
108	\i	Inverse
109	\u	Underline
110	\b	Bold
111	\d	Dim
112	\f	Blink
113
114-lmsg \i%k%T%W%I%X %* [%n] %y %M
115-rmsg  %S Row %r Col %c %u
116-hmsg \i\f\bHelp: ^Xh\b\f
117
118 SECOND SECTION: filename-dependent local option settings:
119
120 Each line with '*' in the first column indicates the modes which should be
121 set for files whose name matches the regular expression. If more than one
122 regular expression matches the file name, then the last matching one is
123 chosen.
124
125 A file contents regular expression may also be specified on a separate line
126 with '+regex'. If this regular expresssion is given, then both the file name
127 regex and the file contents regex must match for the options to apply.
128
129 Here is a list of modes which can be set:
130
131 -keymap name		Keymap to use if not 'main'
132 -square		Rectangular block mode
133 -overwrite		Overtype mode
134 -picture		Picture mode (cursor right can go past end of line)
135 -linums		Show line numbers in front of each line
136 -rdonly		File is read-only
137 -crlf			File uses CR-LF at end of lines
138 -encoding utf8		File is UTF-8 encoded
139 -syntax name		Specify syntax (syntax file called
140			'name.jsf' will be loaded)
141 -highlight		Enable syntax highlighting
142
143 -french		One space after '.', '?' and '!' for wordwrap and
144			paragraph reformat instead of two. JOE does not
145			change the spacing you give, but sometimes it must
146			put spacing in itself. This selects how much is
147			inserted in those cases.
148 -purify		Fixup indentation if necessary for rindent, lindent
149			and backs (for example if indentation uses a mix of
150			tabs and spaces, and indentc is space, indentation
151			will be converted to all spaces)
152
153 -lmargin nnn		Left margin
154 -rmargin nnn		Right margin
155 -tab nnn		Tab width
156 -indentc nnn		Indentation character (32 = space, 9 = tab)
157 -istep nnn		Amount of 'indentc's per indentation level
158 -spaces		Tab key inserts spaces instead of tabs
159 -wordwrap		Wordwrap
160 -autoindent		Auto indent
161 -smartbacks		Backspace key deletes 'istep' number of 'indentc's
162			if cursor is at first non-space character
163 -smarthome		Home key first moves cursor to beginning of line,
164			then if hit again, to first non-blank character
165 -indentfirst		Smart home goes to first non-blank character first,
166			instead of to the beginning of the line first
167
168 -lmsg			Status line definition strings;
169 -rmsg			see previous section for more info
170
171 -mnew macro		Macro to execute when new files are loaded
172 -mold macro		Macro to execute when existing files are loaded
173 -msnew macro		Macro to execute when new files are saved
174 -msold macro		Macro to execute when existing files are saved
175
176 Macros for the above options are in the same format as in the key
177 binding section below but without the key name strings.
178
179 Default local options:
180-highlight
181-french
182-indentc 9
183-istep 1
184-purify
185--autoindent
186-smartbacks
187-tab 8
188--wordwrap
189
190 #HOOK#1 global/default flags
191
192 === Generic files
193 No '.' in filename?
194*
195 Assume it's a text file and, except in jupp, we want wordwrap on.
196-wordwrap
197
198 Filename with '.' is probably not a text file.
199*.*
200
201 Binary file
202*.bin
203--crlf
204--guess_crlf
205-encoding ascii
206-hex
207
208 === Patterns with multiple wildcards
209 Order is latest match wins, so...
210*/patch-*
211-highlight
212-syntax diff
213
214*
215+Only in[ ]
216-highlight
217-syntax diff
218
219*
220+Nur in[ ]
221-highlight
222-syntax diff
223
224*
225+\[1-9]\+\[0-9]\[cda]
226-highlight
227-syntax diff
228
229*.sh*
230-syntax sh
231
232*.ksh*
233-syntax sh
234
235*.mksh*
236-syntax sh
237
238*.bash*
239-syntax sh
240
241*tmp/mutt-*
242-wordwrap
243-syntax mail
244
245*tmp/pico.*
246-wordwrap
247-syntax mail
248
249*/mail/*
250-syntax mail
251
252*/patches/*
253-highlight
254-syntax diff
255
256 === Assembly
257*.asm
258-syntax asm
259
260*.S
261-syntax asm
262
263*.s
264-syntax asm
265
266 === C, C++, Objective-C
267*.C
268-syntax c
269
270*.c
271-syntax c
272
273*.cc
274-syntax c
275
276*.cpp
277-syntax c
278
279*.cxx
280-syntax c
281
282*.c++
283-syntax c
284
285*.h
286-syntax c
287
288*.hh
289-syntax c
290
291*.hpp
292-syntax c
293
294*.h++
295-syntax c
296
297*.m
298-syntax c
299
300*.nxc
301-syntax c
302
303 === C Shell
304*.csh
305-syntax csh
306
307*.login
308-syntax csh
309
310*.logout
311-syntax csh
312
313*.tcsh
314-syntax csh
315
316*.tcshrc
317-syntax csh
318
319*
320+#!\+\[	 ]\+\[/a-z0-9._-]/\+tcsh\>
321-syntax csh
322
323*
324+#!\+\[	 ]\+\[/a-z0-9._-]/env\[	 ]\+\[	 ]\+tcsh\>
325-syntax csh
326
327 === Diff
328*.diff
329-highlight
330-syntax diff
331
332*.patch
333-highlight
334-syntax diff
335
336*.rej
337-highlight
338-syntax diff
339
340*.debdiff
341-highlight
342-syntax diff
343
344*
345+---\[ ]
346-highlight
347-syntax diff
348
349*
350+***\[ ]
351-highlight
352-syntax diff
353
354*
355+Index: \*\n======================================================
356-highlight
357-syntax diff
358
359*
360+Index: \*\ndiff\*\n--- \*\n+++\[ ]
361-highlight
362-syntax diff
363
364*
365+\[=?]\*\n--- \*\n+++\[ ]
366-highlight
367-syntax diff
368
369*
370+diff\*\n--- \*\n+++\[ ]
371-highlight
372-syntax diff
373
374*
375+diff --git\*\nindex\*\n--- \*\n+++\[ ]
376-highlight
377-syntax diff
378
379 === eMail
380*.eml
381-syntax mail
382
383 Not quite eMail but still RFC822
384*.mht
385-syntax mail
386
387 === FORTRAN
388*.f
389-syntax fortran
390
391*.for
392-syntax fortran
393
394*.FOR
395-syntax fortran
396
397*.f77
398-syntax fortran
399
400*.F77
401-syntax fortran
402
403*.f90
404-syntax fortran
405
406*.F90
407-syntax fortran
408
409 === GNU autoconf
410*.ac
411-syntax conf
412
413*.am
414-syntax conf
415
416 === HTML
417*.htm
418-encoding utf8
419-syntax html
420
421*.html
422-encoding utf8
423-syntax html
424
425 === Java
426*.java
427-encoding utf8
428-syntax java
429
430 === JOE Syntax File
431*.jsf
432-syntax conf
433
434 === LISP
435*.lisp
436-syntax lisp
437
438*.lsp
439-syntax lisp
440
441*.el
442-syntax lisp
443
444 === Make
445*akefile
446-syntax conf
447
448*AKEFILE
449-syntax conf
450
451 === Mason
452*.mas
453-syntax mason
454
455 === Pascal
456*.p
457-syntax pascal
458
459*.pas
460-syntax pascal
461
462 === Perl
463*.pl
464-syntax perl
465
466*.pm
467-syntax perl
468
469*
470+#!\+\[	 ]\+\[/a-z0-9._-]/perl
471-syntax perl
472
473*
474+#!\+\[	 ]\+\[/a-z0-9._-]/env\[	 ]\+\[	 ]perl
475-syntax perl
476
477 === PHP
478*.php
479-syntax php
480
481 === Python
482*.py
483-encoding utf8
484-syntax python
485-tab 4
486-indentc 32
487-istep 4
488-spaces
489
490*
491+#!\+\[	 ]\+\[/a-z0-9._-]/python
492-encoding utf8
493-syntax python
494-tab 4
495-indentc 32
496-istep 4
497-spaces
498
499*
500+#!\+\[	 ]\+\[/a-z0-9._-]/env\[	 ]\+\[	 ]python
501-encoding utf8
502-syntax python
503-tab 4
504-indentc 32
505-istep 4
506-spaces
507
508 === Bourne, Korn, POSIX Shell
509*profile
510-syntax sh
511
512*
513+:\[	 \n]
514-syntax sh
515
516*
517+#!\+\[	 ]\+\[/a-z0-9._-]/\+\[bda]sh\>
518-syntax sh
519
520*
521+#!\+\[	 ]\+\[/a-z0-9._-]/env\[	 ]\+\[	 ]\+\[bda]sh\>
522-syntax sh
523
524*
525+#!\+\[	 ]\+\[/a-z0-9._-]/\+\[a-z]ksh\+\[0-9._-]\>
526-syntax sh
527
528*
529+#!\+\[	 ]\+\[/a-z0-9._-]/env\[	 ]\+\[	 ]\+\[a-z]ksh\+\[0-9._-]\>
530-syntax sh
531
532 === TCL
533*.tcl
534-syntax tcl
535
536 === TeX
537*.cls
538-syntax tex
539
540*.def
541-syntax tex
542
543*.dtx
544-syntax tex
545
546*.sty
547-syntax tex
548
549*.tex
550-syntax tex
551
552 === Verilog
553*.v
554-syntax verilog
555-istep 2
556
557*.vh
558-syntax verilog
559-istep 2
560
561 === VHDL
562*.vhd
563-syntax vhdl
564-istep 2
565
566 === XML
567*.xml
568-encoding utf8
569-syntax xml
570
571*.xsl
572-encoding utf8
573-syntax xml
574
575 === Text (except in jupp)
576*.asc
577-wordwrap
578
579*.doc
580-wordwrap
581
582*.txt
583-wordwrap
584
585 #HOOK#2 filename matching
586
587 THIRD SECTION: Named help screens:
588
589 Use \| to insert a spring: all springs in a given line are set to the same
590 width such that the entire line exactly fits in the width of the screen
591 (if it's not an exact multiple so that there are N spaces remaining, the
592 rightmost N springs each get one extra space). Hint: if you want vertical
593 alignment, each line should have the same number of springs.
594
595{Basic
596\i   Help Screen    \|turn off with ^XH   more help with ^X.                       \i
597\i \i\|\uCURSOR\u           \|\uGO TO\u           \|\uUNDO\u      \|\uMISC\u        \|\uREGION\u     \|\uEXIT\u       \|\i \i
598\i \i\|^B left ^F right \|^[V prev screen \|^XU undo  \|^[^[ option \|^@  mark   \|^XK  quit  \|\i \i
599\i \i\|^P up   ^N down  \|^V  next screen \|^^  redo  \|^[Q format  \|^W  cut    \|^X^C save  \|\i \i
600\i \i\|^[B prev. word   \|^A  beg of line \|\uDELETE\u    \|^L  refresh \|^Y  paste  \|\uFILE\u       \|\i \i
601\i \i\|^[F next word    \|^E  end of line \|^D  char  \|^[$ spell   \|^[Y switch \|^X^W save  \|\i \i
602\i \i\|\uSEARCH\u           \|^[< top of file \|^K  >line \|^[M math    \|^XA save   \|^XI  insert\|\i \i
603\i \i\|^S  forward      \|^[> end of file \|^[D >word \|^[% query   \|^[| filter \|^X^F load  \|\i \i
604\i \i\|^R  backward     \|^[G to line No. \|^[ DEL word<\|  replace \|^XX swap   \|^X^B switch\|\i \i
605}
606
607{Editing
608\i   Help Screen    \|turn off with ^XH   prev. screen ^X,  next screen ^X.        \i
609\i \i\|\uCASE\u           \|\uTRANSPOSE\u  \|\uINSERT\u    \|\uMACROS\u            \|\uPROGRAMS\u               \|\i \i
610\i \i\|^[U  Up word   \|^T   Chars \|^O  line  \|^X( record        \|^X^I Indent region     \|\i \i
611\i \i\|^[L  Down word \|^[T  Words \|^C  space \|^X) stop          \|^[.  Tags file find    \|\i \i
612\i \i\|^[C  Cap. word \|^X^T Lines \|`   Ctrl- \|^XE play          \|^XG  To matching ( [ { \|\i \i
613\i \i\|^X^U Up region \|           \|^XT text  \|^XQ query suspend \|^XC  Parse errors      \|\i \i
614\i \i\|^X^L Down region\|          \|          \|^U  repeat prefix \|^XN / ^XP next/prev err\|\i \i
615}
616
617{Window
618\i   Help Screen    \|turn off with ^XH   prev. screen ^X,  next screen ^X.        \i
619\i \i\|\uWINDOW\u                      \|\uSCROLL\u     \|\uSHELL\u       \|\uCURSOR\u                    \|\i \i
620\i \i\|^X2  Split window in half   \|^X^P up    \|^Z  Suspend \|^[P prev. paragraph       \|\i \i
621\i \i\|^XO  Switch to other window \|^X^N down  \|^[! Command \|^[N next paragraph        \|\i \i
622\i \i\|^XZ  Grow window            \|^X<  left  \|^[' Window  \|^XG to matching ( [ {     \|\i \i
623\i \i\|^X^Z Shrink window          \|^X>  right \|            \|\uBOOKMARK\u                  \|\i \i
624\i \i\|^X0  Kill window            \|           \|            \|^XJ set                   \|\i \i
625\i \i\|^X1  Kill all other windows \|^X=  status\|            \|^X/ goto                  \|\i \i
626}
627
628{Search
629\i   Help Screen    \|turn off with ^XH   prev. screen ^X,  next screen ^X.        \i
630\i \iSpecial search sequences:                                                    \|\i \i
631\i \i    \\^  \\$  matches beg./end of line      \\?     match any single char       \|\i \i
632\i \i    \\<  \\>  matches beg./end of word      \\*     match 0 or more chars       \|\i \i
633\i \i    \\c      matches balanced C expression \\\\     matches a \\                 \|\i \i
634\i \i    \\[..]   matches one of a set          \\n     matches a newline           \|\i \i
635\i \i    \\+      matches 0 or more of the character which follows the \\+          \|\i \i
636\i \iSpecial replace sequences:                                                   \|\i \i
637\i \i    \\&      replaced with text which matched search string                   \|\i \i
638\i \i    \\0 - 9  replaced with text which matched Nth \\*, \\?, \\c, \\+, or \\[..]    \|\i \i
639\i \i    \\\\      replaced with \\               \\n     replaced with newline       \|\i \i
640}
641
642{Names
643\i   Help Screen    \|turn off with ^XH   prev. screen ^X,  next screen ^X.        \i
644\i \i Hit TAB at file name prompts to generate menu of file names                 \|\i \i
645\i \i Or use up/down keys to access history of previously entered names           \|\i \i
646\i \i Special file names:                                                         \|\i \i
647\i \i      !command                 Pipe in/out of a shell command                \|\i \i
648\i \i      >>filename               Append to a file                              \|\i \i
649\i \i      -                        Read/Write to/from standard I/O               \|\i \i
650\i \i      filename,START,SIZE      Read/Write a part of a file/device            \|\i \i
651\i \i          Give START/SIZE in decimal (255), octal (0377) or hex (0xFF)       \|\i \i
652}
653
654{Joe
655\i   Help Screen    \|turn off with ^XH   prev. screen ^X,                         \i
656\i \i For bug reports and other information, refer to: \uhttp://mirbsd.de/jupp\u      \|\i \i
657}
658
659 #HOOK#3 additional help screens
660
661{CharTable
662\i   Help Screen    turn off with ^J     prev. screen ^[,    \uCharacter Map\u       \i
663\i \i Dec Hex  \u 0123 4567  89AB CDEF    0123 4567  89AB CDEF \u  Hex Dec            \i \i
664\i \i         |                                              |                    \i \i
665\i \i   0  00 | \u@ABC\u \uDEFG\u  \uHIJK\u \uLMNO\u    ���� ����  ���� ���� | 80  128            \i \i
666\i \i  16  10 | \uPQRS\u \uTUVW\u  \uXYZ[\u \u\\]^_\u    ���� ����  ���� ���� | 90  144            \i \i
667\i \i  32  20 |  !"# $%&'  ()*+ ,-./    ���� ����  ���� ���� | A0  160            \i \i
668\i \i  48  30 | 0123 4567  89:; <=>?    ���� ����  ���� ���� | B0  176            \i \i
669\i \i  64  40 | @ABC DEFG  HIJK LMNO    ���� ����  ���� ���� | C0  192            \i \i
670\i \i  80  50 | PQRS TUVW  XYZ[ \\]^_    ���� ����  ���� ���� | D0  208            \i \i
671\i \i  96  60 | `abc defg  hijk lmno    ���� ����  ���� ���� | E0  224            \i \i
672\i \i 112  70 | pqrs tuvw  xyz{ |}~    ���� ����  ���� ���� | F0  240            \i \i
673}
674
675{Paste
676\i                                                                               \i
677\i \i \u\bPaste Mode\b\u     turn off with \b^D\b or \b^[[201~\b                                  \i \i
678}
679
680 FOURTH SECTION: Key bindings:
681
682 Section names you must provide:
683
684	:main		editing window
685	:prompt		prompt lines
686	:query		single-character query lines
687	:querya		singe-character query for quote
688	:querysr	search-and-replace single-character query
689
690 Other sections may be given as well for organisation purposes or for
691 use with the '-keymap' option.
692
693 Use:
694 :inherit name		To copy the named section into the current one
695 :delete key		To delete a key sequence from the current section
696
697 Keys:
698
699 Use ^@ through ^_ and ^? for C0 control characters and DEL
700 Use SP for space
701 Use a TO b to generate a range of characters
702
703 You can also use termcap string capability names. For example:
704
705	.ku		Up
706	.kd		Down
707	.kl		Left
708	.kr		Right
709	.kh		Home
710	.kH		End
711	.kI		Insert
712	.kD		Delete
713	.kP		PgUp
714	.kN		PgDn
715	.k1 - .k9	F1 - F9
716	.k0		F0 or F10
717	.k;		F10
718
719 Macros:
720
721 Simple macros can be made by comma seperating two or more command names.
722 For example:
723
724 eof,bol	^T Z		Goto beginning of last line
725
726 Also quoted matter is typed in literally (backslashes escape):
727
728 bol,">",dnarw	.k1		Quote news article line
729
730 Macros may cross lines if they end with a comma.
731 Commands or named macros may be created with :def.
732 For example, you can use...
733
734 :def foo eof,bol
735
736 ... to define a command foo which will go to the beginning of the last line.
737
738:windows		Bindings common to all windows
739 #HOOK#4 common keybindings
740type		^@ TO �
741abort		^G		Abort window
742abort		^X ^C
743abort		^C
744tw0		^X 0		Delete window: can make orphan buffers
745tw1		^X 1		Delete other windows: can make orphan buffers
746uarg		^U		Repeat prefix
747uarg		^[ -
748uarg		^[ 0 TO 9
749help		.k1
750help		^X H
751help		^X ^H
752help		^X h		Help
753help		^[ [ 1 1 ~
754hnext		^X .
755hprev		^X ,
756math		^[ m		Calculator
757math		^[ M
758nextw		^X o		Other window
759pgdn		.kN		Screen down
760pgdn		^V
761pgdn		^[ [ 6 ~
762pgdn		^[ [ G		SCO
763pgup		.kP		Screen up
764pgup		^[ [ 5 ~
765pgup		^[ [ I		SCO
766pgup		^[ v
767play,"0"	^X e		Execute keyboard macro
768prevw		^X p		Previous window (uemacs)
769query		^X q		Query insert
770record,"0"	^X (		Record macro
771retype		^L		Refresh screen
772rtn		^M		Return
773shell		^Z		Suspend
774shell		^[ s		Suspend (uemacs)
775stop		^X )		Stop recording macro
776
777:Paste
778type					^@ TO �
779rtn					^M
780msg,"Entered bracketed paste mode",rtn	^[ [ 2 0 0 ~
781helpcard,rtn,keymap,"main",rtn,msg,rtn	^[ [ 2 0 1 ~
782helpcard,rtn,keymap,"main",rtn		^D
783
784:Pasteprompt
785type					^@ TO �
786nop					^L
787keymap,"prompt",rtn,msg,rtn,rtn		^M
788msg,"Entered bracketed paste mode",rtn	^[ [ 2 0 0 ~
789keymap,"prompt",rtn,msg,rtn		^[ [ 2 0 1 ~
790keymap,"prompt",rtn			^D
791
792:main			Text editing window
793:inherit windows
794
795 compile
796 :def compile switch,"*Build-Log*",rtn,markb,eof," ",markk,blkdel,filt,query,parserr
797:def compile querysave,query,scratch,"* Build Log *",rtn,bof,markb,eof," ",markk,blkdel,build
798
799 spell check
800:def aspellfile filt,"SPLTMP=ispell.tmp;cat >$SPLTMP;aspell -x -c $SPLTMP </dev/tty >/dev/tty;cat $SPLTMP;/bin/rm $SPLTMP",rtn,retype
801:def aspellword psh,nextword,markk,prevword,markb,filt,"SPLTMP=ispell.tmp;cat >$SPLTMP;aspell -x -c $SPLTMP </dev/tty >/dev/tty;tr -d <$SPLTMP '\\012';/bin/rm $SPLTMP",rtn,retype,nextword
802:def ispellfile filt,"cat >ispell.tmp;ispell ispell.tmp </dev/tty >/dev/tty;cat ispell.tmp;/bin/rm ispell.tmp",rtn,retype
803:def ispellword psh,nextword,markk,prevword,markb,filt,"cat >ispell.tmp;ispell ispell.tmp </dev/tty >/dev/tty;tr -d <ispell.tmp '\\012';/bin/rm ispell.tmp",rtn,retype,nextword
804
805 #HOOK#5 main keybindings
806
807@SPELL@word	^[ $
808
809helpcard,"Paste",rtn,keymap,"Paste",rtn	^[ [ 2 0 0 ~
810nop					^[ [ 2 0 1 ~
811
812setmark,":",uparw,gomark,":",begin_marking,uparw,toggle_marking	^[ [ 1 ; 2 A
813setmark,":",dnarw,gomark,":",begin_marking,dnarw,toggle_marking	^[ [ 1 ; 2 B
814setmark,":",rtarw,gomark,":",begin_marking,rtarw,toggle_marking	^[ [ 1 ; 2 C
815setmark,":",ltarw,gomark,":",begin_marking,ltarw,toggle_marking	^[ [ 1 ; 2 D
816setmark,":",bol,gomark,":",begin_marking,bol,toggle_marking	^[ [ 1 ; 2 H
817setmark,":",eol,gomark,":",begin_marking,eol,toggle_marking	^[ [ 1 ; 2 F
818setmark,":",bof,gomark,":",begin_marking,bof,toggle_marking	^[ [ 1 ; 6 H
819setmark,":",eof,gomark,":",begin_marking,eof,toggle_marking	^[ [ 1 ; 6 F
820
821ctrl		^Q		Quote Ctrl chars
822ctrl		`		Quote Ctrl chars
823
824 Macros of non-existent Emacs functions
825
826psh,nextword,markk,prevword,markb,upper,nextword	^[ u		Upcase word
827psh,nextword,markk,prevword,markb,lower,nextword	^[ l		Downcase word
828psh,nextword,markk,prevword,markb,lower,rtarw,markk,upper,nextword	^[ c		Capitalize word
829psh,markk,lower		^X ^L	Downcase region
830psh,markk,upper		^X ^U	Upcase region
831psh,ltarw,markb,rtarw,markk,rtarw,
832blkmove,rtarw	^T				Transpose chars
833psh,uparw,bol,markb,dnarw,markk,
834dnarw,blkmove,dnarw		^X ^T		Transpose lines
835
836 Old way- broken at end of line
837 psh,prevword,markb,nextword,
838 nextword,prevword,markk,nextword,
839 nextword,prevword,blkmove,nextword	^[ t	Transpose words
840
841psh,prevword,nextword,nextword,markk,prevword,markb,setmark,":",
842prevword,nextword,blkmove,markk,prevword,markb,gomark,":",blkmove,nextword	^[ t
843
844eop,bop,markb,eop	^[ h			Mark paragraph
845nextword,prevword,markb,nextword	^[ @	Mark word
846"()",ltarw		^[ (			Insert ()
847bol,insc,delw		^[ ^			Delete indentation
848psh,markk,copy,msg,"Region saved",rtn	^[ w	Yank copy
849mode,"Rcol",rtn,
850msg,"Fill-column set",rtn		^X f	Set right margin
851bol,rtn,backw,rtn,rtn,uparw,delw	^X ^O	Delete blank lines
852" ",backw," ",insc,delw	^[ SP			Just one space
853" ",backw,insc,delw	^[ \			Delete horizontal space
854stop,msg,"Abort",beep,rtn	^G			Abort message
855stop,msg,"Abort",beep,rtn	^[ ^G			Abort message
856stop,msg,"Abort",beep,rtn	^X ^G			Abort message
857psh,markk,blkdel	^W			Cut
858save,rtn		^X ^S			Save file
859ask			^X s
860drop,msg,"Mark set",rtn	^@			Drop anchor
861nextw,pgdn,prevw	^[ ^V			Scroll other window down
862nextw,pgup,prevw	^[ ^Z			Scroll other window up
863 bol,nedge,pedge	^[ m			GNU-Emacs goto indentation
864nextw,nbuf,prevw	^X 4 b			Switch buffers other window
865nextw,edit,query,prevw	^X 4 f			Find file other window
866nextw,edit,query,prevw	^X 4 ^F
867nextw,tag,query,prevw	^X 4 .			Find tag other window
868
869 Old way...
870 exsave			^X ^C			Save file and exit
871
872 More like GNU Emacs...
873querysave,query,killjoe	^X ^C			Query to save files, then exit
874
875 Old way...
876 lose,query,abortbuf	^X k			Kill buffer in window
877
878lose,query		^X k			Kill buffer in window
879
880lose,query,edit		^X ^V			Edit a file: no orphaned buffers
881
882psh,drop,fwrdc,query,markk,blkdel	^[ z	Cut to char
883psh,markk,blksave,">>",query	^X a		Append region to file
884retype,
885arg,"top+height/2-line",rtn,upslide	^L	Recenter
886arg,"top+height/2-line",rtn,dnarw	^[ r	Move to center line
887swap,math,"z=line",rtn,
888swap,msg,math,"line-z",rtn,
889" lines in region",rtn			^[ =	Count lines region
890mode,"O"				^X ^Q	Toggle read-only
891
892compile		^X c		Compile
893nxterr		^X n
894nxterr		^X `
895prverr		^X p
896
897backs		^?		Backspace
898backs		^H
899backw		^[ ^?		Backspace word
900backw		^[ ^H
901bknd		^X '		Shell window (joe)
902bof		^[ <		Goto beginning of file
903bof		^X [
904bof		^[ [ 1 ; 5 H
905home		^A		Goto beginning of line
906home		.kh
907home		^[ [ 1 ~
908home		^[ [ 7 ~
909home		^[ [ H
910bop		^[ p		(uemacs)
911bufed		^X b
912bknd		^[ '		Shell window
913crawlr		^X >		Scroll to the right
914crawll		^X <		Scroll to the left
915delch		.kD		Delete character
916delch		^D
917delch		^[ [ 3 ~
918deleol		^K		Delete to end of line
919delw		^[ d		Delete word
920dnarw		.kd		Go down
921dnarw		^N
922dnarw		^[ O B
923dnarw		^[ [ B
924dnslide		^X ^N		Slide down (uemacs)
925edit		^X ^F		Edit a file: creates orphaned buffers
926eof		^[ >		Go to end of file
927eof		^X ]
928eof		^[ [ 1 ; 5 F
929eol		.@7
930eol		.kH		Go to end of line
931eol		^E
932eol		^[ [ 4 ~
933eol		^[ [ 8 ~
934eol		^[ [ F
935eop		^[ n		(uemacs)
936execmd		^[ x
937insc		^C		(uemacs)
938 ffirst		^S		Search forward
939isrch		^S
940ffirst		^\
941psh,markk,filt,query	^[ |		Filter block
942format		^[ q		Format paragraph
943gomark		^X /		Goto bookmark
944groww		^X ^		Enlarge window
945groww		^X z		(uemacs)
946insf		^X i		Insert a file
947yapp		^[ ^W		Append next kill
948line		^[ g		Goto line (uemacs)
949ltarw		.kl		Go left
950ltarw		^B
951ltarw		^[ O D
952ltarw		^[ [ D
953mode		^[ ^[		Change modes
954nbuf		^X ^B		Next buffer in current window
955nbuf		^X x		(uemacs)
956 nextpos	^K =		Goto next position in position history
957nextword	^[ f		Goto next word
958nextword	^[ [ 1 ; 5 C
959notmod		^[ ~		Not modified
960open		^O		Split line
961open		^[ ^O
962 pbuf		^X b		Previous buffer in current window
963 prevpos	^K -		Goto previous position in position history
964prevword	^[ b		Previous word
965prevword	^[ [ 1 ; 5 D
966qrepl		^[ %		Query replace
967 qrepl		^[ r		Query replace (uemacs)
968qrepl		^[ ^R		Query replace (uemacs)
969redo		^^		Redo changes
970 rfirst		^R		Search backwards
971rsrch		^R		Incremental search backwards
972rindent		^X ^I		Indent to the right
973rindent		^[ ^\
974rtarw		.kr		Go right
975rtarw		^F
976rtarw		^[ O C
977rtarw		^[ [ C
978run		^[ !
979save		^X ^W		Write file
980setmark		^X j		Set bookmark
981shrinkw		^X ^Z		(uemacs)
982splitw		^X 2		Split window
983stat		^X l		GNU-Emacs Show status
984stat		^X ?		JED
985stat		^X =		GNU-Emacs
986swap		^X ^X		Swap mark and cursor
987tag		^[ .		Tag search
988tomatch		^X g		Goto matching parenthasis (joe)
989tomatch		^[ ^F		(uemacs)
990txt		^X t		Prompt for text to insert
991undo		^_		Undo changes
992undo		^X u
993uparw		.ku		Go up
994uparw		^P
995uparw		^[ O A
996uparw		^[ [ A
997upslide		^X ^P		Slide up (uemacs)
998yank		^Y		Yank deleted text
999yankpop		^[ y		Yank-pop
1000
1001:prompt			Prompt windows
1002:inherit main
1003abort		^G
1004abort		^C
1005complete	^I
1006nop		^L
1007keymap,"Pasteprompt",rtn,msg,"Entered bracketed paste mode",rtn	^[ P
1008keymap,"Pasteprompt",rtn,msg,"Entered bracketed paste mode",rtn	^[ p
1009keymap,"Pasteprompt",rtn,msg,"Entered bracketed paste mode",rtn	^[ [ 2 0 0 ~
1010
1011:menu			Selection menus
1012:inherit windows
1013abort		^[ ^[
1014backsmenu	^?
1015backsmenu	^H
1016bofmenu		^K U
1017bofmenu		^K ^U
1018bofmenu		^K u
1019bofmenu		^[ [ 1 ; 5 H
1020bolmenu		^A
1021bolmenu		.kh
1022bolmenu		^[ [ 1 ~
1023bolmenu		^[ [ 7 ~
1024bolmenu		^[ [ H
1025dnarwmenu	.kd
1026dnarwmenu	^N
1027dnarwmenu	^[ [ B
1028dnarwmenu	^[ O B
1029eofmenu		^K V
1030eofmenu		^K ^V
1031eofmenu		^K v
1032eofmenu		^[ [ 1 ; 5 F
1033eolmenu		.@7
1034eolmenu		.kH
1035eolmenu		^E
1036eolmenu		^[ [ 4 ~
1037eolmenu		^[ [ 8 ~
1038eolmenu		^[ [ F
1039ltarwmenu	.kl
1040ltarwmenu	^B
1041ltarwmenu	^[ [ D
1042ltarwmenu	^[ O D
1043pgdnmenu	.kN
1044pgdnmenu	^V
1045pgdnmenu	^[ [ 6 ~
1046pgdnmenu	^[ [ G
1047pgupmenu	.kP
1048pgupmenu	^[ [ 5 ~
1049pgupmenu	^[ [ I
1050pgupmenu	^[ v
1051rtarwmenu	.kr
1052rtarwmenu	^F
1053rtarwmenu	^[ [ C
1054rtarwmenu	^[ O C
1055rtn		SP
1056rtn		^I
1057rtn		^X H
1058rtn		^X h
1059rtn		^X ^H
1060tabmenu		^I
1061uparwmenu	.ku
1062uparwmenu	^P
1063uparwmenu	^[ [ A
1064uparwmenu	^[ O A
1065
1066:query			Single-key query window
1067:inherit windows
1068
1069:querya			Single-key query window for quoting
1070type		^@ TO �
1071
1072:querysr		Search & replace query window
1073type		^@ TO �
1074