we’ll need to distinguish these for sarge/etch as well
[alioth/jupp.git] / joerc.in
1  $MirOS: contrib/code/jupp/joerc.in,v 1.24 2017/01/11 00:41:18 tg Exp $
2
3                          Initialization file for JOE
4                                 Standard 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/.joerc
10         2 - @jrcbefore@joerc@jrcafter@
11
12  This file can include other files by placing the following include command
13  in the first column:
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 recentered when scrolling is necessary
27
28  -marking       Text between ^KB and cursor is highlighted (use with -lightoff)
29
30  -asis          Characters 128 - 255 shown as-is
31
32  -force         Force final newline when files are saved
33
34 -nobackups      If you don't want backup files to be created
35
36  -lightoff      Turn off highlighting after block copy or move
37
38  -exask         ^KX always confirms file name
39
40  -beep          Beep on errors and when cursor goes past extremes
41
42  -nosta         Disable top-most status line
43
44  -keepup        %k and %c status line escape sequences updated frequently
45
46  -pg nnn        No. lines to keep for PgUp/PgDn
47
48  -csmode        ^KF after a pervious search does a ^L instead
49
50  -backpath path Directory to store backup files
51                 (do not use quotes, and remove the comment after path)
52
53  -nonotice      Disable copyright notice
54
55  -noxon         Attempt to turn off ^S/^Q processing
56
57  -orphan        Put extra files given on command line in orphaned buffers
58                 instead of in windows
59
60  -dopadding     Output pad characters (for when there is no tty handshaking)
61
62  -lines nnn     Set no. screen lines
63
64  -baud nnn      Set baud rate for terminal optimizations
65
66  -columns nnn   Set no. screen columns
67
68  -help          Start with help on
69
70  -skiptop nnn   Don't use top nnn lines of the screen
71
72 -notite         Don't send terminal initialization and termination strings: prevents
73                 restoration of screen on exit.
74
75 -pastetite      Enter bracketed paste mode automatically for TERM=xterm-xfree86
76
77  -usetabs       Use tabs to help optimize screen update.
78
79 -assume_color   Assume terminal has ANSI color support even if termcap/terminfo entry
80                 says that it doesn't.  This only applies if the terminal otherwise
81                 looks like an ANSI terminal (support bold and capability starts with
82                 ESC [).
83
84 -guess_crlf     Automatically detect MS-DOS files and set -crlf appropriately
85
86 -guess_indent   Guess indent character (tab or space).
87
88 -menu_explorer Stay in menu system when a directory is selected (otherwise
89                 directory is added to path and menu is closed).
90
91  -icase         Search is case insensitive by default.
92
93  -wrap          Search wraps
94
95  -autoswap      Swap markb with markk when necessary
96
97  Status line definition strings.  -lmsg defines the left-justified string,
98  and -rmsg defines the right-justified string. The first character of -rmsg
99  is the background fill character.  -hmsg (3.1jupp15) defines the help hint
100  (only about a dozen chars) displayed next to the copyright notice in the
101  initial status line.  The following escape sequences can be used in these
102  strings:
103
104   %t  12 hour time
105   %u  24 hour time
106   %T  O for overtype mode, I for insert mode
107   %W  W if wordwrap is enabled
108   %I  A if autoindent is enabled
109   %X  Rectangle mode indicator
110   %n  File name
111   %m  '(Modified)' if file has been changed
112   %*  '*' if file has been changed
113   %R  Read-only indicator
114   %r  Row (line) number
115   %c  Column number
116   %o  Byte offset into file
117   %O  Byte offset into file in hex
118   %a  Ascii value of character under cursor
119   %A  Ascii value of character under cursor in hex
120   %p  Percent of file cursor is at
121   %l  No. lines in file
122   %k  Entered prefix keys
123   %S  '*SHELL*' if there is a shell running in window
124   %M  Macro recording message
125   %y  Syntax
126   %x  Context (first non-indented line going backwards)
127
128  These formatting escape sequences may also be given:
129  
130   \i  Inverse
131   \u  Underline
132   \b  Bold
133   \d  Dim
134   \f  Blink
135
136 -lmsg \i%k%T%W%I%X %n %m%y%R %M %x
137 -rmsg  %S Row %r Col %c %t  Ctrl-K H for help
138 -hmsg Help: ^KH
139
140  SECOND SECTION: File name dependant local option settings:
141
142  Each line with '*' in the first column indicates the modes which should be
143  set for files whose name matches the regular expression.  If more than one
144  regular expression matches the file name, then the last matching one is
145  chosen.
146
147  A file contents regular expression may also be specified on a separate line
148  with '+regex'.  If this regular expresssion is given, then both the file name
149  regex and the file contents regex must match for the options to apply.
150
151  Here are the modes which can be set:
152
153         -utf8                   File is UTF-8 coded
154
155         -syntax name            Specify syntax (syntax file called
156                                 'name.jsf' will be loaded)
157
158         -highlight              Enable highlighting
159
160         -smarthome              Home key first moves cursor to beginning of line,
161                                 then if hit again, to first non-blank character.
162
163         -indentfirst            Smart home goes to first non-blank character first,
164                                 instead of going the beginning of line first.
165
166         -smartbacks             Backspace key deletes 'istep' number of
167                                 'indentc's if cursor is at first non-space
168                                 character.
169
170         -tab nnn                Tab width
171
172         -indentc nnn            Indentation character (32 for space, 9 for tab)
173
174         -istep nnn              Number of indentation columns
175
176         -spaces                 TAB inserts spaces instead of tabs.
177
178         -purify                 Fix indentation if necessary for rindent, lindent and backs
179                                 (for example if indentation uses a mix of tabs and spaces,
180                                 and indentc is space, indentation will be converted to all
181                                 spaces).
182
183         -crlf                   File uses CR-LF at ends of lines
184
185         -wordwrap               Wordwrap
186
187         -autoindent             Auto indent
188
189         -overwrite              Overtype mode
190
191         -picture                Picture mode (right arrow can go past end of lines)
192
193         -lmargin nnn            Left margin
194
195         -rmargin nnn            Right margin
196
197
198         -french                 One space after '.', '?' and '!' for wordwrap
199                                 and paragraph reformat instead of two.  Joe
200                                 does not change the spacing you give, but
201                                 sometimes it must put spacing in itself.  This
202                                 selects how much is inserted.
203
204         -linums                 Enable line numbers on each line
205
206         -rdonly                 File is read-only
207
208         -keymap name            Keymap to use if not 'main'
209
210         -lmsg                   Status line definition strings-
211         -rmsg                   see previous section for more info.
212
213         -mnew macro             Macro to execute when new files are loaded
214         -mold macro             Macro to execute when existing files are loaded
215         -msnew macro            Macro to execute when new files are saved
216         -msold macro            Macro to execute when existing files are saved
217
218         -square                 Rectangular block mode
219
220         Macros for the above options are in the same format as in the key
221         binding section below- but without the key name strings.
222
223  Default local options
224 -highlight
225 -french
226 -indentc 9
227 -istep 1
228 -purify
229 -smartbacks
230 -tab 8
231 --wordwrap
232
233  #HOOK#1 global/default flags
234
235  === Generic files
236  No '.' in filename?
237 *
238  Assume it's a text file and, except in jupp, we want wordwrap on.
239 -wordwrap
240
241  Filename with '.' is probably not a text file.
242 *.*
243
244  === Patterns with multiple wildcards
245  Order is latest match wins, so...
246 */patch-*
247 -highlight
248 -syntax diff
249
250 *.sh*
251 -syntax sh
252
253 *.ksh*
254 -syntax sh
255
256 *.mksh*
257 -syntax sh
258
259 *.bash*
260 -syntax sh
261
262 *tmp/mutt-*
263 -wordwrap
264 -syntax mail
265
266 *tmp/pico.*
267 -wordwrap
268 -syntax mail
269
270 */mail/*
271 -syntax mail
272
273 */patches/*
274 -highlight
275 -syntax diff
276
277  === Assembly
278 *.asm
279 -syntax asm
280
281 *.S
282 -syntax asm
283
284 *.s
285 -syntax asm
286
287  === C, C++, Objective-C
288 *.C
289 -syntax c
290
291 *.c
292 -syntax c
293
294 *.cc
295 -syntax c
296
297 *.cpp
298 -syntax c
299
300 *.cxx
301 -syntax c
302
303 *.c++
304 -syntax c
305
306 *.h
307 -syntax c
308
309 *.hh
310 -syntax c
311
312 *.hpp
313 -syntax c
314
315 *.h++
316 -syntax c
317
318 *.m
319 -syntax c
320
321 *.nxc
322 --highlight
323 -syntax c
324
325  === C Shell
326 *.csh
327 -syntax csh
328
329 *.login
330 -syntax csh
331
332 *.logout
333 -syntax csh
334
335 *.tcsh
336 -syntax csh
337
338 *.tcshrc
339 -syntax csh
340
341 *
342 +#!\+\[  ]\+\[a-z/]/\+tcsh\>
343 -syntax csh
344
345 *
346 +#!\+\[  ]\+\[a-z/]/env\+\[      ]\+tcsh\>
347 -syntax csh
348
349  === Diff
350 *.diff
351 -highlight
352 -syntax diff
353
354 *.patch
355 -highlight
356 -syntax diff
357
358 *.rej
359 -highlight
360 -syntax diff
361
362 *.debdiff
363 -highlight
364 -syntax diff
365
366 *
367 +---\[ ]
368 -highlight
369 -syntax diff
370
371 *
372 +***\[ ]
373 -highlight
374 -syntax diff
375
376 *
377 +Index: \*\n======================================================
378 -highlight
379 -syntax diff
380
381 *
382 +Index: \*\ndiff\*\n--- \*\n+++\[ ]
383 -highlight
384 -syntax diff
385
386 *
387 +\[=?]\*\n--- \*\n+++\[ ]
388 -highlight
389 -syntax diff
390
391 *
392 +diff\*\n--- \*\n+++\[ ]
393 -highlight
394 -syntax diff
395
396 *
397 +diff --git\*\nindex\*\n--- \*\n+++\[ ]
398 -highlight
399 -syntax diff
400
401  === eMail
402 *.eml
403 -syntax mail
404
405  Not quite eMail but still RFC822
406 *.mht
407 -syntax mail
408
409  === FORTRAN
410 *.f
411 -syntax fortran
412
413 *.for
414 -syntax fortran
415
416 *.FOR
417 -syntax fortran
418
419 *.f77
420 -syntax fortran
421
422 *.F77
423 -syntax fortran
424
425 *.f90
426 -syntax fortran
427
428 *.F90
429 -syntax fortran
430
431  === GNU autoconf
432 *.ac
433 -syntax conf
434
435 *.am
436 -syntax conf
437
438  === HTML
439 *.htm
440 -encoding utf8
441 -syntax html
442
443 *.html
444 -encoding utf8
445 -syntax html
446
447  === Java
448 *.java
449 -encoding utf8
450 -syntax java
451
452  === Joe Syntax File
453 *.jsf
454 -syntax conf
455
456  === flex
457 *.l
458 -syntax lex
459
460  === LISP
461 *.lisp
462 -syntax lisp
463
464 *.lsp
465 -syntax lisp
466
467 *.el
468 -syntax lisp
469
470  === M4
471 *.m4
472 -syntax m4
473
474  === Make
475 *akefile
476 -syntax conf
477
478 *AKEFILE
479 -syntax conf
480
481  === Mason
482 *.mas
483 -syntax mason
484
485  === Pascal
486 *.p
487 -syntax pascal
488
489 *.pas
490 -syntax pascal
491
492  === Perl
493 *.pl
494 -syntax perl
495
496 *.pm
497 -syntax perl
498
499 *
500 +#!\+\[  ]\+\[a-z/]/perl
501 -syntax perl
502
503 *
504 +#!\+\[  ]\+\[a-z/]/env\+\[      ]perl
505 -syntax perl
506
507  === PHP
508 *.php
509 -syntax php
510
511  === Python
512 *.py
513 -encoding utf8
514 -syntax python
515 -tab 4
516 -indentc 32
517 -istep 4
518 -spaces
519
520 *
521 +#!\+\[  ]\+\[a-z/]/python
522 -encoding utf8
523 -syntax python
524 -tab 4
525 -indentc 32
526 -istep 4
527 -spaces
528
529 *
530 +#!\+\[  ]\+\[a-z/]/env\+\[      ]python
531 -encoding utf8
532 -syntax python
533 -tab 4
534 -indentc 32
535 -istep 4
536 -spaces
537
538  === Bourne, Korn, POSIX Shell
539 *profile
540 -syntax sh
541
542 *
543 +:\[     \n]
544 -syntax sh
545
546 *
547 +#!\+\[  ]\+\[a-z/]/\+\[bd]\+ash\>
548 -syntax sh
549
550 *
551 +#!\+\[  ]\+\[a-z/]/env\+\[      ]\+\[bd]\+ash\>
552 -syntax sh
553
554 *
555 +#!\+\[  ]\+\[a-z/]/\+\[a-z]ksh\+\[0-9._-]\>
556 -syntax sh
557
558 *
559 +#!\+\[  ]\+\[a-z/]/env\+\[      ]\+\[a-z]ksh\+\[0-9._-]\>
560 -syntax sh
561
562  === TCL
563 *.tcl
564 -syntax tcl
565
566  === TeX
567 *.cls
568 -syntax tex
569
570 *.sty
571 -syntax tex
572
573 *.tex
574 -syntax tex
575
576  === Verilog
577 *.v
578 -syntax verilog
579 -istep 2
580
581 *.vh
582 -syntax verilog
583 -istep 2
584
585  === VHDL
586 *.vhd
587 -syntax vhdl
588 -istep 2
589
590  === XML
591 *.xml
592 -encoding utf8
593 -syntax xml
594
595  === yacc
596 *.y
597 -syntax yacc
598
599  === Text (except in jupp)
600 *.asc
601 -wordwrap
602
603 *.doc
604 -wordwrap
605
606 *.txt
607 -wordwrap
608
609  #HOOK#2 filename matching
610
611  THIRD SECTION: Named help screens:
612
613  Use \i to turn on/off inverse video
614  Use \u to turn on/off underline
615  Use \b to turn on/off bold
616  Use \d to turn on/off dim
617  Use \f to turn on/off flash
618
619  Use \| to insert a spring: all springs in a given line are set to the same
620  width such that the entire line exactly fits in the width of the screen (if
621  it's not an exact multiple so that there are N spaces remaining, the
622  rightmost N springs each get one extra space).  Hint: if you want vertical
623  alignment, each line should have the same number of springs.
624
625 {Basic
626 \i   Help Screen    \|turn off with ^KH    more help with ESC . (^[.)              \i
627 \i \i\|\uCURSOR\u           \|\uGO TO\u            \|\uBLOCK\u      \|\uDELETE\u   \|\uMISC\u         \|\uEXIT\u      \|\i \i
628 \i \i\|^B left ^F right \|^U  prev. screen \|^KB begin  \|^D char. \|^KJ reformat \|^KX save  \|\i \i
629 \i \i\|^P up   ^N down  \|^V  next screen  \|^KK end    \|^Y line  \|^T  options  \|^C  abort \|\i \i
630 \i \i\|^Z previous word \|^A  beg. of line \|^KM move   \|^W >word \|^R  refresh  \|^KZ shell \|\i \i
631 \i \i\|^X next word     \|^E  end of line  \|^KC copy   \|^O word< \|^@  insert   \|\uFILE\u      \|\i \i
632 \i \i\|\uSEARCH\u           \|^KU top of file  \|^KW file   \|^J >line \|\uSPELL\u        \|^KE edit  \|\i \i
633 \i \i\|^KF find text    \|^KV end of file  \|^KY delete \|^_ undo  \|^[N word     \|^KR insert\|\i \i
634 \i \i\|^L  find next    \|^KL to line No.  \|^K/ filter \|^^ redo  \|^[L file     \|^KD save  \|\i \i
635 }
636
637 {Windows
638 \i   Help Screen    \|turn off with ^KH    prev. screen ^[,    next screen ^[.     \i
639 \i \i\|^KO Split the window in half           \|^KE Load file into window             \|\i \i
640 \i \i\|^KG Make current window bigger         \|^KT Make current window smaller       \|\i \i
641 \i \i\|^KN Go to the window below             \|^KP Go to the window above            \|\i \i
642 \i \i\|^C  Eliminate the current window       \|^KI Show all windows / Show one window\|\i \i
643 }
644
645 {Advanced
646 \i   Help Screen    \|turn off with ^KH    prev. screen ^[,    next screen ^[.     \i
647 \i \i\|\uMACROS\u         \|\uMISC\u            \|\uSCROLL\u    \|\uSHELL\u       \|\uGOTO\u       \|\uI-SEARCH\u     \|\i \i
648 \i \i\|^K[ 0-9 Record \|^K SPACE status \|^[W Up    \|^K' Window  \|^[B To ^KB \|^[R Backwards\|\i \i
649 \i \i\|^K]     Stop   \|^K\\ Repeat      \|^[Z Down  \|^[! Command \|^[K To ^KK \|^[S Forwards \|\i \i
650 \i \i\|^K 0-9  Play   \|^[M Math        \|^K< Left  \|\uQUOTE\u       \|\uDELETE\u     \|\uBOOKMARKS\u    \|\i \i
651 \i \i\|^K?     Query  \|^KA Center line \|^K> Right \|`  Ctrl-    \|^[Y yank   \|^[ 0-9 Goto  \|\i \i
652 \i \i\|^[D     Dump   \|^[H Message     \|          \|^\\ Meta-    \|^[O line<  \|^[^[   Set   \|\i \i
653 }
654
655 {Programs
656 \i   Help Screen    \|turn off with ^KH    prev. screen ^[,    next screen ^[.     \i
657 \i \i\|\uGOTO\u                 \|\uINDENT\u   \|\uCOMPILING\u                                      \|\i \i
658 \i \i\|^G  Matching ( [ {   \|^K, less \|^[C Compile and parse errors                   \|\i \i
659 \i \i\|^K- Previous place   \|^K. more \|^[E Parse errors                               \|\i \i
660 \i \i\|^K= Next place         \|       \|^[= To next error                              \|\i \i
661 \i \i\|^K; Tags file search   \|       \|^[- To prev. error                             \|\i \i
662 }
663
664 {Search
665 \i   Help Screen    \|turn off with ^KH    prev. screen ^[,    next screen ^[.     \i
666 \i \iSpecial search sequences:                                                    \|\i \i
667 \i \i    \\^  \\$  matches beg./end of line      \\?     match any single char       \|\i \i
668 \i \i    \\<  \\>  matches beg./end of word      \\*     match 0 or more chars       \|\i \i
669 \i \i    \\c      matches balanced C expression \\\\     matches a \\                 \|\i \i
670 \i \i    \\[..]   matches one of a set          \\n     matches a newline           \|\i \i
671 \i \i    \\+      matches 0 or more of the character which follows the \\+          \|\i \i
672 \i \iSpecial replace sequences:                                                   \|\i \i
673 \i \i    \\&      replaced with text which matched search string                   \|\i \i
674 \i \i    \\0 - 9  replaced with text which matched Nth \\*, \\?, \\c, \\+, or \\[..]    \|\i \i
675 \i \i    \\\\      replaced with \\               \\n     replaced with newline       \|\i \i
676 }
677
678 {Names
679 \i   Help Screen    \|turn off with ^KH    prev. screen ^[,    next screen ^[.     \i
680 \i \i Hit TAB at file name prompts to generate menu of file names                 \|\i \i
681 \i \i Or use up/down keys to access history of previously entered names           \|\i \i
682 \i \i Special file names:                                                         \|\i \i
683 \i \i      !command                 Pipe in/out of a shell command                \|\i \i
684 \i \i      >>filename               Append to a file                              \|\i \i
685 \i \i      -                        Read/Write to/from standard I/O               \|\i \i
686 \i \i      filename,START,SIZE      Read/Write a part of a file/device            \|\i \i
687 \i \i          Give START/SIZE in decimal (255), octal (0377) or hex (0xFF)       \|\i \i
688 }
689
690 {Joe
691 \i   Help Screen    \|turn off with ^KH    prev. screen ^[,                        \i
692 \i \i For bug reports and other information, refer to: \uhttp://mirbsd.de/jupp\u      \|\i \i
693 }
694
695  #HOOK#3 additional help screens
696
697 {CharTable
698 \i   Help Screen    turn off with ^J     prev. screen ^[,    \uCharacter Map\u       \i
699 \i \i Dec Hex  \u 0123 4567  89AB CDEF    0123 4567  89AB CDEF \u  Hex Dec            \i \i
700 \i \i         |                                              |                    \i \i
701 \i \i   0  00 | \u@ABC\u \uDEFG\u  \uHIJK\u \uLMNO\u    \80\81\82\83 \84\85\86\87  \88\89\8a\8b \8c\8d\8e\8f | 80  128            \i \i
702 \i \i  16  10 | \uPQRS\u \uTUVW\u  \uXYZ[\u \u\\]^_\u    \90\91\92\93 \94\95\96\97  \98\99\9a\9b \9c\9d\9e\9f | 90  144            \i \i
703 \i \i  32  20 |  !"# $%&'  ()*+ ,-./     ¡¢£ ¤¥¦§  ¨©ª« ¬­®¯ | A0  160            \i \i
704 \i \i  48  30 | 0123 4567  89:; <=>?    °±²³ ´µ¶·  ¸¹º» ¼½¾¿ | B0  176            \i \i
705 \i \i  64  40 | @ABC DEFG  HIJK LMNO    ÀÁÂàÄÅÆÇ  ÈÉÊË ÌÍÎÏ | C0  192            \i \i
706 \i \i  80  50 | PQRS TUVW  XYZ[ \\]^_    ÐÑÒÓ ÔÕÖ×  ØÙÚÛ ÜÝÞß | D0  208            \i \i
707 \i \i  96  60 | `abc defg  hijk lmno    àáâã äåæç  èéêë ìíîï | E0  224            \i \i
708 \i \i 112  70 | pqrs tuvw  xyz{ |}~\7f    ðñòó ôõö÷  øùúû üýþÿ | F0  240            \i \i
709 }
710
711 {Paste
712 \i                                                                               \i
713 \i \i \u\bPaste Mode\b\u     turn off with \b^D\b or \b^[[201~\b                                  \i \i
714 }
715
716  FOURTH SECTION: Key bindings:
717
718  Section names you must provide:
719
720         :main           For editing window
721         :prompt         For prompt lines
722         :query          For single-character query lines
723         :querya         Singe-character query for quote
724         :querysr        Search & Replace single-character query
725
726  Other sections may be given as well for organization purposes or for
727  use with the '-keymap' option.
728
729  Use:
730  :inherit name          To copy the named section into the current one
731  :delete key            To delete a key sequence from the current section
732
733  Keys:
734
735  Use ^@ through ^_ and ^? for Ctrl chars
736  Use SP for space
737  Use a TO b to generate a range of characters
738
739  You can also use termcap string capability names.  For example:
740
741         .ku             Up
742         .kd             Down
743         .kl             Left
744         .kr             Right
745         .kh             Home
746         .kH             End
747         .kI             Insert
748         .kD             Delete
749         .kP             PgUp
750         .kN             PgDn
751         .k1 - .k9       F1 - F9
752         .k0             F0 or F10
753         .k;             F10
754
755  Macros:
756
757  Simple macros can be made by comma seperating 2 or more command names.  For
758  example:
759
760  eof,bol        ^T Z            Goto beginning of last line
761
762  Also quoted matter is typed in literally:
763
764  bol,">",dnarw  .k1             Quote news article line
765
766  Macros may cross lines if they end with ,
767
768  Commands or named macros may be created with :def.  For example, you can
769  use:
770
771  :def foo eof,bol
772
773  To define a command foo which will goto the beginning of the last line.
774
775 :windows                Bindings common to all windows
776  #HOOK#4 common keybindings
777 type            ^@ TO ÿ         Type a character
778 abort           ^C              Abort window
779 abort           ^K Q
780 abort           ^K ^Q
781 abort           ^K q
782 arg             ^K \            Repeat next command
783 explode         ^K I            Show all windows or show only one window
784 explode         ^K ^I
785 explode         ^K i
786 help            ^K H            Help menu
787 help            ^K ^H
788 help            ^K h
789 hnext           ^[ .            Next help window
790 hprev           ^[ ,            Previous help window
791 math            ^[ m            Calculator
792 math            ^[ M            Calculator
793  math           ^[ ^M           Calculator
794 msg             ^[ h            Display a message
795 msg             ^[ H            Display a message
796 msg             ^[ ^H           Display a message
797 nextw           ^K N            Goto next window
798 nextw           ^K ^N
799 nextw           ^K n
800 pgdn            .kN             Screen down
801 pgdn            ^V
802 pgdn            ^[ [ 6 ~
803 pgup            .kP             Screen up
804 pgup            ^U
805 pgup            ^[ [ 5 ~
806 play            ^K 0 TO 9       Execute macro
807 prevw           ^K P            Goto previous window
808 prevw           ^K ^P
809 prevw           ^K p
810 query           ^K ?            Macro query insert
811 record          ^K [            Record a macro
812 retype          ^R              Refresh screen
813 rtn             ^M              Return
814 shell           ^K Z            Shell escape
815 shell           ^K ^Z
816 shell           ^K z
817 stop            ^K ]            Stop recording
818
819 :Paste
820 type                                    ^@ TO ÿ
821 rtn                                     ^M
822 msg,"Entered bracketed paste mode",rtn  ^[ [ 2 0 0 ~
823 helpcard,rtn,keymap,"main",rtn,msg,rtn  ^[ [ 2 0 1 ~
824 helpcard,rtn,keymap,"main",rtn          ^D
825
826 :Pastecua
827 type                                    ^@ TO ÿ
828 rtn                                     ^M
829 msg,"Entered bracketed paste mode",rtn  ^[ [ 2 0 0 ~
830 helpcard,rtn,keymap,"cua",rtn,msg,rtn   ^[ [ 2 0 1 ~
831 helpcard,rtn,keymap,"cua",rtn           ^D
832
833 :Pasteprompt
834 type                                    ^@ TO ÿ
835 nop                                     ^L
836 keymap,"prompt",rtn,msg,rtn,rtn         ^M
837 msg,"Entered bracketed paste mode",rtn  ^[ [ 2 0 0 ~
838 keymap,"prompt",rtn,msg,rtn             ^[ [ 2 0 1 ~
839 keymap,"prompt",rtn                     ^D
840
841 :main                   Text editing window
842 :inherit windows
843
844 helpcard,"Paste",rtn,keymap,"Paste",rtn ^[ [ 2 0 0 ~
845 nop                                     ^[ [ 2 0 1 ~
846
847  #HOOK#5 main keybindings
848
849  Spell-check macros
850
851  Ispell
852 :def ispellfile filt,"cat >ispell.tmp;ispell ispell.tmp </dev/tty >/dev/tty;cat ispell.tmp;/bin/rm ispell.tmp",rtn,retype
853 :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
854
855  Aspell
856 :def aspellfile filt,"SPLTMP=ispell.tmp;cat >$SPLTMP;aspell -x -c $SPLTMP </dev/tty >/dev/tty;cat $SPLTMP;/bin/rm $SPLTMP",rtn,retype
857 :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
858
859 @SPELL@file     ^[ l
860 @SPELL@word     ^[ n
861
862  Compile
863
864  :def compile switch,"*Build-Log*",rtn,markb,eof," ",markk,blkdel,filt,query,parserr
865
866 :def compile querysave,query,scratch,"* Build Log *",rtn,bof,markb,eof," ",markk,blkdel,build
867
868  Here we guess some common key sequences which either do not have termcap
869  sequences or which are frequently wrong.  Note that if the termcap entry is
870  correct, it will override these later on.
871
872 insc                    ^[ [ 2 ~
873 insc                    ^[ [ L                  SCO
874
875 delch                   ^[ [ 3 ~
876
877 pgup                    ^[ [ I          SCO
878
879 pgdn                    ^[ [ G          SCO
880
881 home                    ^[ [ 1 ~                Putty, Linux, Cygwin
882 home                    ^[ [ H                  Xterm, Konsole, SCO
883 home                    ^[ O H                  gnome-terminal
884 home                    ^[ [ 7 ~                RxVT
885
886 eol                     ^[ [ 4 ~                Putty, Linux, Cygwin, ssh
887 eol                     ^[ [ F                  Xterm, Konsole, SCO
888 eol                     ^[ O F                  gnome-terminal
889 eol                     ^[ [ 8 ~                RxVT
890
891 begin_marking,rtarw,toggle_marking      ^[ [ 1 ; 5 C    Mark right Xterm
892 begin_marking,rtarw,toggle_marking      ^[ [ 5 C        Mark right Gnome-terminal
893  (Almost all termcap entries have ^[ O C as an arrow key).
894  begin_marking,rtarw,toggle_marking     ^[ O C          Mark right Putty Ctrl-rtarw
895 begin_marking,rtarw,toggle_marking      ^[ O c          Mark right RxVT Ctrl-rtarw
896
897 begin_marking,ltarw,toggle_marking      ^[ [ 1 ; 5 D    Mark left
898 begin_marking,ltarw,toggle_marking      ^[ [ 5 D        Mark left
899  begin_marking,ltarw,toggle_marking     ^[ O D          Mark left Putty Ctrl-ltarw
900 begin_marking,ltarw,toggle_marking      ^[ O d          Mark left RxVT Ctrl-ltarw
901
902 begin_marking,uparw,toggle_marking      ^[ [ 1 ; 5 A    Mark up
903 begin_marking,uparw,toggle_marking      ^[ [ 5 A        Mark up
904  begin_marking,uparw,toggle_marking     ^[ O A          Mark up Putty Ctrl-uparw
905 begin_marking,uparw,toggle_marking      ^[ O a          Mark up RxVT Ctrl-uparw
906
907 begin_marking,dnarw,toggle_marking      ^[ [ 1 ; 5 B    Mark down
908 begin_marking,dnarw,toggle_marking      ^[ [ 5 B        Mark down
909  begin_marking,dnarw,toggle_marking     ^[ O B          Mark down Putty Ctrl-dnarw
910 begin_marking,dnarw,toggle_marking      ^[ O b          Mark down RxVT Ctrl-dnarw
911
912 blkdel,nmark   ^[ [ 3 ; 5 -     Gnome-terminal Ctrl-Del
913 blkdel,nmark   ^[ [ 3 ; 5 ~     Xterm Ctrl-Del
914
915 yank            ^[ [ 2 ; 5 -    Gnome-terminal Ctrl-Ins
916 yank            ^[ [ 2 ; 5 ~    Xterm Ctrl-Ins
917
918 begin_marking,uparw,toggle_marking      ^[ [ 1 ; 2 A    xterm shift-up mark
919 begin_marking,dnarw,toggle_marking      ^[ [ 1 ; 2 B    xterm shift-down mark
920 begin_marking,rtarw,toggle_marking      ^[ [ 1 ; 2 C    xterm shift-right mark
921 begin_marking,ltarw,toggle_marking      ^[ [ 1 ; 2 D    xterm shift-left mark
922 begin_marking,bol,toggle_marking        ^[ [ 1 ; 2 H    xterm shift-home
923 begin_marking,eol,toggle_marking        ^[ [ 1 ; 2 F    xterm shift-end
924 begin_marking,bof,toggle_marking        ^[ [ 1 ; 6 H    xterm shift-ctrl-home
925 begin_marking,eof,toggle_marking        ^[ [ 1 ; 6 F    xterm shift-ctrl-end
926
927  Extra functions not really part of JOE user interface:
928
929 delbol          ^[ o            Delete to beginning of line
930 delbol          ^[ ^O           Delete to beginning of line
931 dnslide         ^[ z            Scroll down one line
932 dnslide         ^[ Z            Scroll down one line
933 dnslide         ^[ ^Z           Scroll down one line
934 compile         ^[ c            Compile
935 compile         ^[ ^C           Compile
936 execmd          ^[ x            Prompt for command to execute
937 execmd          ^[ X            Prompt for command to execute
938 execmd          ^[ ^X           Prompt for command to execute
939 finish          ^[ ^I           Complete word in document
940 finish          ^[ ^M           Complete word: used to be math
941 isrch           ^[ s            Forward incremental search
942 isrch           ^[ S            Forward incremental search
943 isrch           ^[ ^S           Forward incremental search
944 notmod          ^[ ~            Not modified
945 nxterr          ^[ =            To next error
946 parserr         ^[ e            Parse errors in current buffer
947 parserr         ^[ E            Parse errors in current buffer
948 parserr         ^[ ^E           Parse errors in current buffer
949 prverr          ^[ -            To previous error
950 rsrch           ^[ r            Backward incremental search
951 rsrch           ^[ R            Backward incremental search
952 rsrch           ^[ ^R           Backward incremental search
953 run             ^[ !            Run a program in a window
954 tomarkb         ^[ b            Go to beginning of marked block
955 tomarkb         ^[ ^B           Go to beginning of marked block
956 tomarkk         ^[ k            Go to end of marked block
957 tomarkk         ^[ ^K           Go to end of marked block
958 tomarkk         ^[ K            Go to end of marked block
959 txt             ^[ i            Prompt for text and insert it
960 txt             ^[ I            Prompt for text and insert it
961 upslide         ^[ w            Scroll up one line
962 upslide         ^[ ^W           Scroll up one line
963 upslide         ^[ W            Scroll up one line
964 yank            ^[ y            Undelete text
965 yankpop         ^[ ^Y           Undelete text
966 yank            ^[ Y            Undelete text
967
968 toggle_marking  ^@              Ctrl-space block selection method
969                                 Ctrl-space used to insert a space
970
971  bufed          ^[ d            Menu of buffers
972 nbuf            ^[ v            Next buffer
973 nbuf            ^[ V            Next buffer
974 nbuf            ^[ ^V           Next buffer
975 pbuf            ^[ u            Prev buffer
976 pbuf            ^[ U            Prev buffer
977 pbuf            ^[ ^U           Prev buffer
978  query          ^[ q            Quoted insert
979  byte           ^[ n            Goto byte
980  col            ^[ c            Goto column
981  abortbuf       ^[ k            Kill current buffer- don't mess with windows
982  ask            ^[ a            Ask to save current buffer
983  bop            ^[ p            Backwards paragraph
984  bos            ^[ x            Bottom of screen
985  copy           ^[ ^W           Copy block into yank
986  dupw           ^[ \            Split window
987  eop            ^[ n            Forwards paragraph
988  format         ^[ j            Format paragraph ignore block
989  markl          ^[ l            Mark line
990  nmark          ^[ @            Turn off ^KB ^KK
991  pop            ^[ >            Pop ^KB ^KK
992  psh            ^[ <            Push ^KB ^KK
993  swap           ^[ x            Swap ^KB and cursor
994  tomarkbk       ^[ g            Switch between beginning and end of marked
995  tos            ^[ e            Top of screen
996  tw0            ^[ 0            Kill current window (orphans buffer)
997  tw1            ^[ 1            Kill all other windows (orphans buffers)
998  uarg           ^[ u            Universal argument
999  yank           ^[ ^Y           Undelete previous text
1000  yapp           ^[ w            Append next delete to previous yank
1001
1002  Standard JOE user interface
1003
1004 quote8          ^\              Enter Meta chars
1005 quote           `               Enter Ctrl chars
1006
1007 backs           ^?              Backspace
1008 backs           ^H
1009 backw           ^O              Backspace word
1010 bknd            ^K '            Shell window
1011 blkcpy          ^K C            Copy marked block
1012 blkcpy          ^K ^C
1013 blkcpy          ^K c
1014 blkdel          ^K Y            Delete marked block
1015 blkdel          ^K ^Y
1016 blkdel          ^K y
1017 blkmove         ^K M            Move marked block
1018 blkmove         ^K ^M
1019 blkmove         ^K m
1020 blksave         ^K W            Save marked block
1021 blksave         ^K ^W
1022 blksave         ^K w
1023 bof             ^K U            Goto beginning of file
1024 bof             ^K ^U
1025 bof             ^K u
1026  bol            .kh             Goto beginning of line
1027  bol            ^A
1028 home            .kh
1029 home            ^A
1030 center          ^K A            Center line
1031 center          ^K ^A
1032 center          ^K a
1033 crawll          ^K <            Pan left
1034 crawlr          ^K >            Pan right
1035 delch           .kD             Delete character
1036 delch           ^D
1037 deleol          ^J              Delete to end of line
1038 dellin          ^Y              Delete entire line
1039 delw            ^W              Delete word to right
1040 dnarw           .kd             Go down
1041 dnarw           ^N
1042 dnarw           ^[ O B
1043 dnarw           ^[ [ B
1044 edit            ^K E            Edit a file
1045 edit            ^K ^E
1046 edit            ^K e
1047 eof             ^K V            Go to end of file
1048 eof             ^K ^V
1049 eof             ^K v
1050 eol             .kH             Go to end of line
1051 eol             .@7
1052 eol             ^E
1053 exsave          ^K X            Save and exit
1054 exsave          ^K ^X
1055 exsave          ^K x
1056 ffirst          ^K F            Find first
1057 ffirst          ^K ^F
1058 ffirst          ^K f
1059 filt            ^K /            Filter block
1060  finish         ^K ^M           Complete text under cursor
1061 fnext           ^L              Find next
1062 fmtblk          ^K J            Format paragraphs in block
1063 fmtblk          ^K ^J
1064 fmtblk          ^K j
1065 gomark          ^[ 0 TO 9       Goto bookmark
1066 groww           ^K G            Grow window
1067 groww           ^K ^G
1068 groww           ^K g
1069 insc            .kI             Insert a space
1070  insc           ^@
1071 insf            ^K R            Insert a file
1072 insf            ^K ^R
1073 insf            ^K r
1074 lindent         ^K ,            Indent to left
1075 line            ^K L            Goto line no.
1076 line            ^K ^L
1077 line            ^K l
1078 ltarw           .kl             Go left
1079 ltarw           ^B
1080 ltarw           ^[ O D
1081 ltarw           ^[ [ D
1082 macros          ^[ d            Dump keyboard macros
1083 macros          ^[ ^D
1084 markb           ^K B            Set beginning of marked block
1085 markb           ^K ^B
1086 markb           ^K b
1087 markk           ^K K            Set end of marked block
1088 markk           ^K ^K
1089 markk           ^K k
1090 mode            ^T              Options menu
1091 nextpos         ^K =            Goto next position in position history
1092 nextword        ^X              Goto next word
1093 open            ^]              Split line
1094 prevpos         ^K -            Previous position in history
1095 prevword        ^Z              Previous word
1096 redo            ^^              Redo changes
1097 rindent         ^K .            Indent to right
1098 rtarw           .kr             Go right
1099 rtarw           ^F
1100 rtarw           ^[ O C
1101 rtarw           ^[ [ C
1102 run             ^K !            Run a shell command
1103 save            ^K D            Save file
1104 save            ^K S
1105 save            ^K ^D
1106 save            ^K ^S
1107 save            ^K d
1108 save            ^K s
1109 setmark         ^[ ^[           Set bookmark
1110 shrinkw         ^K T            Shrink window
1111 shrinkw         ^K ^T
1112 shrinkw         ^K t
1113 splitw          ^K O            Split window
1114 splitw          ^K ^O
1115 splitw          ^K o
1116 stat            ^K SP           Show status
1117 tag             ^K ;            Tags file search
1118 tomatch         ^G              Goto matching parenthasis
1119 undo            ^_              Undo changes
1120 uparw           .ku             Go up
1121 uparw           ^P
1122 uparw           ^[ O A
1123 uparw           ^[ [ A
1124
1125 :prompt                 Prompt windows
1126 :inherit main
1127 complete        ^I
1128 nop             ^L
1129 keymap,"Pasteprompt",rtn,msg,"Entered bracketed paste mode",rtn ^[ P
1130 keymap,"Pasteprompt",rtn,msg,"Entered bracketed paste mode",rtn ^[ p
1131 keymap,"Pasteprompt",rtn,msg,"Entered bracketed paste mode",rtn ^[ [ 2 0 0 ~
1132
1133 :menu                   Selection menus
1134 :inherit windows
1135
1136 pgupmenu                        ^[ [ I
1137
1138 pgdnmenu                        ^[ [ G
1139
1140 bolmenu                 ^[ [ 1 ~                Putty, Linux, Cygwin
1141 bolmenu                 ^[ [ H                  Xterm, Konsole
1142 bolmenu                 ^[ O H                  gnome-terminal
1143 bolmenu                 ^[ [ 7 ~                RxVT
1144
1145 eolmenu                 ^[ [ 4 ~                Putty, Linux, Cygwin, ssh
1146 eolmenu                 ^[ [ F                  Xterm, Konsole
1147 eolmenu                 ^[ O F                  gnome-terminal
1148 eolmenu                 ^[ [ 8 ~                RxVT
1149
1150 abort           ^[ ^[
1151 backsmenu       ^?
1152 backsmenu       ^H
1153 bofmenu         ^K U
1154 bofmenu         ^K ^U
1155 bofmenu         ^K u
1156 bolmenu         .kh
1157 bolmenu         ^A
1158 dnarwmenu       .kd
1159 dnarwmenu       ^N
1160 dnarwmenu       ^[ [ B
1161 dnarwmenu       ^[ O B
1162 eofmenu         ^K V
1163 eofmenu         ^K ^V
1164 eofmenu         ^K v
1165 eolmenu         .kH
1166 eolmenu         ^E
1167 ltarwmenu       .kl
1168 ltarwmenu       ^B
1169 ltarwmenu       ^[ [ D
1170 ltarwmenu       ^[ O D
1171 pgdnmenu        .kN             Screen down
1172 pgdnmenu        ^V
1173 pgdnmenu        ^[ [ 6 ~
1174 pgupmenu        .kP             Screen up
1175 pgupmenu        ^U
1176 pgupmenu        ^[ [ 5 ~
1177 rtarwmenu       .kr
1178 rtarwmenu       ^F
1179 rtarwmenu       ^[ [ C
1180 rtarwmenu       ^[ O C
1181 rtn             SP
1182 rtn             ^I
1183 rtn             ^K H
1184 rtn             ^K h
1185 rtn             ^K ^H
1186 tabmenu         ^I
1187 uparwmenu       .ku
1188 uparwmenu       ^P
1189 uparwmenu       ^[ [ A
1190 uparwmenu       ^[ O A
1191
1192 :query                  Single-key query window
1193 :inherit windows
1194
1195 :querya                 Single-key query window for quoting
1196 type            ^@ TO ÿ
1197
1198 :querysr                Search & replace query window
1199 type            ^@ TO ÿ
1200
1201 :cua                    Undo/Cut/Copy/Paste, CUA style
1202 :inherit main
1203  #HOOK#6 extra keybindings in CUA mode
1204 undo            ^Z
1205 blkdel,nmark    ^X
1206 copy            ^C
1207 yank            ^V
1208 helpcard,"Paste",rtn,keymap,"Pastecua",rtn      ^[ P
1209 helpcard,"Paste",rtn,keymap,"Pastecua",rtn      ^[ p
1210 helpcard,"Paste",rtn,keymap,"Pastecua",rtn      ^[ [ 2 0 0 ~