1285 lines
41 KiB
Plaintext
1285 lines
41 KiB
Plaintext
|
|
|||
|
Initialization file for JOE
|
|||
|
Gnu-Emacs Joe
|
|||
|
|
|||
|
JOE looks for this file in:
|
|||
|
1 - $HOME/.jmacsrc
|
|||
|
2 - /home/jie/project/joe/bin/etc/joe/jmacsrc
|
|||
|
|
|||
|
This file can include other files by placing the following include command
|
|||
|
in the first column:
|
|||
|
|
|||
|
:include filename
|
|||
|
|
|||
|
FIRST SECTION: Default global options (these options can also be specified
|
|||
|
on the command line. Also the NOXON, LINES, COLUMNS, DOPADDING and BAUD
|
|||
|
options can be specified in environment variables):
|
|||
|
|
|||
|
Put each option you want set in the first column:
|
|||
|
|
|||
|
-option Sets the option
|
|||
|
--option Clears the option
|
|||
|
|
|||
|
-help_is_utf8 Set if help text is in UTF-8 format. Leave clear if it's a raw 8-bit format.
|
|||
|
|
|||
|
-mid Cursor is recentered when scrolling is necessary
|
|||
|
-left nn Amount to jump left when scrolling is necessary (-1 for 1/4 width)
|
|||
|
-right nn Amount to jump right when scrolling is necessary (-1 for 1/4 width)
|
|||
|
-marking Text between ^KB and cursor is highlighted
|
|||
|
-lightoff Turn off highlighting after block copy or move
|
|||
|
-asis Characters 128 - 255 shown as-is
|
|||
|
-force Force final newline when files are saved
|
|||
|
-nolocks If you don't want file locks to be used
|
|||
|
-nomodcheck Disable periodic checking of disk file newer than buffer
|
|||
|
(this checking happens on save even with this option).
|
|||
|
-nobackups If you don't want backup files to be created
|
|||
|
-nodeadjoe If you don't want DEADJOE files to be created
|
|||
|
-nocurdir Do not prompt with current directory
|
|||
|
-break_hardlinks
|
|||
|
Delete file before writing, to break hard links
|
|||
|
(but don't break symbolic links).
|
|||
|
|
|||
|
-break_links
|
|||
|
Delete file before writing, to break hard links
|
|||
|
and symbolic links.
|
|||
|
|
|||
|
-exask ^KX always confirms file name
|
|||
|
-beep Beep on errors and when cursor goes past extremes
|
|||
|
-nosta Disable top-most status line
|
|||
|
-keepup %k and %c status line escape sequences updated frequently
|
|||
|
-pg 1 No. lines to keep for PgUp/PgDn
|
|||
|
-undo_keep nnn Number of undo records to keep. 0 for infinite.
|
|||
|
|
|||
|
-csmode ^KF after a pervious search does a ^L instead
|
|||
|
|
|||
|
-backpath path
|
|||
|
Directory to store backup files (one space between 'backpath' and
|
|||
|
the 'path', no trailing spaces or comments after the path).
|
|||
|
|
|||
|
-floatmouse Clicking past end of line moves the cursor past the end
|
|||
|
-rtbutton Use the right mouse button for action, instead of the left
|
|||
|
-nonotice Disable copyright notice
|
|||
|
-noexmsg Disable exiting message ("File not changed so no updated needed")
|
|||
|
|
|||
|
-noxon Attempt to turn off ^S/^Q processing
|
|||
|
-orphan Put extra files given on command line in orphaned buffers
|
|||
|
instead of in windows
|
|||
|
-dopadding Output pad characters (for when there is no tty handshaking)
|
|||
|
-lines nnn Set no. screen lines
|
|||
|
-baud 19200 Set baud rate for terminal optimizations
|
|||
|
-columns nnn Set no. screen columns
|
|||
|
-helpon Start with help on
|
|||
|
-skiptop nnn Don't use top nnn lines of the screen
|
|||
|
|
|||
|
-notite Don't send terminal initialization and termination strings: prevents
|
|||
|
restoration of screen on exit.
|
|||
|
|
|||
|
-nolinefeeds Prevent sending linefeeds to preserve screen history in terminal
|
|||
|
emulator's scroll-back buffer.
|
|||
|
|
|||
|
-usetabs Use tabs to help optimize screen update.
|
|||
|
|
|||
|
-assume_color Assume terminal has ANSI color support even if termcap/terminfo entry
|
|||
|
says that it doesn't. This only applies if the terminal otherwise
|
|||
|
looks like an ANSI terminal (support bold and capability starts with
|
|||
|
ESC [).
|
|||
|
|
|||
|
-assume_256color
|
|||
|
Assume terminal has xterm 256 color support (ESC [ 38 ; 5 ; NNN m and
|
|||
|
ESC [ 48 ; 5 ; NNN m).
|
|||
|
|
|||
|
-guess_crlf Automatically detect MS-DOS files and set -crlf appropriately
|
|||
|
|
|||
|
-guess_indent Guess indent character (tab or space).
|
|||
|
|
|||
|
-guess_non_utf8 Allow guess of non-UTF-8 file encoding in a UTF-8 locale.
|
|||
|
|
|||
|
-guess_utf8 Allow guess of UTF-8 file encoding in non-UTF-8 locale.
|
|||
|
|
|||
|
-guess_utf16 Allow guess of UTF-16 encoding
|
|||
|
|
|||
|
-menu_above Position menu/list above prompt when enabled. Otherwise position
|
|||
|
below prompt.
|
|||
|
|
|||
|
-transpose Transpose rows with columns in all menus.
|
|||
|
|
|||
|
-menu_explorer Stay in menu system when a directory is selected (otherwise
|
|||
|
directory is added to path and menu is closed).
|
|||
|
|
|||
|
-menu_jump Jump into file selection menu when tab is hit (otherwise, menu
|
|||
|
comes up, but cursor stays in file name prompt).
|
|||
|
|
|||
|
-icase Search is case insensitive by default.
|
|||
|
|
|||
|
-wrap Search wraps
|
|||
|
|
|||
|
-autoswap Swap markb with markk when necessary
|
|||
|
|
|||
|
-joe_state Use ~/.joe_state file
|
|||
|
|
|||
|
-mouse Enable mouse support
|
|||
|
|
|||
|
-joexterm If you are using Joe's modified Xterm, which makes -mouse
|
|||
|
mode work better (cut & paste work transparently).
|
|||
|
|
|||
|
-brpaste When JOE starts, send command to the terminal emulator that
|
|||
|
enables "bracketed paste mode" (but only if the terminal
|
|||
|
seems to have the ANSI command set). In this mode, text
|
|||
|
pasted into the window is bracketed with ESC [ 2 0 0 ~ and
|
|||
|
ESC [ 2 0 1 ~.
|
|||
|
|
|||
|
-pastehack If keyboard input comes in as one block assume it's a mouse
|
|||
|
paste and disable autoindent and wordwrap.
|
|||
|
|
|||
|
-square Rectangular block mode
|
|||
|
|
|||
|
-colors scheme
|
|||
|
Set the default color scheme
|
|||
|
|
|||
|
-restore Restore previous cursor position when files are opened
|
|||
|
|
|||
|
-search_prompting
|
|||
|
Search prompts with previous search request.
|
|||
|
|
|||
|
-regex Search uses standard regular expression format (otherwise it uses
|
|||
|
JOE format where all special characters have to be escaped).
|
|||
|
|
|||
|
Status line definition strings. -lmsg defines the left-justified string and
|
|||
|
-rmsg defines the right-justified string. The first character of -rmsg is
|
|||
|
the background fill character. The following escape sequences can be used
|
|||
|
in these string:
|
|||
|
|
|||
|
%t 12 hour time
|
|||
|
%u 24 hour time
|
|||
|
%T O for overtype mode, I for insert mode
|
|||
|
%W W if wordwrap is enabled
|
|||
|
%I A if autoindent is enabled
|
|||
|
%X Rectangle mode indicator
|
|||
|
%n File name
|
|||
|
%m '(Modified)' if file has been changed
|
|||
|
%* '*' if file has been changed
|
|||
|
%R Read-only indicator
|
|||
|
%r Row (line) number
|
|||
|
%c Column number
|
|||
|
%o Byte offset into file
|
|||
|
%O Byte offset into file in hex
|
|||
|
%a Ascii value of character under cursor
|
|||
|
%A Ascii value of character under cursor in hex
|
|||
|
%w Width of character under cursor
|
|||
|
%k Entered prefix keys
|
|||
|
%p Percent of file cursor is at
|
|||
|
%l No. lines in file
|
|||
|
%S '*SHELL*' if there is a shell running in window
|
|||
|
%M Macro recording message
|
|||
|
%y Syntax
|
|||
|
%e Encoding
|
|||
|
%x Context (first non-indented line going backwards)
|
|||
|
%dd day
|
|||
|
%dm month
|
|||
|
%dY year
|
|||
|
%Ename% value of environment variable
|
|||
|
%Tname% value of option (ON or OFF for boolean options)
|
|||
|
|
|||
|
The formatting escape sequences may also be given:
|
|||
|
|
|||
|
\i Inverse
|
|||
|
\u Underline
|
|||
|
\b Bold
|
|||
|
\d Dim
|
|||
|
\f Blink
|
|||
|
\l Italic
|
|||
|
|
|||
|
-lmsg \i%k%T%W%I%X %* [%n] %y %M
|
|||
|
-rmsg %S Row %4r Col %3c %t ^X^H for help
|
|||
|
-smsg ** Line %r Col %c Offset %o(0x%O) %e %a(0x%A) Width %w **
|
|||
|
-zmsg ** Line %r Col %c Offset %o(0x%O) **
|
|||
|
-xmsg \i Joe's Own Editor %v (%b) ** Type \b^X ^C\b to exit or \b^X ^H\b for help **\i
|
|||
|
|
|||
|
Key sequence hints which are displayed in various prompts.
|
|||
|
-aborthint ^G
|
|||
|
-helphint ^X ^H
|
|||
|
|
|||
|
|
|||
|
SECOND SECTION: File name dependant local option settings:
|
|||
|
|
|||
|
Each line with '*' in the first column indicates the modes which should be
|
|||
|
files which match the regular expression. If more than one regular
|
|||
|
expression matches the file name, than the last matching one is chosen.
|
|||
|
|
|||
|
Here is a list of modes which can be set:
|
|||
|
|
|||
|
-cpara >#!;*/%
|
|||
|
Characters which can indent paragraphs.
|
|||
|
|
|||
|
-cnotpara .
|
|||
|
Characters which begin non-paragraph lines.
|
|||
|
|
|||
|
|
|||
|
-encoding name
|
|||
|
Set file coding (for example: utf-8, iso-8859-15)
|
|||
|
|
|||
|
-syntax name
|
|||
|
Specify syntax (syntax file called
|
|||
|
'name.jsf' will be loaded)
|
|||
|
|
|||
|
-hex Hex editor mode
|
|||
|
|
|||
|
-highlight Enable highlighting
|
|||
|
|
|||
|
-smarthome Home key first moves cursor to beginning of line,
|
|||
|
then if hit again, to first non-blank character.
|
|||
|
|
|||
|
-indentfirst Smart home goes to first non-blank character first,
|
|||
|
instead of going the beginning of line first.
|
|||
|
|
|||
|
-smartbacks Backspace key deletes 'istep' number of
|
|||
|
'indentc's if cursor is at first non-space
|
|||
|
character.
|
|||
|
|
|||
|
-tab nnn Tab width
|
|||
|
|
|||
|
-indentc nnn Indentation character (32 for space, 9 for tab)
|
|||
|
|
|||
|
-istep nnn Number of indentation columns
|
|||
|
|
|||
|
-spaces TAB inserts spaces instead of tabs.
|
|||
|
|
|||
|
-purify Fix indentation if necessary for rindent, lindent and backs
|
|||
|
(for example if indentation uses a mix of tabs and spaces,
|
|||
|
and indentc is space, indentation will be converted to all
|
|||
|
spaces).
|
|||
|
|
|||
|
-crlf File uses CR-LF at ends of lines
|
|||
|
|
|||
|
-wordwrap Wordwrap
|
|||
|
|
|||
|
-nobackup If you don't want backup file to be created
|
|||
|
|
|||
|
-autoindent Auto indent
|
|||
|
|
|||
|
-overwrite Overtype mode
|
|||
|
|
|||
|
-picture Picture mode (right arrow can go past end of lines)
|
|||
|
|
|||
|
-lmargin nnn Left margin
|
|||
|
|
|||
|
-rmargin nnn Right margin
|
|||
|
|
|||
|
-flowed Put one space after intermediate paragraph lines
|
|||
|
for support of flowed text.
|
|||
|
|
|||
|
|
|||
|
-french One space after '.', '?' and '!' for wordwrap
|
|||
|
and paragraph reformat instead of two. Joe
|
|||
|
does not change the spacing you give, but
|
|||
|
sometimes it must put spacing in itself. This
|
|||
|
selects how much is inserted.
|
|||
|
|
|||
|
-linums Enable line numbers on each line
|
|||
|
|
|||
|
-hiline Highlight current line
|
|||
|
|
|||
|
-rdonly File is read-only
|
|||
|
|
|||
|
-keymap name
|
|||
|
Keymap to use if not 'main'
|
|||
|
|
|||
|
-lmsg Status line definition strings-
|
|||
|
-rmsg see previous section for more info.
|
|||
|
|
|||
|
-mnew macro
|
|||
|
Macro to execute when new files are loaded
|
|||
|
-mold macro
|
|||
|
Macro to execute when existing files are loaded
|
|||
|
-msnew macro
|
|||
|
Macro to execute when new files are saved
|
|||
|
-msold macro
|
|||
|
Macro to execute when existing files are saved
|
|||
|
-mfirst macro
|
|||
|
Macro to execute on first modification
|
|||
|
|
|||
|
Macros for the above options are in the same format as in the key
|
|||
|
binding section below- but without the key name strings.
|
|||
|
|
|||
|
These define the language syntax for ^G (goto matching delimiter):
|
|||
|
|
|||
|
-highlighter_context Use the highlighter context for ^G
|
|||
|
|
|||
|
-single_quoted Text between ' ' should be ignored (this is
|
|||
|
not good for regular text since ' is
|
|||
|
normally used alone as an apostrophe)
|
|||
|
|
|||
|
-c_comment Text between /* */ should be ignored
|
|||
|
|
|||
|
-cpp_comment Text after // should be ignored
|
|||
|
|
|||
|
-pound_comment Text after # should be ignored
|
|||
|
|
|||
|
-vhdl_comment Text after -- should be ignored
|
|||
|
|
|||
|
-semi_comment Text after ; should be ignored
|
|||
|
|
|||
|
-text_delimiters begin=end:if=elif=else=endif
|
|||
|
|
|||
|
Define word delimiters
|
|||
|
|
|||
|
Default local options
|
|||
|
-highlight
|
|||
|
-istep 4
|
|||
|
|
|||
|
Use this macro (put in first column) to have joe "p4 edit" a file you're about to change.
|
|||
|
|
|||
|
-mfirst if,"rdonly && joe(sys,\"p4 edit \",name,rtn)",then,mode,"o",msg,"executed \"p4 edit ",name,"\"",rtn,endif
|
|||
|
|
|||
|
File type table is now in a separate file. You can copy this file to ~/.joe and customize it.
|
|||
|
|
|||
|
:include ftyperc
|
|||
|
|
|||
|
SECOND and 1/2 SECTION: Option menu layout
|
|||
|
|
|||
|
:defmenu name [macro]
|
|||
|
Defines a menu.
|
|||
|
The macro here is executed when the user hits backspace.
|
|||
|
|
|||
|
macro string comment
|
|||
|
A menu entry. Macro is any JOE macro- see "Macros:"
|
|||
|
below. String is the label to be used for the macro
|
|||
|
in the menu. It is in the same format as the -lmsg
|
|||
|
and -rmsg options above.
|
|||
|
|
|||
|
Two whitespace characters in a row begins a comment.
|
|||
|
Use '% ' for a leading space in the string.
|
|||
|
|
|||
|
:defmenu root
|
|||
|
mode,"overwrite",rtn T Overtype %Zoverwrite%
|
|||
|
mode,"hex",rtn ' Hex edit mode
|
|||
|
mode,"autoindent",rtn I Autoindent %Zautoindent%
|
|||
|
mode,"wordwrap",rtn W Word wrap %Zwordwrap%
|
|||
|
mode,"tab",rtn D Tab width %Ztab%
|
|||
|
mode,"lmargin",rtn L Left margin %Zlmargin%
|
|||
|
mode,"rmargin",rtn R Right margin %Zrmargin%
|
|||
|
mode,"square",rtn X Column mode %Zsquare%
|
|||
|
mode,"indentc",rtn % % Indent char %Zindentc%
|
|||
|
mode,"istep",rtn % % Indent step %Zistep%
|
|||
|
menu,"indent",rtn = Indent select
|
|||
|
mode,"highlight",rtn H Highlighting %Zhighlight%
|
|||
|
mode,"crlf",rtn Z CR-LF/MS-DOS %Zcrlf%
|
|||
|
mode,"linums",rtn N Line numbers %Zlinums%
|
|||
|
mode,"hiline",rtn U Highlight line %Zhiline%
|
|||
|
mode,"beep",rtn B Beep %Zbeep%
|
|||
|
mode,"rdonly",rtn O Read only %Zrdonly%
|
|||
|
mode,"syntax",rtn Y Syntax
|
|||
|
mode,"colors",rtn S Color scheme
|
|||
|
mode,"encoding",rtn E Encoding
|
|||
|
mode,"asis",rtn % % Meta chars as-is
|
|||
|
mode,"language",rtn V Language
|
|||
|
mode,"picture",rtn P picture %Zpicture%
|
|||
|
mode,"type",rtn F File type [%Ztype%]
|
|||
|
mode,"title",rtn C Context %Ztitle%
|
|||
|
menu,"more-options",rtn % % More options...
|
|||
|
|
|||
|
:defmenu more-options menu,"root",rtn
|
|||
|
menu,"^G",rtn % % ^G options
|
|||
|
menu,"search",rtn % % search options
|
|||
|
menu,"paragraph",rtn % % paragraph options
|
|||
|
menu,"file",rtn % % file options
|
|||
|
menu,"menu",rtn % % menu options
|
|||
|
menu,"global",rtn % % global options
|
|||
|
menu,"cursor",rtn % % cursor options
|
|||
|
menu,"marking",rtn % % marking options
|
|||
|
menu,"tab",rtn % % tab/indent options
|
|||
|
|
|||
|
:defmenu indent menu,"root",rtn
|
|||
|
mode,"istep",rtn,"1",rtn,mode,"indentc",rtn,"32",rtn,msg,"Indent step = 1, Indent character = 32",rtn 1 Space
|
|||
|
mode,"istep",rtn,"2",rtn,mode,"indentc",rtn,"32",rtn,msg,"Indent step = 2, Indent character = 32",rtn 2 Spaces
|
|||
|
mode,"istep",rtn,"3",rtn,mode,"indentc",rtn,"32",rtn,msg,"Indent step = 3, Indent character = 32",rtn 3 Spaces
|
|||
|
mode,"istep",rtn,"4",rtn,mode,"indentc",rtn,"32",rtn,msg,"Indent step = 4, Indent character = 32",rtn 4 Spaces
|
|||
|
mode,"istep",rtn,"5",rtn,mode,"indentc",rtn,"32",rtn,msg,"Indent step = 5, Indent character = 32",rtn 5 Spaces
|
|||
|
mode,"istep",rtn,"8",rtn,mode,"indentc",rtn,"32",rtn,msg,"Indent step = 8, Indent character = 32",rtn 8 Spaces
|
|||
|
mode,"istep",rtn,"10",rtn,mode,"indentc",rtn,"32",rtn,msg,"Indent step = 10, Indent character = 32",rtn 0 Ten
|
|||
|
mode,"istep",rtn,"1",rtn,mode,"indentc",rtn,"9",rtn,msg,"Indent step = 1, Indent character = 9",rtn T Tab
|
|||
|
|
|||
|
:defmenu menu menu,"more-options",rtn
|
|||
|
mode,"menu_explorer",rtn % % Menu explorer %Zmenu_explorer%
|
|||
|
mode,"menu_above",rtn % % Menu position %Zmenu_above%
|
|||
|
mode,"menu_jump",rtn % % Jump into menu %Zmenu_jump%
|
|||
|
mode,"transpose",rtn % % Transpose menus %Ztranspose%
|
|||
|
|
|||
|
:defmenu ^G menu,"more-options",rtn
|
|||
|
mode,"highlighter_context",rtn % % ^G uses highlighter context %Zhighlighter_context%
|
|||
|
mode,"single_quoted",rtn % % ^G ignores '...' %Zsingle_quoted%
|
|||
|
mode,"no_double_quoted",rtn % % ^G no ignore "..." %Zno_double_quoted%
|
|||
|
mode,"c_comment",rtn % % ^G ignores /*...*/ %Zc_comment%
|
|||
|
mode,"cpp_comment",rtn % % ^G ignores //... %Zcpp_comment%
|
|||
|
mode,"pound_comment",rtn % % ^G ignores #... %Zpound_comment%
|
|||
|
mode,"vhdl_comment",rtn % % ^G ignores --... %Zvhdl_comment%
|
|||
|
mode,"semi_comment",rtn % % ^G ignores ;... %Zsemi_comment%
|
|||
|
mode,"tex_comment",rtn % % ^G ignores %%... %Ztex_comment%
|
|||
|
mode,"text_delimiters",rtn % % Text delimiters %Ztext_delimiters%
|
|||
|
|
|||
|
:defmenu search menu,"more-options",rtn
|
|||
|
mode,"icase",rtn % % Case insensitivity %Zicase%
|
|||
|
mode,"wrap",rtn % % Search wraps %Zwrap%
|
|||
|
mode,"search_prompting",rtn % % Search prompting %Zsearch_prompting%
|
|||
|
mode,"csmode",rtn % % Continued search %Zcsmode%
|
|||
|
|
|||
|
:defmenu paragraph menu,"more-options",rtn
|
|||
|
mode,"french",rtn % % French spacing %Zfrench%
|
|||
|
mode,"flowed",rtn % % Flowed text %Zflowed%
|
|||
|
mode,"cpara",rtn % % Paragraph indent chars %Zcpara%
|
|||
|
mode,"cnotpara",rtn % % Not-paragraph chars %Zcnotpara%
|
|||
|
|
|||
|
:defmenu file menu,"more-options",rtn
|
|||
|
mode,"restore",rtn % % Restore cursor %Zrestore%
|
|||
|
mode,"guess_crlf",rtn % % Auto detect CR-LF %Zguess_crlf%
|
|||
|
mode,"guess_indent",rtn % % Guess indent %Zguess_indent%
|
|||
|
mode,"guess_non_utf8",rtn % % Guess non-UTF-8 %Zguess_non_utf8%
|
|||
|
mode,"guess_utf8",rtn % % Guess UTF-8 %Zguess_utf8%
|
|||
|
mode,"guess_utf16",rtn % % Guess UTF-16 %Zguess_utf16%
|
|||
|
mode,"force",rtn % % Force last NL %Zforce%
|
|||
|
mode,"nobackup",rtn % % No backup %Znobackup%
|
|||
|
|
|||
|
:defmenu global menu,"more-options",rtn
|
|||
|
mode,"nolocks",rtn % % Disable locks %Znolocks%
|
|||
|
mode,"nobackups",rtn % % Disable backups %Znobackups%
|
|||
|
mode,"nodeadjoe",rtn % % Disable DEADJOE %Znodeadjoe%
|
|||
|
mode,"nomodcheck",rtn % % Disable mtime check %Znomodcheck%
|
|||
|
mode,"nocurdir",rtn % % Disable current dir %Znocurdir%
|
|||
|
mode,"exask",rtn % % Exit ask %Zexask%
|
|||
|
mode,"nosta",rtn % % Disable status line %Znosta%
|
|||
|
mode,"keepup",rtn % % Fast status line %Zkeepup%
|
|||
|
mode,"break_hardlinks",rtn % % Break hard links %Zbreak_hardlinks%
|
|||
|
mode,"break_links",rtn % % Break links %Zbreak_links%
|
|||
|
mode,"joe_state",rtn % % Joe_state file %Zjoe_state%
|
|||
|
mode,"undo_keep",rtn % % No. undo records %Zundo_keep%
|
|||
|
mode,"backpath",rtn % % Path to backup files %Zbackpath%
|
|||
|
|
|||
|
:defmenu cursor menu,"more-options",rtn
|
|||
|
mode,"pg",rtn % % No. PgUp/PgDn lines %Zpg%
|
|||
|
mode,"mid",rtn C Center on scroll %Zmid%
|
|||
|
mode,"left",rtn L Columns to scroll left %Zleft%
|
|||
|
mode,"right",rtn R Columns to scroll right %Zright%
|
|||
|
mode,"floatmouse",rtn % % Click past end %Zfloatmouse%
|
|||
|
mode,"rtbutton",rtn % % Right button %Zrtbutton%
|
|||
|
|
|||
|
:defmenu marking menu,"more-options",rtn
|
|||
|
mode,"autoswap",rtn % % Autoswap mode %Zautoswap%
|
|||
|
mode,"marking",rtn % % Marking %Zmarking%
|
|||
|
mode,"lightoff",rtn % % Auto unmask %Zlightoff%
|
|||
|
|
|||
|
:defmenu tab menu,"more-options",rtn
|
|||
|
mode,"smarthome",rtn % % Smart home key %Zsmarthome%
|
|||
|
mode,"smartbacks",rtn % % Smart backspace %Zsmartbacks%
|
|||
|
mode,"indentfirst",rtn % % To indent first %Zindentfirst%
|
|||
|
mode,"purify",rtn % % Clean up indents %Zpurify%
|
|||
|
mode,"spaces",rtn % % No tabs %Zspaces%
|
|||
|
|
|||
|
THIRD SECTION: Named help screens:
|
|||
|
|
|||
|
Use \i to turn on/off inverse video
|
|||
|
Use \u to turn on/off underline
|
|||
|
Use \b to turn on/off bold
|
|||
|
Use \d to turn on/off dim
|
|||
|
Use \f to turn on/off flash
|
|||
|
Use \l to turn on/off italic
|
|||
|
|
|||
|
{Basic
|
|||
|
\i Help Screen \|turn off with ^X^H more help with ^X. \i
|
|||
|
\i \i\|\uCURSOR\u \|\uGO TO\u \|\uUNDO\u \|\uMISC\u \|\uREGION\u \|\uFILE/EXIT\u \|\i \i
|
|||
|
\i \i\|^B left ^F right \|^[V prev screen \|^_ undo \|^[^[ option \|^@ mark \|^X^C exit \|\i \i
|
|||
|
\i \i\|^P up ^N down \|^V next screen \|^^ redo \|^[Q format \|^X^X swap \|^X^F find \|\i \i
|
|||
|
\i \i\|^[B prev. word \|^A beg of line \|\uDELETE\u \|^L refresh \|^W cut \|^X^V revert\|\i \i
|
|||
|
\i \i\|^[F next word \|^E end of line \|^D char \|^[$ spell \|^[W copy \|^X^S save \|\i \i
|
|||
|
\i \i\|\uSEARCH\u \|^X[ prev page \|^K >line \|^[M math \|^Y paste \|^XS all \|\i \i
|
|||
|
\i \i\|^S forward \|^X] next page \|^[D >word \|^[X command \|^[Y switch \|^XI insert\|\i \i
|
|||
|
\i \i\|^R backward \|^[G to line No. \|^[ DEL \|^XL status \|^XA file \|^XK kill \|\i \i
|
|||
|
\i \i\|^[% find&replace \|^XG matching ([{\| word< \|^U repeat \|^X| filter \|^XB switch\|\i \i
|
|||
|
}
|
|||
|
|
|||
|
{Editing
|
|||
|
\i Help Screen \|turn off with ^X^H prev. screen ^X, next screen ^X. \i
|
|||
|
\i \i\|\uCASE\u \|\uTRANSPOSE\u \|\uINSERT\u \|\uMACROS\u \|\uPROGRAMS\u \|\i \i
|
|||
|
\i \i\|^[U Up word \|^T Chars \|^O line \|^X( record \|^X^I Indent region \|\i \i
|
|||
|
\i \i\|^[L Down word \|^[T Words \|^C space \|^X) stop \|^[. Tags file find \|\i \i
|
|||
|
\i \i\|^[C Cap. word \|^X^T Lines \|^Q Ctrl- \|^XE play \|^X4. Tags other window \|\i \i
|
|||
|
\i \i\|^X^U Up region \| \|^[( () \|^XQ query suspend \|^XC Compile \|\i \i
|
|||
|
\i \i\|^X^L Down region\| \| \| \|^XN / ^XP next/prev err\|\i \i
|
|||
|
}
|
|||
|
|
|||
|
{Window
|
|||
|
\i Help Screen \|turn off with ^X^H prev. screen ^X, next screen ^X. \i
|
|||
|
\i \i\|\uWINDOW\u \|\uSCROLL\u \|\uMODE\u \|\uCURSOR\u \|\i \i
|
|||
|
\i \i\|^X2 Split window in half \|^X^P up \|^XF rght mgn\|^[P prev. paragraph \|\i \i
|
|||
|
\i \i\|^XO Switch to other window \|^X^N down \|^X^Q rdonly \|^[N next paragraph \|\i \i
|
|||
|
\i \i\|^XZ Grow window \|^X< left \|^[~ not mod \|\uDELETE\u \|\i \i
|
|||
|
\i \i\|^X^Z Shrink window \|^X> right \| \|^[ SP just one space \|\i \i
|
|||
|
\i \i\|^X0 Kill window \|\uSHELL\u \|\uBOOKMARK\u \|^[ \\ no spaces \|\i \i
|
|||
|
\i \i\|^X1 Kill all other windows \|^[! Command\|^XJ set \|^X^O cut blank lines \|\i \i
|
|||
|
\i \i\|^[^Z ^[^V other PgUp/PgDn \|^[' Window \|^X/ goto \|^[z cut to character \|\i \i
|
|||
|
}
|
|||
|
|
|||
|
{Search
|
|||
|
\i Help Screen \|turn off with ^KH prev. screen ^[, next screen ^[. \i
|
|||
|
\i \iSearch sequences: \|\i \i
|
|||
|
\i \i \\^ \\$ matches beg./end of line \\. match any single char \|\i \i
|
|||
|
\i \i \\< \\> matches beg./end of word \\! match char or expression \|\i \i
|
|||
|
\i \i \\( \\) grouping \\| match left or right \|\i \i
|
|||
|
\i \i \\[a-z] matches one of a set \|\i \i
|
|||
|
\i \i \\{1,3} match 1 - 3 occurrences \\? match 0 or 1 occurrence \|\i \i
|
|||
|
\i \i \\+ match 1 or more occurrences \\* match 0 or more occurrences \|\i \i
|
|||
|
\i \iReplace sequences: \|\i \i
|
|||
|
\i \i \\& replaced with entire match \\1 - 9 replaced with Nth group \|\i \i
|
|||
|
\i \i \\u \\l convert next to upper/lower \\U \\L case convert until \\E \|\i \i
|
|||
|
}
|
|||
|
|
|||
|
{Escape sequences
|
|||
|
\i Help Screen \|turn off with ^KH prev. screen ^[, next screen ^[. \i
|
|||
|
\i \iEscape sequences: \\x{10fff} Unicode code point \\p{Ll} Unicode category \|\i \i
|
|||
|
\i \i \\i / \\I Identifier start \\t tab \\e escape \|\i \i
|
|||
|
\i \i \\c / \\C Identifier continue \\n newline \\r carriage return \|\i \i
|
|||
|
\i \i \\d / \\D Digit / Not a digit \\b backspace \\xFF hex character \|\i \i
|
|||
|
\i \i \\w / \\W Word / Not a word \\a alert \\377 octal character \|\i \i
|
|||
|
\i \i \\s / \\S Space / Not a space \\f formfeed \\\\ backslash \|\i \i
|
|||
|
}
|
|||
|
|
|||
|
{SearchOptions
|
|||
|
\i Help Screen \|turn off with ^KH prev. screen ^[, next screen ^[. \i
|
|||
|
\i \iSearch options: \|\i \i
|
|||
|
\i \i r Replace k Restrict search to highlighted block \|\i \i
|
|||
|
\i \i i Ignore case b Search backwards instead of forwards \|\i \i
|
|||
|
\i \i a Search across all loaded files \|\i \i
|
|||
|
\i \i e Search across all files in Grep or Compile error list \|\i \i
|
|||
|
\i \i w / n Allow / prevent wrap to start of file \|\i \i
|
|||
|
\i \i x / y Search text is standard format / JOE format regular expression \|\i \i
|
|||
|
\i \i nnn Perform exactly nnn replacements \|\i \i
|
|||
|
}
|
|||
|
|
|||
|
{Math
|
|||
|
\i Help Screen \|turn off with ^X^H prev. screen ^X, next screen ^X. \i
|
|||
|
\i \i \uCOMMANDS\u (hit ESC m for math) \uFUNCTIONS\u \|\i \i
|
|||
|
\i \i hex hex display mode sin cos tab asin acos atan \|\i \i
|
|||
|
\i \i dec decimal mode sinh cosh tanh asinh acosh atanh \|\i \i
|
|||
|
\i \i ins type result into file sqrt cbrt exp ln log \|\i \i
|
|||
|
\i \i eval evaluate block int floor ceil abs erg ergc \|\i \i
|
|||
|
\i \i 0xff enter number in hex joe(...macro...) - runs an editor macro \|\i \i
|
|||
|
\i \i 3e-4 floating point decimal \uBLOCK\u \|\i \i
|
|||
|
\i \i a=10 assign a variable sum cnt Sum, count \|\i \i
|
|||
|
\i \i 2+3:ins multiple commands avg dev Average, std. deviation \|\i \i
|
|||
|
\i \i e pi constants \uOPERATORS\u \|\i \i
|
|||
|
\i \i ans previous result ! ^ * / % + - < <= > >= == != && || ? :\|\i \i
|
|||
|
}
|
|||
|
|
|||
|
{Names
|
|||
|
\i Help Screen \|turn off with ^X^H prev. screen ^X, next screen ^X. \i
|
|||
|
\i \i Hit TAB at file name prompts to generate menu of file names \|\i \i
|
|||
|
\i \i Or use up/down keys to access history of previously entered names \|\i \i
|
|||
|
\i \i Special file names: \|\i \i
|
|||
|
\i \i !command Pipe in/out of a shell command \|\i \i
|
|||
|
\i \i >>filename Append to a file \|\i \i
|
|||
|
\i \i - Read/Write to/from standard I/O \|\i \i
|
|||
|
\i \i filename,START,SIZE Read/Write a part of a file/device \|\i \i
|
|||
|
\i \i Give START/SIZE in decimal (255), octal (0377) or hex (0xFF) \|\i \i
|
|||
|
}
|
|||
|
|
|||
|
{Joe
|
|||
|
\i Help Screen \|turn off with ^X^H prev. screen ^X, next screen ^X. \i
|
|||
|
\i \i Send bug reports to: http://sourceforge.net/projects/joe-editor \|\i \i
|
|||
|
\i \i \|\i \i
|
|||
|
\i \i default joerc file is here /home/jie/project/joe/bin/etc/joe/joerc \|\i \i
|
|||
|
\i \i default syntax and i18n files are here /home/jie/project/joe/bin/share/joe \|\i \i
|
|||
|
\i \i additional documentation can be found here /home/jie/project/joe/bin/share/doc/joe \|\i \i
|
|||
|
}
|
|||
|
|
|||
|
{CharTable
|
|||
|
\i Help Screen \|turn off with ^X^H prev. screen ^X, \i
|
|||
|
\i \i\| Dec \u 0123 4567 8901 2345 0123 4567 8901 2345 \u Dec \|\i \i
|
|||
|
\i \i\| | | \|\i \i
|
|||
|
\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
|
|||
|
\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
|
|||
|
\i \i\| 32 | !"# $%&' ()*+ ,-./ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> | 160 \|\i \i
|
|||
|
\i \i\| 48 | 0123 4567 89:; <=>? <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> | 176 \|\i \i
|
|||
|
\i \i\| 64 | @ABC DEFG HIJK LMNO <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> | 192 \|\i \i
|
|||
|
\i \i\| 80 | PQRS TUVW XYZ[ \\]^_ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> | 208 \|\i \i
|
|||
|
\i \i\| 96 | `abc defg hijk lmno <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> | 224 \|\i \i
|
|||
|
\i \i\| 112 | pqrs tuvw xyz{ |}~ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> | 240 \|\i \i
|
|||
|
}
|
|||
|
|
|||
|
FOURTH SECTION: Key bindings:
|
|||
|
|
|||
|
Section names you must provide:
|
|||
|
|
|||
|
:main For editing window
|
|||
|
:prompt For prompt lines
|
|||
|
:query For single-character query lines
|
|||
|
:querya Singe-character query for quote
|
|||
|
:querysr Search & Replace single-character query
|
|||
|
:shell For shell windows
|
|||
|
:vtshell For terminal emulator windows
|
|||
|
|
|||
|
Other sections may be given as well for organization purposes or for
|
|||
|
use with the '-keymap' option.
|
|||
|
|
|||
|
Use:
|
|||
|
:inherit name To copy the named section into the current one
|
|||
|
:delete key To delete a key sequence from the current section
|
|||
|
|
|||
|
Keys:
|
|||
|
|
|||
|
Use ^@ through ^_, ^# and ^? for Ctrl chars
|
|||
|
Use SP for space
|
|||
|
Use a TO b to generate a range of characters
|
|||
|
Use MDOWN, MDRAG, MUP, M2DOWN, M2DRAG, M2UP, M3DOWN, M3DRAG, M3UP for mouse
|
|||
|
Use MWDOWN, MWUP for wheel mouse motion
|
|||
|
|
|||
|
You can also use termcap string capability names. For example:
|
|||
|
|
|||
|
.ku Up
|
|||
|
.kd Down
|
|||
|
.kl Left
|
|||
|
.kr Right
|
|||
|
.kh Home
|
|||
|
.kH End
|
|||
|
.kI Insert
|
|||
|
.kD Delete
|
|||
|
.kP PgUp
|
|||
|
.kN PgDn
|
|||
|
.k1 - .k9 F1 - F9
|
|||
|
.k0 F0 or F10... you decide.
|
|||
|
.k; F10
|
|||
|
|
|||
|
Macros:
|
|||
|
|
|||
|
Simple macros can be made by comma seperating 2 or more command names. For
|
|||
|
example:
|
|||
|
|
|||
|
bof,bol ^T Z Goto beginning of last line
|
|||
|
|
|||
|
Also quoted matter is typed in literally:
|
|||
|
|
|||
|
bol,">",dnarw .k1 Quote news article line
|
|||
|
|
|||
|
Macros may cross lines if they end with ,
|
|||
|
|
|||
|
|
|||
|
:windows Bindings common to all windows
|
|||
|
type U+0 TO U+10FFFF
|
|||
|
abort ^G Abort window
|
|||
|
abort ^X ^C
|
|||
|
abort ^C
|
|||
|
tw0 ^X 0 Delete window: can make orphan buffers
|
|||
|
tw1 ^X 1 Delete other windows: can make orphan buffers
|
|||
|
uarg ^U Repeat prefix
|
|||
|
uarg ^[ -
|
|||
|
uarg ^[ 0 TO 9
|
|||
|
help ^X ^H
|
|||
|
help .k1
|
|||
|
help ^[ O P
|
|||
|
help ^[ [ 1 1 ~
|
|||
|
hnext ^X .
|
|||
|
hprev ^X ,
|
|||
|
math ^[ m Calculator
|
|||
|
math ^[ M
|
|||
|
nextw ^X o Other window
|
|||
|
nextw ^X O Other window
|
|||
|
pgdn .kN Screen down
|
|||
|
pgdn ^V
|
|||
|
pgdn ^[ [ 6 ~
|
|||
|
pgdn ^# S
|
|||
|
pgup .kP Screen up
|
|||
|
pgup ^[ v
|
|||
|
pgup ^[ V
|
|||
|
pgup ^[ [ 5 ~
|
|||
|
pgup ^# T
|
|||
|
play,"0" ^X e Execute keyboard macro
|
|||
|
play,"0" ^X E Execute keyboard macro
|
|||
|
prevw ^X p Previous window (uemacs)
|
|||
|
prevw ^X P Previous window (uemacs)
|
|||
|
query ^X q Query insert
|
|||
|
query ^X Q Query insert
|
|||
|
record,"0" ^X ( Record macro
|
|||
|
retype ^L Refresh screen
|
|||
|
rtn ^M Return
|
|||
|
shell ^Z Suspend
|
|||
|
shell ^[ s Suspend (uemacs)
|
|||
|
shell ^[ S Suspend (uemacs)
|
|||
|
stop ^X ) Stop recording macro
|
|||
|
Mouse handling
|
|||
|
defmdown MDOWN Move the cursor to the mouse location
|
|||
|
defmup MUP
|
|||
|
defmdrag MDRAG Select a region of characters
|
|||
|
defm2down M2DOWN Select the word at the mouse location
|
|||
|
defm2up M2UP
|
|||
|
defm2drag M2DRAG Select a region of words
|
|||
|
defm3down M3DOWN Select the line at the mouse location
|
|||
|
defm3up M3UP
|
|||
|
defm3drag M3DRAG Select a region of lines
|
|||
|
defmiddleup MIDDLEUP
|
|||
|
defmiddledown MIDDLEDOWN Insert text
|
|||
|
|
|||
|
xtmouse ^[ [ M Introduces an xterm mouse event
|
|||
|
extmouse ^[ [ < Introduces an extended xterm mouse event
|
|||
|
|
|||
|
:main Text editing window
|
|||
|
:inherit windows
|
|||
|
|
|||
|
ESC-x compile
|
|||
|
|
|||
|
:def compile mwind!,mfit!,querysave,query,scratch,"* Build Log *",rtn,bof,markb,eof," ",markk,blkdel,build
|
|||
|
|
|||
|
Grep
|
|||
|
|
|||
|
:def grep_find mwind!,mfit!,scratch,"* Grep Log *",rtn,bof,markb,eof," ",markk,blkdel,grep
|
|||
|
|
|||
|
Man page
|
|||
|
|
|||
|
:def man scratch,"* Man Page *",rtn,bof,markb,eof," ",markk,blkdel," ",ltarw,run,"man -P cat -S 2:3 "
|
|||
|
|
|||
|
Shell windows
|
|||
|
We load the already existing Startup Log first so that Shell does not inherit the current directory.
|
|||
|
|
|||
|
:def shell1 scratch_push,"* Startup Log *",rtn,scratch_push,"* Shell 1 *",rtn,vtbknd!,eof
|
|||
|
:def shell2 scratch_push,"* Startup Log *",rtn,scratch_push,"* Shell 2 *",rtn,vtbknd!,eof
|
|||
|
:def shell3 scratch_push,"* Startup Log *",rtn,scratch_push,"* Shell 3 *",rtn,vtbknd!,eof
|
|||
|
:def shell4 scratch_push,"* Startup Log *",rtn,scratch_push,"* Shell 4 *",rtn,vtbknd!,eof
|
|||
|
|
|||
|
Macros allowed in shell window commands
|
|||
|
:def shell_clear psh,bof,markb,eof,markk,blkdel
|
|||
|
:def shell_parse parserr
|
|||
|
:def shell_gparse gparse
|
|||
|
:def shell_release release
|
|||
|
:def shell_math maths
|
|||
|
:def shell_typemath txt,math,"ins",rtn,rtn,txt,"\r",rtn
|
|||
|
:def shell_rtn rtn
|
|||
|
:def shell_edit edit
|
|||
|
:def shell_dellin dellin
|
|||
|
:def shell_cd cd
|
|||
|
:def shell_pop popabort
|
|||
|
:def shell_markb markb
|
|||
|
:def shell_markk markk
|
|||
|
|
|||
|
Split window version
|
|||
|
:def shell1 if,"is_shell==0",then,tw1,mfit,endif,scratch,"* Shell 1 *",rtn,vtbknd!,eof
|
|||
|
:def shell2 if,"is_shell==0",then,tw1,mfit,endif,scratch,"* Shell 2 *",rtn,vtbknd!,eof
|
|||
|
:def shell3 if,"is_shell==0",then,tw1,mfit,endif,scratch,"* Shell 3 *",rtn,vtbknd!,eof
|
|||
|
:def shell4 if,"is_shell==0",then,tw1,mfit,endif,scratch,"* Shell 4 *",rtn,vtbknd!,eof
|
|||
|
|
|||
|
:def ensure_other if,"no_windows<2",then,splitw,endif
|
|||
|
|
|||
|
Ispell
|
|||
|
:def ispellfile filt,"cat >ispell.tmp;ispell ispell.tmp </dev/tty >/dev/tty;cat ispell.tmp;/bin/rm ispell.tmp",rtn,retype
|
|||
|
: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
|
|||
|
|
|||
|
Aspell
|
|||
|
: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
|
|||
|
: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
|
|||
|
|
|||
|
aspellword ^[ $
|
|||
|
|
|||
|
ctrl ^Q Quote Ctrl chars
|
|||
|
ctrl ` Quote Ctrl chars
|
|||
|
|
|||
|
paste ^[ ] 5 2 ; Base64 paste (obsolete)
|
|||
|
brpaste ^[ [ 2 0 0 ~ Bracketed paste
|
|||
|
brpaste_done ^[ [ 2 0 1 ~ Bracketed paste done
|
|||
|
|
|||
|
insc ^[ [ 2 ~
|
|||
|
insc ^[ [ L SCO
|
|||
|
|
|||
|
delch ^[ [ 3 ~
|
|||
|
|
|||
|
pgup ^[ [ I SCO
|
|||
|
|
|||
|
pgdn ^[ [ G SCO
|
|||
|
|
|||
|
home ^[ [ 1 ~ Putty, Linux, Cygwin
|
|||
|
home ^[ [ H Xterm, Konsole, SCO
|
|||
|
home ^[ O H gnome-terminal
|
|||
|
home ^[ [ 7 ~ RxVT
|
|||
|
home ^# SP A Amiga
|
|||
|
|
|||
|
eol ^[ [ 4 ~ Putty, Linux, Cygwin, ssh
|
|||
|
eol ^[ [ F Xterm, Konsole, SCO
|
|||
|
eol ^[ O F gnome-terminal
|
|||
|
eol ^[ [ 8 ~ RxVT
|
|||
|
eol ^# SP @ Amiga
|
|||
|
|
|||
|
Editor Macros (for EMACS)
|
|||
|
|
|||
|
Better off not having this: JOE automatically figure out the fill
|
|||
|
prefix. If you really want to set the left margin, use ^[ ^[ L.
|
|||
|
mode,"lmargin",rtn,"col",rtn ^X . Left fill prefix (left margin)
|
|||
|
|
|||
|
Select entire file
|
|||
|
:def markall eof,drop,msg,"Mark set",rtn,bof
|
|||
|
|
|||
|
Convert word to upper case
|
|||
|
:def upcaseword psh,nextword-,markk,prevword-,markb,upper,nextword-
|
|||
|
|
|||
|
Convert word to lower case
|
|||
|
:def dncaseword psh,nextword-,markk,prevword-,markb,lower,nextword-
|
|||
|
|
|||
|
Capitalize word
|
|||
|
:def capword psh,if,"arg>=0",then,
|
|||
|
nextword,markk,prevword,markb,lower,rtarw,markk,upper,nextword,
|
|||
|
else,
|
|||
|
prevword,markb,nextword,markk,lower,prevword,rtarw,markk,upper,ltarw,
|
|||
|
endif
|
|||
|
|
|||
|
Transpose characters
|
|||
|
:def transpc psh,if,"arg>=0",then,
|
|||
|
ltarw,markb,rtarw,markk,rtarw,
|
|||
|
blkmove,rtarw,
|
|||
|
else,
|
|||
|
markk,ltarw,markb,ltarw,blkmove,
|
|||
|
rtarw,
|
|||
|
endif
|
|||
|
|
|||
|
Transpose lines
|
|||
|
:def transpl psh,if,"arg>=0",then,
|
|||
|
uparw,bol,markb,dnarw,markk,dnarw,
|
|||
|
blkmove,dnarw,
|
|||
|
else,
|
|||
|
bol,markk,uparw,markb,uparw,blkmove,
|
|||
|
dnarw,
|
|||
|
endif
|
|||
|
|
|||
|
Transpose words
|
|||
|
:def transpw psh,if,"arg>=0",then,
|
|||
|
prevword,nextword,nextword,markk,
|
|||
|
prevword,markb,setmark,":",prevword,
|
|||
|
nextword,blkmove,markk,prevword,
|
|||
|
markb,gomark,":",blkmove,nextword,
|
|||
|
else,
|
|||
|
prevword,nextword,markk,
|
|||
|
prevword,markb,setmark,":",prevword,
|
|||
|
nextword,blkmove,markk,prevword,
|
|||
|
markb,gomark,":",blkmove,prevword,nextword,
|
|||
|
endif
|
|||
|
|
|||
|
Mark paragraph
|
|||
|
:def markp eop-,bop-,markb,eop-
|
|||
|
|
|||
|
Cut to character
|
|||
|
:def cutc psh,drop,fwrdc-,query,markk,blkdel
|
|||
|
|
|||
|
Append to file
|
|||
|
:def appendtofile psh,markk,if,"markv",then,blksave,bol,">>",eol,query,else,save,bol,deleol,">>",query,endif
|
|||
|
|
|||
|
Recenter
|
|||
|
:def recenter retype,arg,"top+height/2-line",rtn,upslide
|
|||
|
|
|||
|
Move to center line
|
|||
|
:def midline arg,"top+height/2-line",rtn,dnarw
|
|||
|
|
|||
|
Count lines in region
|
|||
|
:def linesregn psh,markk,swap,math,"z=line",rtn,swap,math,"line-z",rtn,msg,math,"ans",rtn," lines in region",rtn
|
|||
|
|
|||
|
Next error, force windows on screen
|
|||
|
:def nxterrforce mwind,mfit,prevw,nxterr
|
|||
|
|
|||
|
Prev error, force windows on screen
|
|||
|
:def prverrforce mwind,mfit,prevw,prverr
|
|||
|
|
|||
|
Go to next page or eof
|
|||
|
:def nextpage ffirst,"",rtn,if,"!joe(\"bn\",rtn)",then,bof,msg,"Beginning of buffer",rtn,endif
|
|||
|
|
|||
|
Go to previous page or bof
|
|||
|
:def prevpage ffirst,"",rtn,if,"!joe(\"n\",rtn)",then,eof,msg,"End of buffer",rtn,endif
|
|||
|
|
|||
|
Indent region
|
|||
|
:def indentregion if,"markv",then,rindent-!,else,markk,rindent-!,endif
|
|||
|
|
|||
|
Tags search other window
|
|||
|
:def tagsother psh,nextword,prevword,markb,nextword,markk,copy,
|
|||
|
ensure_other,prevw,tag," ",bol,deleol,yank,yankpop,query!,nextw
|
|||
|
|
|||
|
markall ^X H
|
|||
|
markall ^X h
|
|||
|
|
|||
|
upcaseword ^[ u
|
|||
|
upcaseword ^[ U
|
|||
|
|
|||
|
dncaseword ^[ l
|
|||
|
dncaseword ^[ L
|
|||
|
|
|||
|
capword ^[ c
|
|||
|
capword ^[ C
|
|||
|
|
|||
|
psh,markk,lower ^X ^L Downcase region
|
|||
|
|
|||
|
psh,markk,upper ^X ^U Upcase region
|
|||
|
|
|||
|
transpc ^T Transpose chars
|
|||
|
|
|||
|
transpl ^X ^T Transpose lines
|
|||
|
|
|||
|
transpw ^[ t Transpose words
|
|||
|
transpw ^[ T Transpose words
|
|||
|
|
|||
|
markp ^[ h Mark paragraph
|
|||
|
markp ^[ H Mark paragraph
|
|||
|
|
|||
|
nextword-,prevword-,markb,nextword- ^[ @ Mark word
|
|||
|
|
|||
|
"()",ltarw ^[ ( Insert ()
|
|||
|
|
|||
|
bol,insc,delw ^[ ^ Delete indentation
|
|||
|
bol,insc,ltarw!,delw,if,"col != 1",then,insc,endif ^[ ^ Delete indentation
|
|||
|
|
|||
|
psh,markk,copy,msg,"Region saved",rtn ^[ w Yank copy
|
|||
|
psh,markk,copy,msg,"Region saved",rtn ^[ W Yank copy
|
|||
|
|
|||
|
mode,"rmargin",rtn,"col",rtn,
|
|||
|
msg,"Fill-column set",rtn ^X f Set right margin
|
|||
|
|
|||
|
mode,"rmargin",rtn,"col",rtn,
|
|||
|
msg,"Fill-column set",rtn ^X F Set right margin
|
|||
|
|
|||
|
bol,rtn,backw,rtn,rtn,uparw,delw ^X ^O Delete blank lines
|
|||
|
|
|||
|
" ",backw," ",insc,delw ^[ SP Just one space
|
|||
|
|
|||
|
" ",backw,insc,delw ^[ \ Delete horizontal space
|
|||
|
|
|||
|
stop,msg,"Abort",beep,rtn ^G Abort message
|
|||
|
|
|||
|
stop,msg,"Abort",beep,rtn ^[ ^G Abort message
|
|||
|
|
|||
|
stop,msg,"Abort",beep,rtn ^X ^G Abort message
|
|||
|
|
|||
|
psh,markk,blkdel ^W Cut
|
|||
|
|
|||
|
savenow ^X ^S Save file
|
|||
|
|
|||
|
querysave ^X s
|
|||
|
|
|||
|
querysave ^X S
|
|||
|
|
|||
|
drop,msg,"Mark set",rtn ^@ Drop anchor
|
|||
|
|
|||
|
ensure_other,nextw,pgdn-!,prevw ^[ ^V Scroll other window down
|
|||
|
|
|||
|
ensure_other,nextw,pgup-!,prevw ^[ ^Z Scroll other window up
|
|||
|
|
|||
|
bol,nedge,pedge ^[ m Gnu-emacs goto indentation
|
|||
|
bol,nedge,pedge ^[ M Gnu-emacs goto indentation
|
|||
|
(prefer ESC m to be math)
|
|||
|
|
|||
|
ensure_other,nextw,nbuf-!,prevw ^X 4 b Switch buffers other window
|
|||
|
|
|||
|
ensure_other,nextw,edit,query,prevw ^X 4 f Find file other window
|
|||
|
|
|||
|
ensure_other,nextw,edit,query,prevw ^X 4 ^F
|
|||
|
|
|||
|
tagsother ^X 4 . Tags search other windows
|
|||
|
|
|||
|
|
|||
|
querysave,query,killjoe ^X ^C Query to save files, then exit
|
|||
|
|
|||
|
lose,query ^X k Kill buffer in window
|
|||
|
|
|||
|
lose,query ^X K Kill buffer in window
|
|||
|
|
|||
|
lose,query,edit ^X ^V Edit a file: no orphaned buffers
|
|||
|
reload ^X ^V Reload current file
|
|||
|
|
|||
|
cutc ^[ z Cut to character
|
|||
|
cutc ^[ Z Cut to character
|
|||
|
|
|||
|
appendtofile ^X a
|
|||
|
appendtofile ^X A
|
|||
|
|
|||
|
recenter ^L Recenter
|
|||
|
|
|||
|
midline ^[ r Move to center line
|
|||
|
midline ^[ R
|
|||
|
|
|||
|
linesregn ^[ = Count lines region
|
|||
|
|
|||
|
mode,"rdonly",rtn ^X ^Q Toggle read-only
|
|||
|
|
|||
|
compile ^X c Compile
|
|||
|
compile ^X C Compile
|
|||
|
|
|||
|
nxterrforce ^X n Next error
|
|||
|
nxterrforce ^X N
|
|||
|
nxterrforce ^X `
|
|||
|
prverrforce ^X p Previous error
|
|||
|
prverrforce ^X P
|
|||
|
|
|||
|
backs ^? Backspace
|
|||
|
backs ^H
|
|||
|
backw ^[ ^? Backspace word
|
|||
|
backw ^[ ^H
|
|||
|
bknd ^X ' Shell window (joe)
|
|||
|
bof ^[ < Goto beginning of file
|
|||
|
nextpage ^X [ Go to next page or eof
|
|||
|
bof ^X [
|
|||
|
home .kh Goto beginning of line
|
|||
|
home ^A
|
|||
|
home ^[ [ H
|
|||
|
home ^[ [ 1 ~
|
|||
|
bop ^[ p (uemacs)
|
|||
|
bop ^[ P (uemacs)
|
|||
|
bop ^[ {
|
|||
|
bufed ^X ^B
|
|||
|
bknd ^[ ' Shell window
|
|||
|
crawlr ^X > Scroll to the right
|
|||
|
crawll ^X < Scroll to the left
|
|||
|
delch .kD Delete character
|
|||
|
delch ^D
|
|||
|
deleol ^K Delete to end of line
|
|||
|
delw ^[ d Delete word
|
|||
|
delw ^[ D Delete word
|
|||
|
dnarw .kd Go down
|
|||
|
dnarw ^N
|
|||
|
dnarw ^[ O B
|
|||
|
dnarw ^[ [ B
|
|||
|
dnarw ^# B
|
|||
|
dnslide ^X ^N Slide down (uemacs)
|
|||
|
dnslide,dnslide,dnslide,dnslide MWDOWN
|
|||
|
edit ^X ^F Edit a file: creates orphaned buffers
|
|||
|
edit ^X d Should be dired, but maybe user wants to edit?
|
|||
|
eof ^[ > Go to end of file
|
|||
|
|
|||
|
prevpage ^X ] Go to next page or eof
|
|||
|
|
|||
|
eof ^X ]
|
|||
|
eol .kH Go to end of line
|
|||
|
eol .@7
|
|||
|
eol ^E
|
|||
|
eol ^[ [ F
|
|||
|
eol ^[ [ 4 ~
|
|||
|
eop ^[ n (uemacs)
|
|||
|
eop ^[ N (uemacs)
|
|||
|
eop ^[ }
|
|||
|
execmd ^[ x
|
|||
|
execmd ^[ X
|
|||
|
insc ^C (uemacs)
|
|||
|
ffirst ^S Search forward
|
|||
|
isrch ^S
|
|||
|
ffirst ^\
|
|||
|
psh,markk,filt,query ^[ | Filter block
|
|||
|
format ^[ q Format paragraph
|
|||
|
format ^[ Q Format paragraph
|
|||
|
gomark ^X / Goto bookmark
|
|||
|
groww ^X ^ Enlarge window
|
|||
|
groww ^X z (uemacs)
|
|||
|
groww ^X Z (uemacs)
|
|||
|
insf ^X i Insert a file
|
|||
|
insf ^X I Insert a file
|
|||
|
yapp ^[ ^W Append next kill
|
|||
|
line ^[ g Goto line (uemacs)
|
|||
|
line ^[ G Goto line (uemacs)
|
|||
|
ltarw .kl Go left
|
|||
|
ltarw ^B
|
|||
|
ltarw ^[ O D
|
|||
|
ltarw ^[ [ D
|
|||
|
pbuf ^X .kl Go left
|
|||
|
pbuf ^X ^[ O D
|
|||
|
pbuf ^X ^[ [ D
|
|||
|
ltarw ^# D
|
|||
|
mode ^[ ^[ Change modes
|
|||
|
menu,"root",rtn ^[ ^[
|
|||
|
nbuf ^X b Next buffer in current window (but it should prompt)
|
|||
|
nbuf ^X B Next buffer in current window (but it should prompt)
|
|||
|
nbuf ^X x (uemacs)
|
|||
|
nbuf ^X X (uemacs)
|
|||
|
nbuf ^X .kr
|
|||
|
nbuf ^X ^[ O C
|
|||
|
nbuf ^X ^[ [ C
|
|||
|
nextpos ^K = Goto next position in position history
|
|||
|
nextword ^[ f Goto next word
|
|||
|
nextword ^[ F Goto next word
|
|||
|
notmod ^[ ~ Not modified
|
|||
|
open ^O Split line
|
|||
|
open ^[ ^O
|
|||
|
pbuf ^X b Previous buffer in current window
|
|||
|
prevpos ^K - Goto previous position in position history
|
|||
|
prevword ^[ b Previous word
|
|||
|
prevword ^[ B Previous word
|
|||
|
qrepl ^[ % Query replace
|
|||
|
qrepl ^[ r Query replace (uemacs)
|
|||
|
qrepl ^[ ^R Query replace (uemacs)
|
|||
|
redo ^^ Redo changes
|
|||
|
rfirst ^R Search backwards
|
|||
|
rsrch ^R Incremental search backwards
|
|||
|
|
|||
|
indentregion ^X ^I
|
|||
|
indentregion ^[ ^\
|
|||
|
markk,rindent ^[ ^\
|
|||
|
rtarw .kr Go right
|
|||
|
rtarw ^F
|
|||
|
rtarw ^[ O C
|
|||
|
rtarw ^[ [ C
|
|||
|
rtarw ^# C
|
|||
|
run ^[ !
|
|||
|
save ^X ^W Write file
|
|||
|
setmark ^X j Set bookmark
|
|||
|
setmark ^X J Set bookmark
|
|||
|
shrinkw ^X ^Z (uemacs)
|
|||
|
splitw ^X 2 Split window
|
|||
|
stat ^X l Gnu-Emacs Show status
|
|||
|
stat ^X L Gnu-Emacs Show status
|
|||
|
stat ^X ? JED
|
|||
|
stat ^X = Gnu-Emacs
|
|||
|
swap ^X ^X Swap mark and cursor
|
|||
|
tag ^[ . Tag search
|
|||
|
tagjump ^[ , Jump to next match
|
|||
|
tomatch ^X g Goto matching parenthasis (joe)
|
|||
|
tomatch ^X G Goto matching parenthasis (joe)
|
|||
|
tomatch ^[ ^F (uemacs)
|
|||
|
txt ^X t Prompt for text to insert
|
|||
|
txt ^X T Prompt for text to insert
|
|||
|
undo ^_ Undo changes
|
|||
|
undo ^X u
|
|||
|
undo ^X U
|
|||
|
uparw .ku Go up
|
|||
|
uparw ^P
|
|||
|
uparw ^[ O A
|
|||
|
uparw ^[ [ A
|
|||
|
uparw ^# A
|
|||
|
upslide ^X ^P Slide up (uemacs)
|
|||
|
upslide,upslide,upslide,upslide MWUP
|
|||
|
yank ^Y Yank deleted text
|
|||
|
yankpop ^[ y Yank-pop
|
|||
|
yankpop ^[ Y Yank-pop
|
|||
|
shell1 ^[ [ 1 1 ~
|
|||
|
shell1 ^[ O P
|
|||
|
shell1 ^[ [ [ A
|
|||
|
shell1 .k1
|
|||
|
shell2 ^[ [ 1 2 ~
|
|||
|
shell2 ^[ O Q
|
|||
|
shell2 ^[ [ [ B
|
|||
|
shell2 .k2
|
|||
|
shell3 ^[ [ 1 3 ~
|
|||
|
shell3 ^[ O R
|
|||
|
shell3 ^[ [ [ C
|
|||
|
shell3 .k3
|
|||
|
shell4 ^[ [ 1 4 ~
|
|||
|
shell4 ^[ O S
|
|||
|
shell4 ^[ [ [ D
|
|||
|
shell4 .k4
|
|||
|
|
|||
|
:prompt Prompt windows
|
|||
|
:inherit main
|
|||
|
abort ^G
|
|||
|
abort ^C
|
|||
|
complete ^I
|
|||
|
dnarw,eol .kd Go down
|
|||
|
dnarw,eol ^N
|
|||
|
dnarw,eol ^[ O B
|
|||
|
dnarw,eol ^[ [ B
|
|||
|
dnarw,eol ^# B
|
|||
|
uparw,eol .ku Go up
|
|||
|
uparw,eol ^# A
|
|||
|
uparw,eol ^P
|
|||
|
uparw,eol ^[ O A
|
|||
|
uparw,eol ^[ [ A
|
|||
|
|
|||
|
:menu Selection menus
|
|||
|
:inherit windows
|
|||
|
|
|||
|
pgupmenu ^[ [ I
|
|||
|
|
|||
|
pgdnmenu ^[ [ G
|
|||
|
|
|||
|
bolmenu ^[ [ 1 ~ Putty, Linux, Cygwin
|
|||
|
bolmenu ^[ [ H Xterm, Konsole
|
|||
|
bolmenu ^[ O H gnome-terminal
|
|||
|
bolmenu ^[ [ 7 ~ RxVT
|
|||
|
bolmenu ^# SP A Amiga
|
|||
|
|
|||
|
eolmenu ^[ [ 4 ~ Putty, Linux, Cygwin, ssh
|
|||
|
eolmenu ^[ [ F Xterm, Konsole
|
|||
|
eolmenu ^[ O F gnome-terminal
|
|||
|
eolmenu ^[ [ 8 ~ RxVT
|
|||
|
eolmenu ^# SP @ Amiga
|
|||
|
|
|||
|
abort ^[ ^[
|
|||
|
backsmenu ^?
|
|||
|
backsmenu ^H
|
|||
|
bofmenu ^K U
|
|||
|
bofmenu ^K ^U
|
|||
|
bofmenu ^K u
|
|||
|
bolmenu .kh
|
|||
|
bolmenu ^A
|
|||
|
dnarwmenu .kd
|
|||
|
dnarwmenu ^N
|
|||
|
dnarwmenu ^[ [ B
|
|||
|
dnarwmenu ^# B
|
|||
|
dnarwmenu ^[ O B
|
|||
|
eofmenu ^K V
|
|||
|
eofmenu ^K ^V
|
|||
|
eofmenu ^K v
|
|||
|
eolmenu .kH
|
|||
|
eolmenu ^E
|
|||
|
ltarwmenu .kl
|
|||
|
ltarwmenu ^B
|
|||
|
ltarwmenu ^[ [ D
|
|||
|
ltarwmenu ^[ O D
|
|||
|
ltarwmenu ^# D
|
|||
|
pgdnmenu .kN Screen down
|
|||
|
pgdnmenu ^V
|
|||
|
pgdnmenu ^[ [ 6 ~
|
|||
|
pgdnmenu ^# S
|
|||
|
pgupmenu .kP Screen up
|
|||
|
pgupmenu ^[ v
|
|||
|
pgupmenu ^[ V
|
|||
|
pgupmenu ^[ [ 5 ~
|
|||
|
pgupmenu ^# T
|
|||
|
rtarwmenu .kr
|
|||
|
rtarwmenu ^F
|
|||
|
rtarwmenu ^[ [ C
|
|||
|
rtarwmenu ^# C
|
|||
|
rtarwmenu ^[ O C
|
|||
|
rtn SP
|
|||
|
rtn ^I
|
|||
|
rtn ^X H
|
|||
|
rtn ^X h
|
|||
|
rtn ^X ^H
|
|||
|
tabmenu ^I
|
|||
|
uparwmenu .ku
|
|||
|
uparwmenu ^P
|
|||
|
uparwmenu ^[ [ A
|
|||
|
uparwmenu ^# A
|
|||
|
uparwmenu ^[ O A
|
|||
|
defm2down M2DOWN Hits return key
|
|||
|
|
|||
|
:querysr Search & replace query window
|
|||
|
type U+0 TO U+10FFFF
|
|||
|
|
|||
|
:query Single-key query window
|
|||
|
:inherit windows
|
|||
|
|
|||
|
:querya Single-key query window for quoting
|
|||
|
type U+0 TO U+10FFFF
|
|||
|
|
|||
|
:shell Input to shell windows
|
|||
|
:inherit main
|
|||
|
"" ^C Abort
|
|||
|
"" ^D Eof
|
|||
|
"\t" ^I Tab
|
|||
|
"" ^H Backspace
|
|||
|
"\r" ^M Return
|
|||
|
"" ^? Backspace
|
|||
|
|
|||
|
:vtshell Input to ANSI shell windows
|
|||
|
:inherit main
|
|||
|
"[A" [ A
|
|||
|
"[A" .ku
|
|||
|
"[B" [ B
|
|||
|
"[B" .kd
|
|||
|
"[C" [ C
|
|||
|
"[C" .kr
|
|||
|
"[D" [ D
|
|||
|
"[D" .kl
|
|||
|
"" ^A BOL for bash
|
|||
|
"" ^C Abort
|
|||
|
"" ^D Eof
|
|||
|
"" ^E EOL for bash
|
|||
|
"\t" ^I Tab
|
|||
|
"" ^H Backspace
|
|||
|
"\r" ^M Return
|
|||
|
"" ^? Backspace
|