1
2                         Initialization file for JOE
3                                 Super Pico
4
5 JOE looks for this file in:
6	1 - $HOME/.jpicorc
7	2 - @JOERC@/jpicorc
8
9 This file can include other files by placing the following include command
10 in the first column:
11
12 :include filename
13
14 FIRST SECTION: Default global options (these options can also be specified
15 on the command line.  Also the NOXON, LINES, COLUMNS, DOPADDING and BAUD
16 options can be specified in environment variables):
17
18 Put each option you want set in the first column:
19
20 -option	Sets the option
21 --option	Clears the option
22
23 -help_is_utf8	Set if help text is in UTF-8 format.  Leave clear if it's a raw 8-bit format.
24
25 -mid		Cursor is recentered when scrolling is necessary
26 -left nn	Amount to jump left when scrolling is necessary (-1 for 1/4 width)
27 -right nn	Amount to jump right when scrolling is necessary (-1 for 1/4 width)
28
29-marking	Text between ^KB and cursor is highlighted (use with -lightoff)
30
31-lightoff	Turn off highlighting after block copy or move
32
33 -asis		Characters 128 - 255 shown as-is
34
35-force		Force final newline when files are saved
36
37 -nolocks	If you don't want file locks to be used
38
39 -nomodcheck	Disable periodic checking of disk file newer than buffer
40		(this checking happens on save even with this option).
41
42 -nocurdir	Do not prompt with current directory
43
44 -nobackups	If you don't want backup files to be created
45
46 -nodeadjoe	If you don't want DEADJOE files to be created
47
48 -break_hardlinks
49		Delete file before writing, to break hard links
50		(but don't break symbolic links).
51
52 -break_links
53		Delete file before writing, to break hard links
54		and symbolic links.
55
56-exask		^KX always confirms file name
57
58-beep		Beep on errors and when cursor goes past extremes
59
60 -nosta		Disable top-most status line
61
62 -keepup	%k and %c status line escape sequences updated frequently
63
64 -pg nnn	No. lines to keep for PgUp/PgDn
65
66 -undo_keep nnn	Number of undo records to keep.  0 for infinite.
67
68 -csmode	^KF after a pervious search does a ^L instead
69
70 -backpath path
71		Directory to store backup files (one space between 'backpath' and
72		the 'path', no trailing spaces or comments after the path).
73
74 -floatmouse	Clicking past end of line moves the cursor past the end
75
76 -rtbutton	Use the right mouse button for action, instead of the left
77
78 -nonotice	Disable copyright notice
79
80 -noexmsg	Disable exiting message ("File not changed so no updated needed")
81
82 -noxon		Attempt to turn off ^S/^Q processing
83
84 -orphan	Put extra files given on command line in orphaned buffers
85		instead of in windows
86
87 -dopadding	Output pad characters (for when there is no tty handshaking)
88
89 -lines nnn	Set no. screen lines
90
91 -baud nnn	Set baud rate for terminal optimizations
92
93 -columns nnn	Set no. screen columns
94
95-helpon		Start with help on
96
97 -skiptop nnn	Don't use top nnn lines of the screen
98
99-notite         Don't send terminal initialization and termination strings: prevents
100                restoration of screen on exit.
101
102 -nolinefeeds	Prevent sending linefeeds to preserve screen history in terminal
103                emulator's scroll-back buffer.
104
105 -usetabs       Use tabs to help optimize screen update.
106
107-assume_color	Assume terminal has ANSI color support even if termcap/terminfo entry
108		says that it doesn't.  This only applies if the terminal otherwise
109		looks like an ANSI terminal (support bold and capability starts with
110		ESC [).
111
112-assume_256color
113		Assume terminal has xterm 256 color support (ESC [ 38 ; 5 ; NNN m and
114                ESC [ 48 ; 5 ; NNN m).
115
116-guess_non_utf8	Allow guess of non-UTF-8 file encoding in a UTF-8 locale.
117
118 -guess_utf8	Allow guess of UTF-8 file encoding in non-UTF-8 locale.
119
120-guess_utf16	Allow guess of UTF-16 encoding
121
122-guess_crlf     Automatically detect MS-DOS files and set -crlf appropriately
123
124-guess_indent	Guess indent character (tab or space).
125
126-menu_above	Position menu/list above prompt when enabled.  Otherwise position
127		below prompt.
128
129-transpose	Transpose rows with columns in all menus.
130
131 -menu_explorer Stay in menu system when a directory is selected (otherwise
132                directory is added to path and menu is closed).
133
134 -menu_jump	Jump into file selection menu when tab is hit (otherwise, menu
135		comes up, but cursor stays in file name prompt).
136
137 -icase         Search is case insensitive by default.
138
139 -wrap          Search wraps
140
141-autoswap	Swap markb with markk when necessary
142
143-joe_state     Use ~/.joe_state file
144
145 -mouse		Enable mouse support
146
147 -joexterm	If you are using Joe's modified Xterm, which makes -mouse
148		mode work better (cut & paste work transparently).
149
150-brpaste	When JOE starts, send command to the terminal emulator that
151		enables "bracketed paste mode" (but only if the terminal
152		seems to have the ANSI command set).  In this mode, text
153		pasted into the window is bracketed with ESC [ 2 0 0 ~ and
154		ESC [ 2 0 1 ~.
155
156-pastehack	If keyboard input comes in as one block assume it's a mouse
157		paste and disable autoindent and wordwrap.
158
159 -square	Rectangular block mode
160
161 -colors scheme
162		Set the default color scheme
163
164-restore	Restore previous cursor position when files are opened
165
166-search_prompting
167		Search prompts with previous search request.
168
169 -regex		Search uses standard regular expression format (otherwise it uses
170		JOE format where all special characters have to be escaped).
171
172 Status line definition strings.  -lmsg defines the left-justified string and
173 -rmsg defines the right-justified string.  The first character of -rmsg is
174 the background fill character.  The following escape sequences can be used
175 in these strings:
176
177  %t  12 hour time
178  %u  24 hour time
179  %T  O for overtype mode, I for insert mode
180  %W  W if wordwrap is enabled
181  %I  A if autoindent is enabled
182  %X  Rectangle mode indicator
183  %n  File name
184  %m  '(Modified)' if file has been changed
185  %*  '*' if file has been changed
186  %R  Read-only indicator
187  %r  Row (line) number
188  %c  Column number
189  %o  Byte offset into file
190  %O  Byte offset into file in hex
191  %a  Ascii value of character under cursor
192  %A  Ascii value of character under cursor in hex
193  %w  Width of character under cursor
194  %p  Percent of file cursor is at
195  %l  No. lines in file
196  %k  Entered prefix keys
197  %S  '*SHELL*' if there is a shell running in window
198  %M  Macro recording message
199  %y  Syntax
200  %e  Encoding
201  %x  Context (first non-indented line going backwards)
202  %dd day
203  %dm month
204  %dY year
205  %Ename%  value of environment variable
206  %Tname%  value of option (ON or OFF for boolean options)
207
208 These formatting escape sequences may also be given:
209
210  \i  Inverse
211  \u  Underline
212  \b  Bold
213  \d  Dim
214  \f  Blink
215  \l  Italic
216
217-lmsg \i%k%T%W%I%X %n %m%y%R %M
218-rmsg  %S Row %4r Col %3c %t  Ctrl-G for help
219-smsg ** Line %r Col %c Offset %o(0x%O) %e %a(0x%A) Width %w **
220-zmsg ** Line %r Col %c Offset %o(0x%O) **
221-xmsg \i Joe's Own Editor %v (%b)\i
222
223 Key sequence hints which are displayed in various prompts.
224-aborthint ^C
225-helphint ^G
226
227
228 SECOND SECTION: File name dependant local option settings:
229
230 Each line with '*' in the first column indicates the modes which should be
231 set for files which match the regular expression.  If more than one regular
232 expression matches the file name, then the last matching one is chosen.
233
234 Here are the modes which can be set:
235
236	-cpara >#!;*/%
237				Characters which can indent paragraphs.
238
239	-cnotpara .
240				Characters which begin non-paragraph lines.
241
242
243	-encoding name
244				Set file coding (for example: utf-8, iso-8859-15)
245
246	-syntax name
247				Specify syntax (syntax file called
248				'name.jsf' will be loaded)
249
250	-hex			Hex editor mode
251
252	-highlight		Enable highlighting
253
254	-smarthome		Home key first moves cursor to beginning of line,
255				then if hit again, to first non-blank character.
256
257	-indentfirst		Smart home goes to first non-blank character first,
258				instead of going the beginning of line first.
259
260	-smartbacks		Backspace key deletes 'istep' number of
261				'indentc's if cursor is at first non-space
262				character.
263
264	-tab nnn		Tab width
265
266	-indentc nnn		Indentation character (32 for space, 9 for tab)
267
268	-istep nnn		Number of indentation columns
269
270	-spaces			TAB inserts spaces instead of tabs.
271
272	-purify			Fix indentation if necessary for rindent, lindent and backs
273				(for example if indentation uses a mix of tabs and spaces,
274				and indentc is space, indentation will be converted to all
275				spaces).
276
277	-crlf			File uses CR-LF at ends of lines
278
279	-wordwrap		Wordwrap
280
281	-nobackup		If you don't want backup file to be created
282
283	-autoindent		Auto indent
284
285	-overwrite		Overtype mode
286
287        -picture                Picture mode (right arrow can go past end of lines)
288
289	-lmargin nnn		Left margin
290
291	-rmargin nnn		Right margin
292
293	-flowed			Put one space after intermediate paragraph lines
294				for support of flowed text.
295
296
297	-french			One space after '.', '?' and '!' for wordwrap
298				and paragraph reformat instead of two.  Joe
299				does not change the spacing you give, but
300				sometimes it must put spacing in itself.  This
301				selects how much is inserted.
302
303	-linums			Enable line numbers on each line
304
305	-hiline			Highlight current line
306
307	-rdonly			File is read-only
308
309	-keymap name
310				Keymap to use if not 'main'
311
312	-lmsg			Status line definition strings-
313	-rmsg			see previous section for more info.
314
315	-mfirst macro
316				Macro to execute on first modification
317	-mnew macro
318				Macro to execute when new files are loaded
319	-mold macro
320				Macro to execute when existing files are loaded
321	-msnew macro
322				Macro to execute when new files are saved
323	-msold macro
324				Macro to execute when existing files are saved
325
326	Macros for the above options are in the same format as in the key
327	binding section below- but without the key name strings.
328
329	These define the language syntax for ^G (goto matching delimiter):
330
331	-highlighter_context	Use the highlighter context for ^G
332
333	-single_quoted		Text between '  ' should be ignored (this is
334				not good for regular text since ' is
335				normally used alone as an apostrophe)
336
337	-c_comment		Text between /* */ should be ignored
338
339	-cpp_comment		Text after // should be ignored
340
341	-pound_comment		Text after # should be ignored
342
343	-vhdl_comment		Text after -- should be ignored
344
345	-semi_comment		Text after ; should be ignored
346
347	-text_delimiters begin=end:if=elif=else=endif
348
349				Define word delimiters
350
351 Default local options
352-highlight
353-istep 4
354
355 Use this macro (put in first column) to have joe "p4 edit" a file you're about to change.
356
357 -mfirst if,"rdonly && joe(sys,\"p4 edit \",name,rtn)",then,mode,"o",msg,"executed \"p4 edit ",name,"\"",rtn,endif
358
359 File type table is now in a separate file.  You can copy this file to ~/.joe and customize it.
360
361:include ftyperc
362
363 SECOND and 1/2 SECTION: Option menu layout
364
365	:defmenu name [macro]
366			Defines a menu.
367			The macro here is executed when the user hits backspace.
368
369	macro string comment
370			A menu entry.  Macro is any JOE macro- see "Macros:"
371			below. String is the label to be used for the macro
372			in the menu.  It is in the same format as the -lmsg
373			and -rmsg options above.
374
375			Two whitespace characters in a row begins a comment.
376			Use '% ' for a leading space in the string.
377
378:defmenu root
379mode,"overwrite",rtn	T Overtype %Zoverwrite%
380mode,"hex",rtn	' Hex edit mode
381mode,"autoindent",rtn	I Autoindent %Zautoindent%
382mode,"wordwrap",rtn	W Word wrap %Zwordwrap%
383mode,"tab",rtn	D Tab width %Ztab%
384mode,"lmargin",rtn	L Left margin %Zlmargin%
385mode,"rmargin",rtn	R Right margin %Zrmargin%
386mode,"square",rtn	X Column mode %Zsquare%
387mode,"indentc",rtn	% % Indent char %Zindentc%
388mode,"istep",rtn	% % Indent step %Zistep%
389menu,"indent",rtn	= Indent select
390mode,"highlight",rtn	H Highlighting %Zhighlight%
391mode,"crlf",rtn	Z CR-LF/MS-DOS %Zcrlf%
392mode,"linums",rtn	N Line numbers %Zlinums%
393mode,"hiline",rtn	U Highlight line %Zhiline%
394mode,"beep",rtn	B Beep %Zbeep%
395mode,"rdonly",rtn	O Read only %Zrdonly%
396mode,"syntax",rtn	Y Syntax
397mode,"colors",rtn	S Color scheme
398mode,"encoding",rtn	E Encoding
399mode,"asis",rtn	% % Meta chars as-is
400mode,"language",rtn	V Language
401mode,"picture",rtn	P picture %Zpicture%
402mode,"type",rtn		F File type [%Ztype%]
403mode,"title",rtn	C Context %Ztitle%
404menu,"more-options",rtn	  % % More options...
405
406:defmenu more-options menu,"root",rtn
407menu,"^G",rtn	% % ^G options
408menu,"search",rtn	% % search options
409menu,"paragraph",rtn	% % paragraph options
410menu,"file",rtn	% % file options
411menu,"menu",rtn	% % menu options
412menu,"global",rtn	% % global options
413menu,"cursor",rtn	% % cursor options
414menu,"marking",rtn	% % marking options
415menu,"tab",rtn	% % tab/indent options
416
417:defmenu indent menu,"root",rtn
418mode,"istep",rtn,"1",rtn,mode,"indentc",rtn,"32",rtn,msg,"Indent step = 1, Indent character = 32",rtn	1 Space
419mode,"istep",rtn,"2",rtn,mode,"indentc",rtn,"32",rtn,msg,"Indent step = 2, Indent character = 32",rtn	2 Spaces
420mode,"istep",rtn,"3",rtn,mode,"indentc",rtn,"32",rtn,msg,"Indent step = 3, Indent character = 32",rtn	3 Spaces
421mode,"istep",rtn,"4",rtn,mode,"indentc",rtn,"32",rtn,msg,"Indent step = 4, Indent character = 32",rtn	4 Spaces
422mode,"istep",rtn,"5",rtn,mode,"indentc",rtn,"32",rtn,msg,"Indent step = 5, Indent character = 32",rtn	5 Spaces
423mode,"istep",rtn,"8",rtn,mode,"indentc",rtn,"32",rtn,msg,"Indent step = 8, Indent character = 32",rtn	8 Spaces
424mode,"istep",rtn,"10",rtn,mode,"indentc",rtn,"32",rtn,msg,"Indent step = 10, Indent character = 32",rtn	0 Ten
425mode,"istep",rtn,"1",rtn,mode,"indentc",rtn,"9",rtn,msg,"Indent step = 1, Indent character = 9",rtn	T Tab
426
427:defmenu menu menu,"more-options",rtn
428mode,"menu_explorer",rtn	% % Menu explorer %Zmenu_explorer%
429mode,"menu_above",rtn	% % Menu position %Zmenu_above%
430mode,"menu_jump",rtn	% % Jump into menu %Zmenu_jump%
431mode,"transpose",rtn	% % Transpose menus %Ztranspose%
432
433:defmenu ^G menu,"more-options",rtn
434mode,"highlighter_context",rtn	% % ^G uses highlighter context %Zhighlighter_context%
435mode,"single_quoted",rtn	% % ^G ignores '...' %Zsingle_quoted%
436mode,"no_double_quoted",rtn	% % ^G no ignore "..." %Zno_double_quoted%
437mode,"c_comment",rtn	% % ^G ignores /*...*/ %Zc_comment%
438mode,"cpp_comment",rtn	% % ^G ignores //... %Zcpp_comment%
439mode,"pound_comment",rtn	% % ^G ignores #... %Zpound_comment%
440mode,"vhdl_comment",rtn	% % ^G ignores --... %Zvhdl_comment%
441mode,"semi_comment",rtn	% % ^G ignores ;... %Zsemi_comment%
442mode,"tex_comment",rtn % % ^G ignores %%... %Ztex_comment%
443mode,"text_delimiters",rtn % % Text delimiters %Ztext_delimiters%
444
445:defmenu search menu,"more-options",rtn
446mode,"icase",rtn	% % Case insensitivity %Zicase%
447mode,"wrap",rtn	% % Search wraps %Zwrap%
448mode,"search_prompting",rtn	% % Search prompting %Zsearch_prompting%
449mode,"csmode",rtn	% % Continued search %Zcsmode%
450
451:defmenu paragraph menu,"more-options",rtn
452mode,"french",rtn	% % French spacing %Zfrench%
453mode,"flowed",rtn	% % Flowed text %Zflowed%
454mode,"cpara",rtn	% % Paragraph indent chars %Zcpara%
455mode,"cnotpara",rtn	% % Not-paragraph chars %Zcnotpara%
456
457:defmenu file menu,"more-options",rtn
458mode,"restore",rtn	% % Restore cursor %Zrestore%
459mode,"guess_crlf",rtn	% % Auto detect CR-LF %Zguess_crlf%
460mode,"guess_indent",rtn	% % Guess indent %Zguess_indent%
461mode,"guess_non_utf8",rtn	% % Guess non-UTF-8 %Zguess_non_utf8%
462mode,"guess_utf8",rtn	% % Guess UTF-8 %Zguess_utf8%
463mode,"guess_utf16",rtn	% % Guess UTF-16 %Zguess_utf16%
464mode,"force",rtn	% % Force last NL %Zforce%
465mode,"nobackup",rtn	% % No backup %Znobackup%
466
467:defmenu global menu,"more-options",rtn
468mode,"nolocks",rtn	% % Disable locks %Znolocks%
469mode,"nobackups",rtn	% % Disable backups %Znobackups%
470mode,"nodeadjoe",rtn	% % Disable DEADJOE %Znodeadjoe%
471mode,"nomodcheck",rtn	% % Disable mtime check %Znomodcheck%
472mode,"nocurdir",rtn	% % Disable current dir %Znocurdir%
473mode,"exask",rtn	% % Exit ask %Zexask%
474mode,"nosta",rtn	% % Disable status line %Znosta%
475mode,"keepup",rtn	% % Fast status line %Zkeepup%
476mode,"break_hardlinks",rtn	% % Break hard links %Zbreak_hardlinks%
477mode,"break_links",rtn	% % Break links %Zbreak_links%
478mode,"joe_state",rtn	% % Joe_state file %Zjoe_state%
479mode,"undo_keep",rtn	% % No. undo records %Zundo_keep%
480mode,"backpath",rtn	% % Path to backup files %Zbackpath%
481
482:defmenu cursor menu,"more-options",rtn
483mode,"pg",rtn	% % No. PgUp/PgDn lines %Zpg%
484mode,"mid",rtn	C Center on scroll %Zmid%
485mode,"left",rtn	L Columns to scroll left %Zleft%
486mode,"right",rtn R Columns to scroll right %Zright%
487mode,"floatmouse",rtn	% % Click past end %Zfloatmouse%
488mode,"rtbutton",rtn	% % Right button %Zrtbutton%
489
490:defmenu marking menu,"more-options",rtn
491mode,"autoswap",rtn	% % Autoswap mode %Zautoswap%
492mode,"marking",rtn	% % Marking %Zmarking%
493mode,"lightoff",rtn	% % Auto unmask %Zlightoff%
494
495:defmenu tab menu,"more-options",rtn
496mode,"smarthome",rtn	% % Smart home key %Zsmarthome%
497mode,"smartbacks",rtn	% % Smart backspace %Zsmartbacks%
498mode,"indentfirst",rtn	% % To indent first %Zindentfirst%
499mode,"purify",rtn	% % Clean up indents %Zpurify%
500mode,"spaces",rtn	% % No tabs %Zspaces%
501
502 THIRD SECTION: Named help screens:
503
504 Use \i to turn on/off inverse video
505 Use \u to turn on/off underline
506 Use \b to turn on/off bold
507 Use \d to turn on/off dim
508 Use \f to turn on/off flash
509 Use \l to turn on/off italic
510
511{Basic
512\|\b^K\b cut line \|   \b^W\b find first \|\b^J\b justify \|   \b^X\b save or discard, exit \|
513\|\b^U\b paste    \| \b^W^W\b find next  \|\b^T\b spell   \|\bEsc .\b for more help         \|
514}
515
516{Basic1
517\i   Help Screen    \|turn off with ^G     prev. screen ^[,    next screen ^[.     \i
518\i \i\|\uCURSOR\u           \|\uGO TO\u            \|\uBLOCK\u      \|\uDELETE\u    \|\uMISC\u         \|\uEXIT\u     \|\i \i
519\i \i\|^B left ^F right \|^W^Y top of file \|^^  mark   \|^D  char  \|^J   format  \|^X save  \|\i \i
520\i \i\|^P up   ^N down  \|^W^V end of file \|^K  cut    \|^K  line  \|^T   spell   \|^C status\|\i \i
521\i \i\|^Y prev. screen  \|^A  beg. of line \|^U  paste  \|^[K >line \|^[T  file    \|^[Z shell\|\i \i
522\i \i\|^V next screen   \|^E  end of line  \|^[U cycle  \|^[H word< \|^L   refresh \|\uFILE\u     \|\i \i
523\i \i\|^Z prev. word    \|^W^T line No.    \|^O  save   \|^[D >word \|^[^[ options \|^O save  \|\i \i
524\i \i\|^SPACE next word \|^W find ^W^W next\|^[/ filter \|^[- undo  \|^[=  redo    \|^R insert\|\i \i
525}
526
527{Advanced
528\i   Help Screen    \|turn off with ^G     prev. screen ^[,    next screen ^[.     \i
529\i \i\|\uMACROS\u         \|\uWINDOW\u          \|\uWINDOW\u     \|\uSHELL\u         \|\uMISC\u                 \|\i \i
530\i \i\|^[( 0-9 Record \|^[O Split       \|^[G Grow   \|^[! Command   \|^[X Execute command  \|\i \i
531\i \i\|^[)     Stop   \|^[E Edit file   \|^[J Shrink \|^[' Window    \|^[M Math             \|\i \i
532\i \i\|^[ 0-9  Play   \|^[P Goto prev.  \|\uQUOTE\u      \|\uI-SEARCH\u      \|^[C Center line      \|\i \i
533\i \i\|^[?     Query  \|^[N Goto next   \|`  Ctrl-   \|^[R Backwards \|^[] to matching ( [ {\|\i \i
534\i \i\|^[\\     Repeat \|^[I Zoom in/out \|^\\ Meta-   \|^[S Forwards  \|^[< ^[> pan left/rght\|\i \i
535}
536
537{Search
538\i   Help Screen    \|turn off with ^KH    prev. screen ^[,    next screen ^[.     \i
539\i \iSearch sequences:                                                            \|\i \i
540\i \i    \\^  \\$  matches beg./end of line       \\.     match any single char      \|\i \i
541\i \i    \\<  \\>  matches beg./end of word       \\!     match char or expression   \|\i \i
542\i \i    \\(  \\)  grouping                       \\|     match left or right         \|\i \i
543\i \i    \\[a-z]  matches one of a set                                             \|\i \i
544\i \i    \\{1,3}  match 1 - 3 occurrences        \\?     match 0 or 1 occurrence     \|\i \i
545\i \i    \\+      match 1 or more occurrences    \\*     match 0 or more occurrences \|\i \i
546\i \iReplace sequences:                                                           \|\i \i
547\i \i    \\&      replaced with entire match     \\1 - 9 replaced with Nth group   \|\i \i
548\i \i    \\u \\l   convert next to upper/lower    \\U \\L  case convert until \\E     \|\i \i
549}
550
551{Escape sequences
552\i   Help Screen    \|turn off with ^KH    prev. screen ^[,    next screen ^[.     \i
553\i \iEscape sequences: \\x{10fff}  Unicode code point   \\p{Ll}  Unicode category \|\i \i
554\i \i    \\i / \\I  Identifier start      \\t  tab          \\e  escape               \|\i \i
555\i \i    \\c / \\C  Identifier continue   \\n  newline      \\r  carriage return      \|\i \i
556\i \i    \\d / \\D  Digit / Not a digit   \\b  backspace  \\xFF  hex character        \|\i \i
557\i \i    \\w / \\W  Word / Not a word     \\a  alert      \\377  octal character      \|\i \i
558\i \i    \\s / \\S  Space / Not a space   \\f  formfeed     \\\\  backslash            \|\i \i
559}
560
561{SearchOptions
562\i   Help Screen    \|turn off with ^KH    prev. screen ^[,    next screen ^[.     \i
563\i \iSearch options:                                                              \|\i \i
564\i \i     r Replace      k Restrict search to highlighted block                   \|\i \i
565\i \i     i Ignore case  b Search backwards instead of forwards                   \|\i \i
566\i \i                    a Search across all loaded files                         \|\i \i
567\i \i                    e Search across all files in Grep or Compile error list  \|\i \i
568\i \i w / n  Allow / prevent wrap to start of file                                \|\i \i
569\i \i x / y  Search text is standard format / JOE format regular expression       \|\i \i
570\i \i   nnn  Perform exactly nnn replacements                                     \|\i \i
571}
572
573{Math
574\i   Help Screen    \|turn off with ^G     prev. screen ^[,    next screen ^[.     \i
575\i \i \uCOMMANDS\u (hit ESC m for math)  \uFUNCTIONS\u                                    \|\i \i
576\i \i     hex hex display mode       sin cos tab asin acos atan                   \|\i \i
577\i \i     dec decimal mode           sinh cosh tanh asinh acosh atanh             \|\i \i
578\i \i     ins type result into file  sqrt cbrt exp ln log                         \|\i \i
579\i \i    eval evaluate block         int floor ceil abs erg ergc                  \|\i \i
580\i \i    0xff enter number in hex    joe(..macro..) - runs an editor macro        \|\i \i
581\i \i    3e-4 floating point decimal \uBLOCK\u                                        \|\i \i
582\i \i    a=10 assign a variable      sum cnt  Sum, count                          \|\i \i
583\i \i 2+3:ins multiple commands      avg dev  Average, std. deviation             \|\i \i
584\i \i    e pi constants              \uOPERATORS\u                                    \|\i \i
585\i \i     ans previous result        ! ^  * / %  + -  < <= > >= == !=  &&  ||  ? :\|\i \i
586}
587
588{Names
589\i   Help Screen    \|turn off with ^G     prev. screen ^[,    next screen ^[.     \i
590\i \i Hit TAB at file name prompts to generate menu of file names                 \|\i \i
591\i \i Or use up/down keys to access history of previously entered names           \|\i \i
592\i \i Special file names:                                                         \|\i \i
593\i \i      !command                 Pipe in/out of a shell command                \|\i \i
594\i \i      >>filename               Append to a file                              \|\i \i
595\i \i      -                        Read/Write to/from standard I/O               \|\i \i
596\i \i      filename,START,SIZE      Read/Write a part of a file/device            \|\i \i
597\i \i          Give START/SIZE in decimal (255), octal (0377) or hex (0xFF)       \|\i \i
598}
599
600{Joe
601\i   Help Screen    \|turn off with ^G     prev. screen ^[,    next screen ^[.     \i
602\i \i Send bug reports to: http://sourceforge.net/projects/joe-editor \|\i \i
603\i \i \|\i \i
604\i \i  default joerc file is here @JOERC@/joerc \|\i \i
605\i \i  default syntax and i18n files are here @JOEDATA@ \|\i \i
606\i \i  additional documentation can be found here @JOEDOC@ \|\i \i
607}
608
609{CharTable
610\i   Help Screen    \|turn off with ^G     prev. screen ^[,                        \i
611\i \i\| Dec  \u 0123 4567  8901 2345    0123 4567  8901 2345 \u  Dec \|\i \i
612\i \i\|     |                                              |     \|\i \i
613\i \i\|   0 | \u@ABC\u \uDEFG\u  \uHIJK\u \uLMNO\u    \i\u@ABC\u\i \i\uDEFG\u\i  \i\uHIJK\u\i \i\uLMNO\u\i | 128 \|\i \i
614\i \i\|  16 | \uPQRS\u \uTUVW\u  \uXYZ[\u \u\\]^_\u    \i\uPQRS\u\i \i\uTUVW\u\i  \i\uXYZ[\u\i \i\u\\]^_\u\i | 144 \|\i \i
615\i \i\|  32 |  !"# $%&'  ()*+ ,-./    ���� ����  ���� ���� | 160 \|\i \i
616\i \i\|  48 | 0123 4567  89:; <=>?    ���� ����  ���� ���� | 176 \|\i \i
617\i \i\|  64 | @ABC DEFG  HIJK LMNO    ���� ����  ���� ���� | 192 \|\i \i
618\i \i\|  80 | PQRS TUVW  XYZ[ \\]^_    ���� ����  ���� ���� | 208 \|\i \i
619\i \i\|  96 | `abc defg  hijk lmno    ���� ����  ���� ���� | 224 \|\i \i
620\i \i\| 112 | pqrs tuvw  xyz{ |}~    ���� ����  ���� ���� | 240 \|\i \i
621}
622
623 FOURTH SECTION: Key bindings:
624
625 Section names you must provide:
626
627	:main		For editing window
628	:prompt		For prompt lines
629	:query		For single-character query lines
630	:querya		Singe-character query for quote
631	:querysr	Search & Replace single-character query
632	:shell		For shell windows
633	:vtshell	For terminal emulator windows
634
635 Other sections may be given as well for organization purposes or for
636 use with the '-keymap' option.
637
638 Use:
639 :inherit name		To copy the named section into the current one
640 :delete key		To delete a key sequence from the current section
641
642 Keys:
643
644 Use ^@ through ^_, ^# and ^? for Ctrl chars
645 Use SP for space
646 Use a TO b to generate a range of characters
647 Use MDOWN, MDRAG, MUP, M2DOWN, M2DRAG, M2UP, M3DOWN, M3DRAG, M3UP for mouse
648 Use MWDOWN, MWUP for wheel mouse motion
649
650 You can also use termcap string capability names.  For example:
651
652	.ku		Up
653	.kd		Down
654	.kl		Left
655	.kr		Right
656	.kh		Home
657	.kH		End
658	.kI		Insert
659	.kD		Delete
660	.kP		PgUp
661	.kN		PgDn
662	.k1 - .k9	F1 - F9
663	.k0		F0 or F10
664	.k;		F10
665
666 Macros:
667
668 Simple macros can be made by comma seperating 2 or more command names.  For
669 example:
670
671 eof,bol	^T Z		Goto beginning of last line
672
673 Also quoted matter is typed in literally:
674
675 bol,">",dnarw	.k1		Quote news article line
676
677 Macros may cross lines if they end with ,
678
679 Commands or named macros may be created with :def.  For example, you can
680 use:
681
682 :def foo eof,bol
683
684 To define a command foo which will goto the beginning of the last line.
685
686:windows		Bindings common to all windows
687type		U+0 TO U+10FFFF
688abort		^C		Abort window
689arg		^[ \		Repeat next command
690explode		^[ I		Show all windows or show only one window
691explode		^[ ^I
692explode		^[ i
693help		^G		Help menu
694help		.k1
695hnext		^[ .		Next help window
696hprev		^[ ,		Previous help window
697math		^[ m		Calculator
698math		^[ M		Calculator
699math		^[ ^M		Calculator
700nextw		^[ N		Goto next window
701nextw		^[ ^N
702nextw		^[ n
703pgdn		.kN		Screen down
704pgdn		^V
705pgdn		^[ [ 6 ~
706 pgdn      ^# S
707pgup		.kP		Screen up
708pgup		^Y
709pgup		^[ [ 5 ~
710 pgup      ^# T
711play		^[ 0 TO 9	Execute macro
712prevw		^[ P		Goto previous window
713prevw		^[ ^P
714prevw		^[ p
715query		^[ ?		Macro query insert
716record		^[ (		Record a macro
717retype		^L		Refresh screen
718rtn		^M		Return
719shell		^[ z
720shell		^[ Z
721shell		^[ ^Z
722stop		^[ )		Stop recording
723 Mouse handling
724defmdown	MDOWN		Move the cursor to the mouse location
725defmup		MUP
726defmdrag	MDRAG		Select a region of characters
727defm2down	M2DOWN		Select the word at the mouse location
728defm2up		M2UP
729defm2drag	M2DRAG		Select a region of words
730defm3down	M3DOWN		Select the line at the mouse location
731defm3up		M3UP
732defm3drag	M3DRAG		Select a region of lines
733defmiddleup	MIDDLEUP
734defmiddledown	MIDDLEDOWN	Insert text
735
736xtmouse		^[ [ M		Introduces an xterm mouse event
737extmouse	^[ [ <		Introduces an extended xterm mouse event
738
739
740:main			Text editing window
741:inherit windows
742
743 Spell-check macros
744
745 Ispell
746:def ispellfile filt,"cat >ispell.tmp;ispell ispell.tmp </dev/tty >/dev/tty;cat ispell.tmp;/bin/rm ispell.tmp",rtn,retype
747: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
748
749 Aspell
750:def aspellfile filt,"SPLTMP=ispell.tmp;cat >$SPLTMP;aspell --lang=",language,".",charset," -x -c $SPLTMP </dev/tty >/dev/tty;cat $SPLTMP;/bin/rm $SPLTMP",rtn,retype
751:def aspellword psh,nextword,markk,prevword,markb,filt,"SPLTMP=ispell.tmp;cat >$SPLTMP;aspell --lang=",language,".",charset," -x -c $SPLTMP </dev/tty >/dev/tty;tr -d <$SPLTMP '\\012';/bin/rm $SPLTMP",rtn,retype,nextword
752
753@SPELL@word	^T
754@SPELL@file	^[ T		Spell check word
755@SPELL@file	^[ t
756@SPELL@file	^[ ^T
757
758 Compile macro
759
760:def compile querysave,query,scratch,"* Build Log *",rtn,markb,eof," ",markk,blkdel,build
761
762 Grep
763
764:def grep_find scratch,"* Grep Log *",rtn,bof,markb,eof," ",markk,blkdel,grep
765
766 Man page
767
768:def man scratch,"* Man Page *",rtn,bof,markb,eof," ",markk,blkdel," ",ltarw,run,"man -P cat -S 2:3 "
769
770 Shell windows
771 We load the already existing Startup Log first so that Shell does not inherit the current directory.
772
773:def shell1 scratch_push,"* Startup Log *",rtn,scratch_push,"* Shell 1 *",rtn,vtbknd!,eof
774:def shell2 scratch_push,"* Startup Log *",rtn,scratch_push,"* Shell 2 *",rtn,vtbknd!,eof
775:def shell3 scratch_push,"* Startup Log *",rtn,scratch_push,"* Shell 3 *",rtn,vtbknd!,eof
776:def shell4 scratch_push,"* Startup Log *",rtn,scratch_push,"* Shell 4 *",rtn,vtbknd!,eof
777
778 Macros allowed in shell window commands
779:def shell_clear psh,bof,markb,eof,markk,blkdel
780:def shell_parse parserr
781:def shell_gparse gparse
782:def shell_release release
783:def shell_math maths
784:def shell_typemath txt,math,"ins",rtn,rtn,txt,"\r",rtn
785:def shell_rtn rtn
786:def shell_edit edit
787:def shell_dellin dellin
788:def shell_cd cd
789:def shell_pop popabort
790:def shell_markb markb
791:def shell_markk markk
792
793 Split window version
794 :def shell1 if,"is_shell==0",then,tw1,mfit,endif,scratch,"* Shell 1 *",rtn,vtbknd!,eof
795 :def shell2 if,"is_shell==0",then,tw1,mfit,endif,scratch,"* Shell 2 *",rtn,vtbknd!,eof
796 :def shell3 if,"is_shell==0",then,tw1,mfit,endif,scratch,"* Shell 3 *",rtn,vtbknd!,eof
797 :def shell4 if,"is_shell==0",then,tw1,mfit,endif,scratch,"* Shell 4 *",rtn,vtbknd!,eof
798
799paste			^[ ] 5 2 ;		Base64 paste (obsolete)
800brpaste			^[ [ 2 0 0 ~		Bracketed paste
801brpaste_done		^[ [ 2 0 1 ~		Bracketed paste done
802
803insc			^[ [ 2 ~
804insc			^[ [ L			SCO
805
806delch			^[ [ 3 ~
807
808pgup			^[ [ I		SCO
809
810pgdn			^[ [ G		SCO
811
812home			^[ [ 1 ~		Putty, Linux, Cygwin
813home			^[ [ H			Xterm, Konsole, SCO
814home			^[ O H			gnome-terminal
815home			^[ [ 7 ~		RxVT
816 home			^# SP A		Amiga
817
818eol			^[ [ 4 ~		Putty, Linux, Cygwin, ssh
819eol			^[ [ F			Xterm, Konsole, SCO
820eol			^[ O F			gnome-terminal
821eol			^[ [ 8 ~		RxVT
822 eol			^# SP @		Amiga
823
824 ask,query,lose,query,abortbuf	^X	Exit after many questions
825ask,query,exsave	^X		Exit
826backs		^?		Backspace
827backs		^H
828backw		^[ H		Backspace word
829backw		^[ ^?
830backw		^[ ^H
831backw		^[ h
832bknd		^[ '		Shell window
833bof		^[ Y		Goto beginning of file
834bof		^[ ^Y
835bof		^[ y
836home		.kh		Goto beginning of line
837home		^A
838home		^[ [ H
839home		^[ [ 1 ~
840center		^[ ^C		Center line
841center		^[ c
842delch		.kD		Delete character
843delch		^D
844deleol		^[ K		Delete to end of line
845deleol		^[ ^K
846deleol		^[ k
847delw		^[ ^D		Delete word
848delw		^[ d
849dnarw		.kd		Go down
850dnarw		^N
851dnarw		^[ O B
852dnarw		^[ [ B
853 dnarw		^# B
854dnslide,dnslide,dnslide,dnslide		MWDOWN
855drop,msg,"Mark set",rtn	^^	Drop anchor
856 toggle_marking	^^		Marking
857edit		^[ E		Edit a file
858edit		^[ ^E
859edit		^[ e
860eof		^[ V		Go to end of file
861eof		^[ ^V
862eof		^[ v
863eol		.kH		Go to end of line
864eol		.@7
865eol		^E
866eol		^[ [ F
867eol		^[ [ 4 ~
868execmd		^[ X		Prompt for command to execute
869execmd		^[ ^X		Prompt for command to execute
870execmd		^[ x		Prompt for command to execute
871ffirst		^W		Find first
872fnext		^[ w
873fnext		^[ W
874filt		^[ /		Filter block though file
875psh,markk,fmtblk		^J		Format paragraphs in block
876groww		^[ G		Grow window
877groww		^[ ^G
878groww		^[ g
879insc		.kI		Insert a space
880insf		^R		Insert a file
881isrch		^[ S		Forward incremental search
882isrch		^[ ^S		Forward incremental search
883isrch		^[ s		Forward incremental search
884line		^[ L		Goto line no.
885line		^[ ^L
886line		^[ l
887line		^_
888ltarw		.kl		Go left
889ltarw		^B
890ltarw		^[ O D
891ltarw		^[ [ D
892 ltarw          ^# D
893 mode		^[ ^[		Options menu
894menu,"root",rtn	^[ ^[
895nextword	^@		Goto next word
896open		^]		Split line
897prevword	^Z		Previous word
898picokill	^K		Pico kill function
899quote		`		Enter Ctrl chars
900quote8		^\		Enter Meta chars
901redo		^[ =		Redo changes
902rsrch		^[ R		Backward incremental search
903rsrch		^[ ^R		Backward incremental search
904rsrch		^[ r		Backward incremental search
905rtarw		.kr		Go right
906rtarw		^F
907rtarw		^[ O C
908rtarw		^[ [ C
909 rtarw          ^# C
910run		^[ !		Run a program in a window
911stat		^C   		Cursor position status
912psh,markk,blksave,query	^O		Save file
913crawll		^[ <		Pan left
914crawlr		^[ >		Pan right
915shrinkw		^[ J		Shrink window
916shrinkw		^[ ^J
917shrinkw		^[ j
918splitw		^[ ^O		Split window
919splitw		^[ o
920tag		^[ ;		Tags file search
921tomatch		^[ ]		To matching delimiter
922undo		^[ -		Undo changes
923uparw		.ku		Go up
924uparw		^P
925uparw		^[ O A
926uparw		^[ [ A
927 uparw		^# A
928upslide,upslide,upslide,upslide		MWUP
929yank		^U		Paste
930yankpop		^[ U		Select yanked text
931yankpop		^[ ^U
932yankpop		^[ u
933shell1		^[ [ 1 1 ~
934shell1		^[ O P
935shell1		^[ [ [ A
936shell1		.k1
937shell2		^[ [ 1 2 ~
938shell2		^[ O Q
939shell2		^[ [ [ B
940shell2		.k2
941shell3		^[ [ 1 3 ~
942shell3		^[ O R
943shell3		^[ [ [ C
944shell3		.k3
945shell4		^[ [ 1 4 ~
946shell4		^[ O S
947shell4		^[ [ [ D
948shell4		.k4
949
950:prompt			Prompt windows
951:inherit main
952abort		^C
953complete	^I
954cancel,bof	^Y
955cancel,eof	^V
956cancel,line	^T
957cancel,fnext	^W
958 cancel,bop	^W
959cancel,eop	^O
960dnarw,eol	.kd		Go down
961dnarw,eol	^N
962dnarw,eol	^[ O B
963dnarw,eol	^[ [ B
964 dnarw,eol	^# B
965uparw,eol	.ku		Go up
966 uparw,eol	^# A
967uparw,eol	^P
968uparw,eol	^[ O A
969uparw,eol	^[ [ A
970
971:menu			Selection menus
972:inherit windows
973
974pgupmenu			^[ [ I
975
976pgdnmenu			^[ [ G
977
978bolmenu			^[ [ 1 ~		Putty, Linux, Cygwin
979bolmenu			^[ [ H			Xterm, Konsole
980bolmenu			^[ O H			gnome-terminal
981bolmenu			^[ [ 7 ~		RxVT
982 bolmenu			^# SP A		Amiga
983
984eolmenu			^[ [ 4 ~		Putty, Linux, Cygwin, ssh
985eolmenu			^[ [ F			Xterm, Konsole
986eolmenu			^[ O F			gnome-terminal
987eolmenu			^[ [ 8 ~		RxVT
988 eolmenu			^# SP @		Amiga
989
990abort		^[ ^[
991backsmenu	^?
992backsmenu	^H
993bofmenu		^K U
994bofmenu		^K ^U
995bofmenu		^K u
996bolmenu		.kh
997bolmenu		^A
998dnarwmenu	.kd
999dnarwmenu	^N
1000dnarwmenu	^[ [ B
1001dnarwmenu	^[ O B
1002 dnarwmenu ^# B
1003eofmenu		^K V
1004eofmenu		^K ^V
1005eofmenu		^K v
1006eolmenu		.kH
1007eolmenu		^E
1008ltarwmenu	.kl
1009ltarwmenu	^B
1010ltarwmenu	^[ [ D
1011 ltarwmenu ^# D
1012ltarwmenu	^[ O D
1013pgdnmenu	.kN		Screen down
1014pgdnmenu	^V
1015pgdnmenu	^[ [ 6 ~
1016 pgdnmenu  ^# S
1017pgupmenu	.kP		Screen up
1018pgupmenu	^Y
1019pgupmenu	^[ [ 5 ~
1020 pgupmenu  ^# T
1021rtarwmenu	.kr
1022rtarwmenu	^F
1023rtarwmenu	^[ [ C
1024 rtarwmenu ^# C
1025rtarwmenu	^[ O C
1026rtn		SP
1027rtn		^I
1028rtn		^K H
1029rtn		^K h
1030rtn		^K ^H
1031tabmenu		^I
1032uparwmenu	.ku
1033uparwmenu	^P
1034uparwmenu	^[ [ A
1035 uparwmenu ^# A
1036uparwmenu	^[ O A
1037defm2down	M2DOWN		Hits return key
1038
1039:query			Single-key query window
1040:inherit windows
1041
1042:querya			Single-key query window for quoting
1043type		U+0 TO U+10FFFF
1044
1045:querysr		Search & replace query window
1046type		U+0 TO U+10FFFF
1047
1048:shell			Input to shell windows
1049:inherit main
1050""		^C		Abort
1051""		^D		Eof
1052"\t"		^I		Tab
1053""		^H		Backspace
1054"\r"		^M		Return
1055""		^?		Backspace
1056
1057:vtshell		Input to ANSI shell windows
1058:inherit main
1059""		 [ A
1060""		.ku
1061""		 [ B
1062""		.kd
1063""		 [ C
1064""		.kr
1065""		 [ D
1066""		.kl
1067""		^A		BOL for bash
1068""		^C		Abort
1069""		^D		Eof
1070""		^E		EOL for bash
1071"\t"		^I		Tab
1072""		^H		Backspace
1073"\r"		^M		Return
1074""		^?		Backspace
1075