home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / boot / i386 / rescue / etc / joe / joerc < prev   
Text File  |  2006-11-29  |  32KB  |  1,001 lines

  1.                          Initialization file for JOE
  2.                                 Standard Joe
  3.  
  4.  JOE looks for this file in:
  5.     1 - $HOME/.joerc
  6.     2 - /etc/joe/joerc
  7.  
  8.  This file can include other files by placing the following include command
  9.  in the first column:
  10.  
  11.  :include filename
  12.  
  13.  FIRST SECTION: Default global options (these options can also be specified
  14.  on the command line.  Also the NOXON, LINES, COLUMNS, DOPADDING and BAUD
  15.  options can be specified in environment variables):
  16.  
  17.  Override colors of lexical classes specified in syntax files:
  18.  Put each color override you want in the first column.
  19.  
  20.  Valid colors:
  21.    bold inverse blink dim underline
  22.    white cyan magenta blue yellow green red black
  23.    bg_white bg_cyan bg_magenta bg_blue bg_yellow bg_green bg_red bg_black
  24.  
  25.  Other colors are available: see syntax/c.jsf for documentation.
  26.  
  27.  Override all instances of class Idle:
  28.    =Idle red
  29.  
  30.  Override Idle only for c syntax file:
  31.    =c.Idle red
  32.  
  33.  The following list is from c.jsf.  Look at other syntax files for more classes.
  34.  
  35.  =Idle
  36.  =Bad        bold red
  37.  =Preproc    blue
  38.  =Define     bold blue
  39.  =IncLocal   cyan
  40.  =IncSystem  bold cyan
  41.  =Constant   cyan
  42.  =Escape     bold cyan
  43.  =Type       bold
  44.  =Keyword    bold
  45.  =CppKeyword bold
  46.  =Brace      magenta
  47.  =Control
  48.  
  49.  Put each option you want set in the first column:
  50.  
  51.  -option    Sets the option
  52.  --option    Clears the option
  53.  
  54.  -help_is_utf8    Set if help text is in UTF-8 format.  Leave clear if it's a raw 8-bit format.
  55.  
  56.  -mid        Cursor is recentered when scrolling is necessary
  57.  
  58.  -marking    Text between ^KB and cursor is highlighted (use with -lightoff)
  59.  
  60.  -asis        Characters 128 - 255 shown as-is
  61.  
  62.  -force        Force final newline when files are saved
  63.  
  64.  -nolocks    If you don't want file locks to be used
  65.  
  66.  -nomodcheck    Disable periodic checking of disk file newer than buffer
  67.         (this checking happens on save even with this option).
  68.  
  69.  -nocurdir    Do not prompt with current directory
  70.  
  71.  -nobackups    If you don't want backup files to be created
  72.  
  73.  -break_links    Delete file before writing, to break hard links
  74.  
  75.  -lightoff    Turn off highlighting after block copy or move
  76.  
  77.  -exask        ^KX always confirms file name
  78.  
  79.  -beep        Beep on errors and when cursor goes past extremes
  80.  
  81.  -nosta        Disable top-most status line
  82.  
  83.  -keepup    %k and %c status line escape sequences updated frequently
  84.  
  85.  -pg nnn    No. lines to keep for PgUp/PgDn
  86.  
  87.  -undo_keep nnn    Number of undo records to keep.  0 for infinite.
  88.  
  89.  -csmode    ^KF after a pervious search does a ^L instead
  90.  
  91.  -backpath path
  92.         Directory to store backup files (one space between
  93.         'backpath' and the 'path', no trailing spaces or comments
  94.         after the path).
  95.  
  96.  -floatmouse    Clicking past end of line moves the cursor past the end
  97.  
  98.  -rtbutton    Use the right mouse button for action, instead of the left
  99.  
  100.  -nonotice    Disable copyright notice
  101.  
  102.  -noxon        Attempt to turn off ^S/^Q processing
  103.  
  104.  -orphan    Put extra files given on command line in orphaned buffers
  105.         instead of in windows
  106.  
  107.  -dopadding    Output pad characters (for when there is no tty handshaking)
  108.  
  109.  -lines nnn    Set no. screen lines
  110.  
  111.  -baud nnn    Set baud rate for terminal optimizations
  112.  
  113.  -columns nnn    Set no. screen columns
  114.  
  115.  -help        Start with help on
  116.  
  117.  -skiptop nnn    Don't use top nnn lines of the screen
  118.  
  119. -notite         Don't send terminal initialization and termination strings:
  120.                 prevents restoration of screen on exit.
  121.  
  122.  -usetabs       Use tabs to help optimize screen update.
  123.  
  124. -assume_color    Assume terminal has ANSI color support even if termcap/terminfo entry
  125.         says that it doesn't.  This only applies if the terminal otherwise
  126.         looks like an ANSI terminal (support bold and capability starts with
  127.         ESC [).
  128.  
  129. -assume_256color
  130.         Assume terminal has xterm 256 color support (ESC [ 38 ; 5 ; NNN m and
  131.                 ESC [ 48 ; 5 ; NNN m).
  132.  
  133. -guess_non_utf8    Allow guess of non-UTF-8 file encoding in a UTF-8 locale.
  134.  
  135.  -guess_utf8    Allow guess of UTF-8 file encoding in non-UTF-8 locale.
  136.  
  137. -guess_crlf     Automatically detect MS-DOS files and set -crlf appropriately
  138.  
  139. -guess_indent    Guess indent character (tab or space).
  140.  
  141. -menu_above    Position menu/list above prompt when enabled.  Otherwise position
  142.         below prompt.
  143.  
  144. -transpose    Transpose rows with columns in all menus.
  145.  
  146.  -menu_explorer    Stay in menu system when a directory is selected (otherwise
  147.                 directory is added to path and menu is closed).
  148.  
  149.  -menu_jump    Jump into file selection menu when tab is hit (otherwise, menu
  150.         comes up, but cursor stays in file name prompt).
  151.  
  152.  -icase         Search is case insensitive by default.
  153.  
  154.  -wrap          Search wraps
  155.  
  156.  -autoswap    Swap markb with markk when necessary
  157.  
  158. -joe_state     Use ~/.joe_state file
  159.  
  160.  -mouse        Enable xterm mouse support.  When enabled, left-click will
  161.         position the cursor and left-click-drag will select blocks
  162.         For normal xterm cut and paste, hold the shift key down.
  163.  
  164.  -joexterm    If you are using XTerm version 212 or higher, and if it was
  165.         configured with --enable-paste64, set this flag: it allows
  166.         mouse cut & paste to work properly (text selected with the
  167.         mouse can be pasted into other application, and middle
  168.         button clicks paste into JOE).
  169.  
  170.  -square    Rectangular block mode
  171.  
  172.  -text_color color
  173.         Set color for text.
  174.  -status_color color
  175.         Set color for status bar.
  176.  -help_color color
  177.         Set color for help.
  178.  -menu_color color
  179.         Set color for menus.
  180.  -prompt_color color
  181.         Set color for prompts.
  182.  -msg_color color
  183.         Set color for messages.
  184.  
  185.         For example: -text_color bg_blue+white
  186.         Sets the background color to blue and foreground color to white.
  187.  
  188. -restore    Restore previous cursor position when files are opened
  189.  
  190. -search_prompting
  191.         Search prompts with previous search request.
  192.  
  193.  Status line definition strings.  -lmsg defines the left-justified string and
  194.  -rmsg defines the right-justified string.  The first character of -rmsg is
  195.  the background fill character.  The following escape sequences can be used
  196.  in these strings:
  197.  
  198.   %t  12 hour time
  199.   %u  24 hour time
  200.   %T  O for overtype mode, I for insert mode
  201.   %W  W if wordwrap is enabled
  202.   %I  A if autoindent is enabled
  203.   %X  Rectangle mode indicator
  204.   %n  File name
  205.   %m  '(Modified)' if file has been changed
  206.   %*  '*' if file has been changed
  207.   %R  Read-only indicator
  208.   %r  Row (line) number
  209.   %c  Column number
  210.   %o  Byte offset into file
  211.   %O  Byte offset into file in hex
  212.   %a  Ascii value of character under cursor
  213.   %A  Ascii value of character under cursor in hex
  214.   %p  Percent of file cursor is at
  215.   %l  No. lines in file
  216.   %k  Entered prefix keys
  217.   %S  '*SHELL*' if there is a shell running in window
  218.   %M  Macro recording message
  219.   %y  Syntax
  220.   %x  Context (first non-indented line going backwards)
  221.  
  222.  These formatting escape sequences may also be given:
  223.  
  224.   \i  Inverse
  225.   \u  Underline
  226.   \b  Bold
  227.   \d  Dim
  228.   \f  Blink
  229.  
  230. -lmsg \i%k%T%W%I%X %n %m%y%R %M %x
  231. -rmsg  %S Row %r Col %c %t  Ctrl-K H for help
  232.  
  233.  SECOND SECTION: File name dependant local option settings:
  234.  
  235.  Each line with '*' in the first column indicates the modes which should be
  236.  set for files whose name matches the regular expression.  If more than one
  237.  regular expression matches the file name, then the last matching one is
  238.  chosen.
  239.  
  240.  A file contents regular expression may also be specified on a separate line
  241.  with '+regex'.  If this regular expresssion is given, then both the file name
  242.  regex and the file contents regex must match for the options to apply.
  243.  
  244.  Here are the modes which can be set:
  245.  
  246.     -cpara >#!;*/%
  247.                 Characters which can indent paragraphs.
  248.  
  249.     -encoding name
  250.                 Set file coding (for example: utf-8, iso-8859-15)
  251.  
  252.     -syntax name
  253.                 Specify syntax (syntax file called
  254.                 'name.jsf' will be loaded)
  255.  
  256.     -hex            Hex editor mode
  257.  
  258.     -highlight        Enable highlighting
  259.  
  260.     -smarthome        Home key first moves cursor to beginning of line,
  261.                 then if hit again, to first non-blank character.
  262.  
  263.     -indentfirst        Smart home goes to first non-blank character first,
  264.                 instead of going the beginning of line first.
  265.  
  266.     -smartbacks        Backspace key deletes 'istep' number of
  267.                 'indentc's if cursor is at first non-space
  268.                 character.
  269.  
  270.     -tab nnn        Tab width
  271.  
  272.     -indentc nnn        Indentation character (32 for space, 9 for tab)
  273.  
  274.     -istep nnn        Number of indentation columns
  275.  
  276.     -spaces            TAB inserts spaces instead of tabs.
  277.  
  278.     -purify            Fix indentation if necessary for rindent, lindent and backs
  279.                 (for example if indentation uses a mix of tabs and spaces,
  280.                 and indentc is space, indentation will be converted to all
  281.                 spaces).
  282.  
  283.     -crlf            File uses CR-LF at ends of lines
  284.  
  285.     -wordwrap        Wordwrap
  286.  
  287.     -autoindent        Auto indent
  288.  
  289.     -overwrite        Overtype mode
  290.  
  291.         -picture                Picture mode (right arrow can go past end of lines)
  292.  
  293.     -lmargin nnn        Left margin
  294.  
  295.     -rmargin nnn        Right margin
  296.  
  297.  
  298.     -french            One space after '.', '?' and '!' for wordwrap
  299.                 and paragraph reformat instead of two.  Joe
  300.                 does not change the spacing you give, but
  301.                 sometimes it must put spacing in itself.  This
  302.                 selects how much is inserted.
  303.  
  304.     -linums            Enable line numbers on each line
  305.  
  306.     -rdonly            File is read-only
  307.  
  308.     -keymap name
  309.                 Keymap to use if not 'main'
  310.  
  311.     -lmsg            Status line definition strings-
  312.     -rmsg            see previous section for more info.
  313.  
  314.     -mfirst macro
  315.                 Macro to execute on first modification
  316.     -mnew macro
  317.                 Macro to execute when new files are loaded
  318.     -mold macro
  319.                 Macro to execute when existing files are loaded
  320.     -msnew macro
  321.                 Macro to execute when new files are saved
  322.     -msold macro
  323.                 Macro to execute when existing files are saved
  324.  
  325.     Macros for the above options are in the same format as in the key
  326.     binding section below- but without the key name strings.
  327.  
  328.     These define the language syntax for ^G (goto matching delimiter):
  329.  
  330.     -single_quoted        Text between '  ' should be ignored (this is
  331.                 not good for regular text since ' is
  332.                 normally used alone as an apostrophe)
  333.  
  334.     -c_comment        Text between /* */ should be ignored
  335.  
  336.     -cpp_comment        Text after // should be ignored
  337.  
  338.     -pound_comment        Text after # should be ignored
  339.  
  340.     -vhdl_comment        Text after -- should be ignored
  341.  
  342.     -semi_comment        Text after ; should be ignored
  343.  
  344.     -text_delimiters begin=end:if=elif=else=endif
  345.  
  346.                 Define word delimiters
  347.  
  348.  Default local options
  349. -highlight
  350. -istep 2
  351.  
  352.  Perforce macro: use this macro (put in first column) to have joe "p4 edit"
  353.  a file you're about to change.
  354.  
  355.  -mfirst if,"rdonly && joe(sys,\"p4 edit \",name,rtn)",then,mode,"o",msg,"executed \"p4 edit ",name,"\"",rtn,endif
  356.  
  357.  File type table is now in a separate file.  You can copy this file to ~/.joe and customize it.
  358.  
  359. :include ftyperc
  360.  
  361.  RPM spec file
  362. *.spec
  363. -syntax spec
  364.  
  365.  THIRD SECTION: Named help screens:
  366.  
  367.  Use \i to turn on/off inverse video
  368.  Use \u to turn on/off underline
  369.  Use \b to turn on/off bold
  370.  Use \d to turn on/off dim
  371.  Use \f to turn on/off flash
  372.  
  373.  Use \| to insert a spring: all springs in a given line are set to the same
  374.  width such that the entire line exactly fits in the width of the screen (if
  375.  it's not an exact multiple so that there are N spaces remaining, the
  376.  rightmost N springs each get one extra space).  Hint: if you want vertical
  377.  alignment, each line should have the same number of springs.
  378.  
  379.  Use the '-help_is_utf8' global option to allow UTF-8 sequences in the help
  380.  text.  Otherwise, the locale 8-bit character set is assumed.
  381.  
  382. {Basic
  383. \i   Help Screen    \|turn off with ^KH    more help with ESC . (^[.)              \i
  384. \i \i\|\uCURSOR\u           \|\uGO TO\u            \|\uBLOCK\u      \|\uDELETE\u   \|\uMISC\u         \|\uEXIT\u      \|\i \i
  385. \i \i\|^B left ^F right \|^U  prev. screen \|^KB begin  \|^D char. \|^KJ reformat \|^KX save  \|\i \i
  386. \i \i\|^P up   ^N down  \|^V  next screen  \|^KK end    \|^Y line  \|^KA center   \|^C  abort \|\i \i
  387. \i \i\|^Z previous word \|^A  beg. of line \|^KM move   \|^W >word \|^T  options  \|^KZ shell \|\i \i
  388. \i \i\|^X next word     \|^E  end of line  \|^KC copy   \|^O word< \|^R  refresh  \|\uFILE\u      \|\i \i
  389. \i \i\|\uSEARCH\u           \|^KU top of file  \|^KW file   \|^J >line \|\uSPELL\u        \|^KE edit  \|\i \i
  390. \i \i\|^KF find text    \|^KV end of file  \|^KY delete \|^_ undo  \|^[N word     \|^KR insert\|\i \i
  391. \i \i\|^L  find next    \|^KL to line No.  \|^K/ filter \|^^ redo  \|^[L file     \|^KD save  \|\i \i
  392. }
  393.  
  394. {Windows
  395. \i   Help Screen    \|turn off with ^KH    prev. screen ^[,    next screen ^[.     \i
  396. \i \i\|^KO Split the window in half           \|^KE Load file into window             \|\i \i
  397. \i \i\|^KG Make current window bigger         \|^KT Make current window smaller       \|\i \i
  398. \i \i\|^KN Go to the window below             \|^KP Go to the window above            \|\i \i
  399. \i \i\|^[V Switch to next buffer              \|^[U Switch to previous buffer         \|\i \i
  400. \i \i\|^C  Eliminate the current window       \|^KI Show all windows / Show one window\|\i \i
  401. }
  402.  
  403. {Advanced
  404. \i   Help Screen    \|turn off with ^KH    prev. screen ^[,    next screen ^[.     \i
  405. \i \i\|\uMACROS\u         \|\uMISC\u            \|\uSCROLL\u    \|\uSHELL\u       \|\uGOTO\u       \|\uI-SEARCH\u     \|\i \i
  406. \i \i\|^K[ 0-9 Record \|^K SPACE status \|^[W Up    \|^K' Window  \|^[B To ^KB \|^[R Backwards\|\i \i
  407. \i \i\|^K]     Stop   \|^K\\ Repeat      \|^[Z Down  \|^[! Command \|^[K To ^KK \|^[S Forwards \|\i \i
  408. \i \i\|^K 0-9  Play   \|\uINSERT\u          \|^K< Left  \|\uQUOTE\u       \|\uDELETE\u     \|\uBOOKMARKS\u    \|\i \i
  409. \i \i\|^K?     Query  \|^] split line   \|^K> Right \|^[' Ctrl-   \|^[Y yank   \|^[ 0-9 Goto  \|\i \i
  410. \i \i\|^[D     Dump   \|^SPACE ins space\|          \|^\\ Meta-    \|^[O line<  \|^[^[   Set   \|\i \i
  411. }
  412.  
  413. {Programs
  414. \i   Help Screen    \|turn off with ^KH    prev. screen ^[,    next screen ^[.     \i
  415. \i \i\|\uGOTO\u                 \|\uINDENT\u   \|\uCOMPILING\u          \uQUICK\u                       \|\i \i
  416. \i \i\|^G  Matching ( [ {   \|^K, less \|^[C Compile & parse ^G  find word under cursor \|\i \i
  417. \i \i\|^K- Previous place   \|^K. more \|^[G Grep & parse    ^[ENTER complete word      \|\i \i
  418. \i \i\|^K= Next place         \|       \|^[= To next error   ^[Y paste deleted text     \|\i \i
  419. \i \i\|^K; Tags file search   \|       \|^[- To prev. error  ^[^Y cycle through deleted \|\i \i
  420. \i \i\|                       \|       \|^[ SP Jump to error                            \|\i \i
  421. }
  422.  
  423. {Search
  424. \i   Help Screen    \|turn off with ^KH    prev. screen ^[,    next screen ^[.     \i
  425. \i \iSpecial search sequences:                                                    \|\i \i
  426. \i \i    \\^  \\$  matches beg./end of line      \\?     match any single char       \|\i \i
  427. \i \i    \\<  \\>  matches beg./end of word      \\*     match 0 or more chars       \|\i \i
  428. \i \i    \\c      matches balanced C expression \\\\     matches a \\                 \|\i \i
  429. \i \i    \\[..]   matches one of a set          \\n     matches a newline           \|\i \i
  430. \i \i    \\+      matches 0 or more of the character which follows the \\+          \|\i \i
  431. \i \iSpecial replace sequences:                                                   \|\i \i
  432. \i \i    \\&      replaced with text which matched search string                   \|\i \i
  433. \i \i    \\0 - 9  replaced with text which matched Nth \\*, \\?, \\c, \\+, or \\[..]    \|\i \i
  434. \i \i    \\\\      replaced with \\               \\n     replaced with newline       \|\i \i
  435. }
  436.  
  437. {SearchOptions
  438. \i   Help Screen    \|turn off with ^KH    prev. screen ^[,    next screen ^[.     \i
  439. \i \iSearch options:                                                              \|\i \i
  440. \i \i   r Replace                                                                 \|\i \i
  441. \i \i   k Restrict search to highlighted block, which can be rectangular          \|\i \i
  442. \i \i   b Search backward instead of forward                                      \|\i \i
  443. \i \i   i Ignore case                                                             \|\i \i
  444. \i \i   a Search across all loaded files                                          \|\i \i
  445. \i \i   e Search across all files in Grep or Compile error list                   \|\i \i
  446. \i \i   w Wrap to beginning of file for this search                               \|\i \i
  447. \i \i   n Do not wrap to beginning of file for this search                        \|\i \i
  448. \i \i   nnn Perform exaclty nnn replacements                                      \|\i \i
  449. }
  450.  
  451. {Math
  452. \i   Help Screen    \|turn off with ^KH    prev. screen ^[,    next screen ^[.     \i
  453. \i \i \uCOMMANDS\u (hit ESC m for math)  \uFUNCTIONS\u                                    \|\i \i
  454. \i \i     hex hex display mode       sin cos tab asin acos atan                   \|\i \i
  455. \i \i     dec decimal mode           sinh cosh tanh asinh acosh atanh             \|\i \i
  456. \i \i     ins type result into file  sqrt cbrt exp ln log                         \|\i \i
  457. \i \i    eval evaluate block         int floor ceil abs erg ergc                  \|\i \i
  458. \i \i    0xff enter number in hex    joe(..macro..) - runs an editor macro        \|\i \i
  459. \i \i    3e-4 floating point decimal \uBLOCK\u                                        \|\i \i
  460. \i \i    a=10 assign a variable      sum cnt  Sum, count                          \|\i \i
  461. \i \i 2+3:ins multiple commands      avg dev  Average, std. deviation             \|\i \i
  462. \i \i    e pi constants              \uOPERATORS\u                                    \|\i \i
  463. \i \i     ans previous result        ! ^  * / %  + -  < <= > >= == !=  &&  ||  ? :\|\i \i
  464. }
  465.  
  466. {Names
  467. \i   Help Screen    \|turn off with ^KH    prev. screen ^[,    next screen ^[.     \i
  468. \i \i Hit TAB at file name prompts to generate menu of file names                 \|\i \i
  469. \i \i Or use up/down keys to access history of previously entered names           \|\i \i
  470. \i \i Special file names:                                                         \|\i \i
  471. \i \i      !command                 Pipe in/out of a shell command                \|\i \i
  472. \i \i      >>filename               Append to a file                              \|\i \i
  473. \i \i      -                        Read/Write to/from standard I/O               \|\i \i
  474. \i \i      filename,START,SIZE      Read/Write a part of a file/device            \|\i \i
  475. \i \i          Give START/SIZE in decimal (255), octal (0377) or hex (0xFF)       \|\i \i
  476. }
  477.  
  478. {Joe
  479. \i   Help Screen    \|turn off with ^KH    prev. screen ^[,                        \i
  480. \i \i Send bug reports to: http://sourceforge.net/projects/joe-editor \|\i \i
  481. \i \i \|\i \i
  482. \i \i  default joerc file is here /etc/joe/joerc \|\i \i
  483. \i \i  additional documentation can be found here /etc/joe/doc \|\i \i
  484. }
  485.  
  486.  FOURTH SECTION: Key bindings:
  487.  
  488.  Section names you must provide:
  489.  
  490.     :main        For editing window
  491.     :prompt        For prompt lines
  492.     :query        For single-character query lines
  493.     :querya        Singe-character query for quote
  494.     :querysr    Search & Replace single-character query
  495.  
  496.  Other sections may be given as well for organization purposes or for
  497.  use with the '-keymap' option.
  498.  
  499.  Use:
  500.  :inherit name        To copy the named section into the current one
  501.  :delete key        To delete a key sequence from the current section
  502.  
  503.  Keys:
  504.  
  505.  Use ^@ through ^_ and ^? for Ctrl chars
  506.  Use SP for space
  507.  Use a TO b to generate a range of characters
  508.  Use MDOWN, MDRAG, MUP, M2DOWN, M2DRAG, M2UP, M3DOWN, M3DRAG, M3UP for mouse
  509.  Use MWDOWN, MWUP for wheel mouse motion
  510.  Use ^# for 0x9B (for Amiga).  But warning: this breaks UTF-8 keyboards.
  511.  
  512.  You can also use termcap string capability names.  For example:
  513.  
  514.     .ku        Up
  515.     .kd        Down
  516.     .kl        Left
  517.     .kr        Right
  518.     .kh        Home
  519.     .kH        End
  520.     .kI        Insert
  521.     .kD        Delete
  522.     .kP        PgUp
  523.     .kN        PgDn
  524.     .k1 - .k9    F1 - F9
  525.     .k0        F0 or F10
  526.     .k;        F10
  527.  
  528.  Macros:
  529.  
  530.  Simple macros can be made by comma seperating 2 or more command names.  For
  531.  example:
  532.  
  533.  eof,bol    ^T Z        Goto beginning of last line
  534.  
  535.  Also quoted matter is typed in literally:
  536.  
  537.  bol,">",dnarw    .k1        Quote news article line
  538.  
  539.  Macros may cross lines if they end with ,
  540.  
  541.  Commands or named macros may be created with :def.  For example, you can
  542.  use:
  543.  
  544.  :def foo eof,bol
  545.  
  546.  To define a command foo which will goto the beginning of the last line.
  547.  
  548. :windows        Bindings common to all windows
  549. type        ^@ TO          Type a character
  550. abort        ^C        Abort window
  551. abort        ^K Q
  552. abort        ^K ^Q
  553. abort        ^K q
  554. arg        ^K \        Repeat next command
  555. explode        ^K I        Show all windows or show only one window
  556. explode        ^K ^I
  557. explode        ^K i
  558. help        ^K H        Help menu
  559. help        ^K ^H
  560. help        ^K h
  561. hnext        ^[ .        Next help window
  562. hprev        ^[ ,        Previous help window
  563. math        ^[ m        Calculator
  564. math        ^[ M        Calculator
  565.  math        ^[ ^M        Calculator
  566. msg        ^[ h        Display a message
  567. msg        ^[ H        Display a message
  568. msg        ^[ ^H        Display a message
  569. nextw        ^K N        Goto next window
  570. nextw        ^K ^N
  571. nextw        ^K n
  572. pgdn        .kN        Screen down
  573. pgdn        ^V
  574. pgdn        ^[ [ 6 ~
  575.  pgdn      ^# S
  576. pgup        .kP        Screen up
  577. pgup        ^U
  578. pgup        ^[ [ 5 ~
  579.  pgup      ^# T
  580. play        ^K 0 TO 9    Execute macro
  581. prevw        ^K P        Goto previous window
  582. prevw        ^K ^P
  583. prevw        ^K p
  584. query        ^K ?        Macro query insert
  585. record        ^K [        Record a macro
  586. retype        ^R        Refresh screen
  587. rtn        ^M        Return
  588. shell        ^K Z        Shell escape
  589. shell        ^K ^Z
  590. shell        ^K z
  591. stop        ^K ]        Stop recording
  592.  Mouse handling
  593. defmdown    MDOWN        Move the cursor to the mouse location
  594. defmup        MUP
  595. defmdrag    MDRAG        Select a region of characters
  596. defm2down    M2DOWN        Select the word at the mouse location
  597. defm2up        M2UP
  598. defm2drag    M2DRAG        Select a region of words
  599. defm3down    M3DOWN        Select the line at the mouse location
  600. defm3up        M3UP
  601. defm3drag    M3DRAG        Select a region of lines
  602.  
  603. xtmouse        ^[ [ M        Introduces an xterm mouse event
  604.  
  605. if,"char==65",then,"it's an A",else,"it's not an a",endif    ^[ q
  606.  
  607. :main            Text editing window
  608. :inherit windows
  609.  
  610.  Spell-check macros
  611.  
  612.  Ispell
  613. :def ispellfile filt,"cat >ispell.tmp;ispell ispell.tmp </dev/tty >/dev/tty;cat ispell.tmp;/bin/rm ispell.tmp",rtn,retype
  614. :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
  615.  
  616.  Aspell
  617. :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
  618. :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
  619.  
  620.  
  621. aspellfile    ^[ l
  622. aspellword    ^[ n
  623.  
  624.  Compile
  625.  
  626. :def compile mwind!,mfit!,querysave,query,scratch,"* Build Log *",rtn,bof,markb,eof," ",markk,blkdel,build
  627.  
  628.  Grep
  629.  
  630. :def grep_find mwind!,mfit!,scratch,"* Grep Log *",rtn,bof,markb,eof," ",markk,blkdel,grep
  631.  
  632.  Man page
  633.  
  634. :def man scratch,"* Man Page *",rtn,bof,markb,eof," ",markk,blkdel," ",ltarw,run,"man -P cat -S 2:3 "
  635.  
  636.  Here we guess some common key sequences which either do not have termcap
  637.  sequences or which are frequently wrong.  Note that if the termcap entry is
  638.  correct, it will override these later on.
  639.  
  640. paste            ^[ ] 5 2 ;        Bracketed paste
  641.  
  642. insc            ^[ [ 2 ~
  643. insc            ^[ [ L            SCO
  644.  
  645. delch            ^[ [ 3 ~
  646.  
  647. pgup            ^[ [ I        SCO
  648.  
  649. pgdn            ^[ [ G        SCO
  650.  
  651. home            ^[ [ 1 ~        Putty, Linux, Cygwin
  652. home            ^[ [ H            Xterm, Konsole, SCO
  653. home            ^[ O H            gnome-terminal
  654. home            ^[ [ 7 ~        RxVT
  655.  home            ^# SP A        Amiga
  656.  
  657. eol            ^[ [ 4 ~        Putty, Linux, Cygwin, ssh
  658. eol            ^[ [ F            Xterm, Konsole, SCO
  659. eol            ^[ O F            gnome-terminal
  660. eol            ^[ [ 8 ~        RxVT
  661.  eol            ^# SP @        Amiga
  662.  
  663. rtarw,ltarw,begin_marking,rtarw,toggle_marking    ^[ [ 1 ; 5 C    Mark right Xterm
  664. rtarw,ltarw,begin_marking,rtarw,toggle_marking    ^[ [ 5 C        Mark right Gnome-terminal
  665.  (Almost all termcap entries have ^[ O C as an arrow key).
  666.  rtarw,ltarw,begin_marking,rtarw,toggle_marking    ^[ O C        Mark right Putty Ctrl-rtarw
  667. rtarw,ltarw,begin_marking,rtarw,toggle_marking    ^[ O c        Mark right RxVT Ctrl-rtarw
  668.  
  669. ltarw,rtarw,begin_marking,ltarw,toggle_marking    ^[ [ 1 ; 5 D    Mark left
  670. ltarw,rtarw,begin_marking,ltarw,toggle_marking    ^[ [ 5 D        Mark left
  671.  ltarw,rtarw,begin_marking,ltarw,toggle_marking    ^[ O D        Mark left Putty Ctrl-ltarw
  672. ltarw,rtarw,begin_marking,ltarw,toggle_marking    ^[ O d        Mark left RxVT Ctrl-ltarw
  673.  
  674. uparw,dnarw,begin_marking,uparw,toggle_marking    ^[ [ 1 ; 5 A    Mark up
  675. uparw,dnarw,begin_marking,uparw,toggle_marking    ^[ [ 5 A        Mark up
  676.  uparw,dnarw,begin_marking,uparw,toggle_marking    ^[ O A        Mark up Putty Ctrl-uparw
  677. uparw,dnarw,begin_marking,uparw,toggle_marking    ^[ O a        Mark up RxVT Ctrl-uparw
  678.  
  679. dnarw,uparw,begin_marking,dnarw,toggle_marking    ^[ [ 1 ; 5 B    Mark down
  680. dnarw,uparw,begin_marking,dnarw,toggle_marking    ^[ [ 5 B        Mark down
  681.  dnarw,uparw,begin_marking,dnarw,toggle_marking    ^[ O B        Mark down Putty Ctrl-dnarw
  682. dnarw,uparw,begin_marking,dnarw,toggle_marking    ^[ O b        Mark down RxVT Ctrl-dnarw
  683.  
  684. blkdel,nmark   ^[ [ 3 ; 5 -    Gnome-terminal Ctrl-Del
  685. blkdel,nmark   ^[ [ 3 ; 5 ~    Xterm Ctrl-Del
  686.  
  687. yank        ^[ [ 2 ; 5 -    Gnome-terminal Ctrl-Ins
  688. yank        ^[ [ 2 ; 5 ~    Xterm Ctrl-Ins
  689.  
  690.  Extra functions not really part of JOE user interface:
  691.  
  692. delbol        ^[ o        Delete to beginning of line
  693. delbol        ^[ ^O        Delete to beginning of line
  694. dnslide        ^[ z        Scroll down one line
  695. dnslide        ^[ Z        Scroll down one line
  696. dnslide        ^[ ^Z        Scroll down one line
  697. dnslide,dnslide,dnslide,dnslide        MWDOWN
  698. compile        ^[ c        Compile
  699. compile        ^[ C
  700. compile        ^[ ^C        Compile
  701. grep_find    ^[ g        Grep
  702. grep_find    ^[ G        Grep
  703. grep_find    ^[ ^G        Grep
  704. execmd        ^[ x        Prompt for command to execute
  705. execmd        ^[ X        Prompt for command to execute
  706. execmd        ^[ ^X        Prompt for command to execute
  707. finish        ^[ ^I        Complete word in document
  708. finish        ^[ ^M        Complete word: used to be math
  709. mwind,mfit,jump,bol        ^[ SP
  710. isrch        ^[ s        Forward incremental search
  711. isrch        ^[ S        Forward incremental search
  712. isrch        ^[ ^S        Forward incremental search
  713. notmod        ^[ ~        Not modified
  714. mwind,mfit,prevw,nxterr        ^[ =        To next error
  715. parserr        ^[ e        Parse errors in current buffer
  716. parserr        ^[ E        Parse errors in current buffer
  717. parserr        ^[ ^E        Parse errors in current buffer
  718. mwind,mfit,prevw,prverr        ^[ -        To previous error
  719. rsrch        ^[ r        Backward incremental search
  720. rsrch        ^[ R        Backward incremental search
  721. rsrch        ^[ ^R        Backward incremental search
  722. run        ^[ !        Run a program in a window
  723. tomarkb        ^[ b        Go to beginning of marked block
  724. tomarkb        ^[ ^B        Go to beginning of marked block
  725. tomarkk        ^[ k        Go to end of marked block
  726. tomarkk        ^[ ^K        Go to end of marked block
  727. tomarkk        ^[ K        Go to end of marked block
  728. txt        ^[ i        Prompt for text and insert it
  729. txt        ^[ I        Prompt for text and insert it
  730. upslide        ^[ w        Scroll up one line
  731. upslide        ^[ ^W        Scroll up one line
  732. upslide        ^[ W        Scroll up one line
  733. upslide,upslide,upslide,upslide        MWUP
  734. yank        ^[ y        Undelete text
  735. yankpop        ^[ ^Y        Undelete text
  736. yank        ^[ Y        Undelete text
  737.  
  738.  toggle_marking    ^@        Ctrl-space block selection method
  739. insc        ^@        Ctrl-space used to insert a space
  740.  
  741.  bufed        ^[ d        Menu of buffers
  742. nbuf        ^[ v        Next buffer
  743. nbuf        ^[ V        Next buffer
  744. nbuf        ^[ ^V        Next buffer
  745. pbuf        ^[ u        Prev buffer
  746. pbuf        ^[ U        Prev buffer
  747. pbuf        ^[ ^U        Prev buffer
  748.  query        ^[ q        Quoted insert
  749.  byte        ^[ n        Goto byte
  750.  col        ^[ c        Goto column
  751.  abortbuf    ^[ k        Kill current buffer- don't mess with windows
  752.  ask        ^[ a        Ask to save current buffer
  753.  bop        ^[ p        Backwards paragraph
  754.  bos        ^[ x        Bottom of screen
  755.  copy        ^[ ^W        Copy block into yank
  756.  dupw        ^[ \        Split window
  757.  eop        ^[ n        Forwards paragraph
  758.  format        ^[ j        Format paragraph ignore block
  759.  markl        ^[ l        Mark line
  760.  nmark        ^[ @        Turn off ^KB ^KK
  761.  pop        ^[ >        Pop ^KB ^KK
  762.  psh        ^[ <        Push ^KB ^KK
  763.  swap        ^[ x        Swap ^KB and cursor
  764.  tomarkbk    ^[ g        Switch between beginning and end of marked
  765.  tos        ^[ e        Top of screen
  766.  tw0        ^[ 0        Kill current window (orphans buffer)
  767.  tw1        ^[ 1        Kill all other windows (orphans buffers)
  768.  uarg        ^[ u        Universal argument
  769.  yank        ^[ ^Y        Undelete previous text
  770.  yapp        ^[ w        Append next delete to previous yank
  771.  
  772.  Standard JOE user interface
  773.  
  774. quote8        ^\        Enter Meta chars
  775.  quote        `        Enter Ctrl chars
  776. quote        ^[ '        Enter Ctrl chars
  777. quote        ^Q
  778.  
  779. backs        ^?        Backspace
  780. backs        ^H
  781. backw        ^O        Backspace word
  782. bknd        ^K '        Shell window
  783. blkcpy        ^K C        Copy marked block
  784. blkcpy        ^K ^C
  785. blkcpy        ^K c
  786. blkdel        ^K Y        Delete marked block
  787. blkdel        ^K ^Y
  788. blkdel        ^K y
  789. blkmove        ^K M        Move marked block
  790. blkmove        ^K ^M
  791. blkmove        ^K m
  792. blksave        ^K W        Save marked block
  793. blksave        ^K ^W
  794. blksave        ^K w
  795. bof        ^K U        Goto beginning of file
  796. bof        ^K ^U
  797. bof        ^K u
  798.  bol        .kh        Goto beginning of line
  799.  bol        ^A
  800.  bol      ^# SP A
  801. home        .kh
  802. home        ^A
  803. home        ^[ [ H
  804. home        ^[ [ 1 ~
  805. home        ^[ [ 7 ~
  806. center        ^K A        Center line
  807. center        ^K ^A
  808. center        ^K a
  809. crawll        ^K <        Pan left
  810. crawlr        ^K >        Pan right
  811. delch        .kD        Delete character
  812. delch        ^D
  813. deleol        ^J        Delete to end of line
  814. dellin        ^Y        Delete entire line
  815. delw        ^W        Delete word to right
  816. dnarw        .kd        Go down
  817. dnarw        ^N
  818. dnarw        ^[ O B
  819. dnarw        ^[ [ B
  820.  dnarw        ^# B
  821. edit        ^K E        Edit a file
  822. edit        ^K ^E
  823. edit        ^K e
  824. eof        ^K V        Go to end of file
  825. eof        ^K ^V
  826. eof        ^K v
  827. eol        .kH        Go to end of line
  828. eol        .@7
  829. eol        ^E
  830. eol        ^[ [ F
  831. eol        ^[ [ 4 ~
  832. eol        ^[ [ 8 ~
  833. exsave        ^K X        Save and exit
  834. exsave        ^K ^X
  835. exsave        ^K x
  836. ffirst        ^K F        Find first
  837. ffirst        ^K ^F
  838. ffirst        ^K f
  839. filt        ^K /        Filter block
  840.  finish        ^K ^M        Complete text under cursor
  841. fnext        ^L        Find next
  842. fmtblk        ^K J        Format paragraphs in block
  843. fmtblk        ^K ^J
  844. fmtblk        ^K j
  845. gomark        ^[ 0 TO 9    Goto bookmark
  846. groww        ^K G        Grow window
  847. groww        ^K ^G
  848. groww        ^K g
  849. insc        .kI        Insert a space
  850.  insc        ^@
  851. insf        ^K R        Insert a file
  852. insf        ^K ^R
  853. insf        ^K r
  854. lindent        ^K ,        Indent to left
  855. line        ^K L        Goto line no.
  856. line        ^K ^L
  857. line        ^K l
  858. ltarw        .kl        Go left
  859. ltarw        ^B
  860. ltarw        ^[ O D
  861. ltarw        ^[ [ D
  862.  ltarw          ^# D
  863. macros        ^[ d        Dump keyboard macros
  864. macros        ^[ ^D
  865. markb        ^K B        Set beginning of marked block
  866. markb        ^K ^B
  867. markb        ^K b
  868. markk        ^K K        Set end of marked block
  869. markk        ^K ^K
  870. markk        ^K k
  871. mode        ^T        Options menu
  872. nextpos        ^K =        Goto next position in position history
  873. nextword    ^X        Goto next word
  874. open        ^]        Split line
  875. prevpos        ^K -        Previous position in history
  876. prevword    ^Z        Previous word
  877. redo        ^^        Redo changes
  878. rindent        ^K .        Indent to right
  879. rtarw        .kr        Go right
  880. rtarw        ^F
  881. rtarw        ^[ O C
  882. rtarw        ^[ [ C
  883.  rtarw          ^# C
  884. run        ^K !        Run a shell command
  885. save        ^K D        Save file
  886. save        ^K S
  887. save        ^K ^D
  888. save        ^K ^S
  889. save        ^K d
  890. save        ^K s
  891. setmark        ^[ ^[        Set bookmark
  892. shrinkw        ^K T        Shrink window
  893. shrinkw        ^K ^T
  894. shrinkw        ^K t
  895. splitw        ^K O        Split window
  896. splitw        ^K ^O
  897. splitw        ^K o
  898. stat        ^K SP        Show status
  899. tag        ^K ;        Tags file search
  900. tomatch        ^G        Goto matching parenthasis
  901. undo        ^_        Undo changes
  902. uparw        .ku        Go up
  903.  uparw        ^# A
  904. uparw        ^P
  905. uparw        ^[ O A
  906. uparw        ^[ [ A
  907.  
  908. :prompt            Prompt windows
  909. :inherit main
  910. if,"byte>size",then,complete,complete,else,delch,endif    ^D
  911. complete    ^I
  912. dnarw,eol    .kd        Go down
  913. dnarw,eol    ^N
  914. dnarw,eol    ^[ O B
  915. dnarw,eol    ^[ [ B
  916.  dnarw,eol    ^# B
  917. uparw,eol    .ku        Go up
  918.  uparw,eol    ^# A
  919. uparw,eol    ^P
  920. uparw,eol    ^[ O A
  921. uparw,eol    ^[ [ A
  922.  
  923. :menu            Selection menus
  924. :inherit windows
  925.  
  926. pgupmenu            ^[ [ I
  927.  
  928. pgdnmenu            ^[ [ G
  929.  
  930. bolmenu            ^[ [ 1 ~        Putty, Linux, Cygwin
  931. bolmenu            ^[ [ H            Xterm, Konsole
  932. bolmenu            ^[ O H            gnome-terminal
  933. bolmenu            ^[ [ 7 ~        RxVT
  934.  bolmenu            ^# SP A        Amiga
  935.  
  936. eolmenu            ^[ [ 4 ~        Putty, Linux, Cygwin, ssh
  937. eolmenu            ^[ [ F            Xterm, Konsole
  938. eolmenu            ^[ O F            gnome-terminal
  939. eolmenu            ^[ [ 8 ~        RxVT
  940.  eolmenu            ^# SP @        Amiga
  941.  
  942. abort        ^[ ^[    Why?
  943. backsmenu    ^?
  944. backsmenu    ^H
  945. bofmenu        ^K U
  946. bofmenu        ^K ^U
  947. bofmenu        ^K u
  948. bolmenu        .kh
  949. bolmenu        ^A
  950. dnarwmenu    .kd
  951. dnarwmenu    ^N
  952. dnarwmenu    ^[ [ B
  953. dnarwmenu    ^[ O B
  954.  dnarwmenu ^# B
  955. dnarwmenu    MWDOWN
  956. eofmenu        ^K V
  957. eofmenu        ^K ^V
  958. eofmenu        ^K v
  959. eolmenu        .kH
  960. eolmenu        ^E
  961. ltarwmenu    .kl
  962. ltarwmenu    ^B
  963. ltarwmenu    ^[ [ D
  964. ltarwmenu    ^[ O D
  965.  ltarwmenu ^# D
  966. pgdnmenu    .kN        Screen down
  967. pgdnmenu    ^V
  968. pgdnmenu    ^[ [ 6 ~
  969.  pgdnmenu  ^# S
  970. pgupmenu    .kP        Screen up
  971. pgupmenu    ^U
  972. pgupmenu    ^[ [ 5 ~
  973.  pgupmenu  ^# T
  974. rtarwmenu    .kr
  975. rtarwmenu    ^F
  976. rtarwmenu    ^[ [ C
  977.  rtarwmenu ^# C
  978. rtarwmenu    ^[ O C
  979. rtn        SP
  980. rtn        ^I
  981. rtn        ^K H
  982. rtn        ^K h
  983. rtn        ^K ^H
  984. tabmenu        ^I
  985. uparwmenu    .ku
  986. uparwmenu    ^P
  987. uparwmenu    ^[ [ A
  988. uparwmenu    ^[ O A
  989.  uparwmenu ^# A
  990. uparwmenu    MWUP
  991. defm2down    M2DOWN        Hits return key
  992.  
  993. :query            Single-key query window
  994. :inherit windows
  995.  
  996. :querya            Single-key query window for quoting
  997. type        ^@ TO  
  998.  
  999. :querysr        Search & replace query window
  1000. type        ^@ TO  
  1001.