📄 list
字号:
Joe commands grouped by functionBackground programs-------------------bknd Run a shell in a windowkillproc Kill program in current windowrun Run a UNIX command in a windowsys Run a UNIX command and return to editor when done (I/O does not go through editor, be we get the command's return status).Blocks------blkcpy Copy marked block to cursorblkdel Delete marked blockblkmove Move marked block to cursorblksave Save marked block into a filecopy Copy block to kill-ringdrop Set markb. If it was already set, eliminate it.dropon Set markb. If it was already set, eliminate it. Turn on marking mode.toggle_marking If we're in a block: clear markb and markk. If marking is off: set markb and turn on marking. If marking is on: set markk (swap if necessary with markb) and turn marking off.begin_marking If we're on an edge of a block: set markb to other edge and turn on marking mode. Otherwise set markb to cursor and turn on marking mode.select Set markb. If it was already set, do nothing.filt Filter block or file through a unix commandmarkb Set beginning of block markmarkk Set end of block markmarkl Mark current linenmark Eliminate markb and markkpicokill Delete line or blockpop Restore markb and markk values from stackpsh Push markb and markk values onto a stackswap Switch cursor with markbtomarkb Move cursor to markbtomarkbk Move cursor to markb or markktomarkk Move cursor to markkyank Insert top of kill ringyankpop Scroll through kill ringyapp Append next kill to top of kill ringupper Convert everything in block to uppercaselower Convert everything in block to lowercaseBuffers-------bufed Buffer menuedit Load file into window: asks to reload if buffer existsswitch Load file into window: always uses buffer if it existsscratch Load a scratch buffer into current windownbuf Load next buffer into current windowpbuf Load previous buffer into current windowCursor Motion-------------bof Move cursor to beginning of filebol Move cursor to beginning of line (always)bop Move to beginning of a paragraphbos Move to beginning of screenbkwdc Search backwards for a characterbyte Move cursor to specific byte offset into the file.col Move cursor to specific column number.dnarw Move cursor down one lineeof Move cursor to end of fileeol Move cursor to end of lineeop Move cursor to end of paragraphfwrdc Search forward for matching charactergomark Move cursor to a bookmarkhome Move cursor to beginning of lineline Move cursor to specified lineltarw Move cursor leftnedge Move cursor to next edgenextpos Move cursor to next position in cursor position historynextword Move cursor to end of next wordpedge Move cursor to previous edgeprevpos Move cursor to previous position in cursor position historyprevword Move cursor to beginning of previous wordrtarw Move cursor rightsetmark Set a bookmarktomatch Move cursor to matching delimitertos Move cursor to top of screenuparw Move cursor upDeletion--------backs Backspacebackw Backspace a worddelbol Delete to beginning of linedelch Delete character under cursordeleol Delete to end of linedellin Delete entire linedelw Delete word to rightError parsing-------------nxterr Goto next parsed errorparserr Parse errors in current fileprverr Go to previous parsed errorshowerr Show current messageExit----cancel Like abort, but doesn't return failure: useful in macros to escape out of a prompt.abort Abort current buffer/window. Prompt if it is changed.abortbuf Like above, but just fail if it would have to prompt because it's the last window on a modified buffer.ask Prompt to save current file: user says yes return, user says no: run 'abort'. Use in a macro: "ask,query,exsave"exsave Save file and exitlose emacs kill buffer. The buffer is deleted- any windows with it get a replacement scratch buffer.querysave Prompt to save each modified buffer Use in a macro: "querysave,query,killjoe"killjoe Exit joe immediately without checking for modified buffersFiles-----save Save filesavenow Save immediately, unless file name is not knowninsf Insert a fileFormatting----------center Center linefmtblk Format all paragraphs in a blockformat Format current paragraphlindent Indent to the leftrindent Indent to the rightHelp----help Turn help on or offhnext Switch to next help screenhprev Switch to previous help screenInserting---------ctrl Type next keyfinish Complete word in text windowinsc Insert a space open Insert newlinequote Insert a control characterquote8 Insert a meta characterrtn Return keytype Insert typed characterMacros------macros Insert keyboard macros into current fileplay Execute a macroquery Macro queryrecord Record a macrostop Stop recording macroMenu----backsmenu Undo in file completion menubofmenu Move to beginning of menubolmenu Move to beginning of line in a menudnarwmenu Move down one line in a menueolmenu Move cursor to end of line in a menueofmenu Move cursor to end of menultarwmenu Move cursor left in a menurtarwmenu Move cursor right in menuuparwmenu Move cursor up in menudnslidemenu Scroll menu down one lineupslidemenu Scroll menu up one linepgupmenu Scroll menu uppgdnmenu Scroll menu downMisc----beep Beepexecmd Execute a joe commandmath Calculatormode Mode promptmsg Display a messagenotmod Clear the modified flagretype Refresh screenshell Suspend process or execute a sub-shellstat Display cursor positiontag Tags file searchtxt Insert textname Insert current file namelanguage Insert current languagecharset Insert current character setkeymap Switch to another keymapPrompts-------complete Complete a file-name in a promptif Only run following cmds if expr is true (non-zero)then Same as rtn but only works in prompt windowselsif Try a new conditionelse Toggle truth flagendif Start running cmds againHere is an example 'if' macro:if,"char==65",then,"it's an A",else,"it's not an A",endif ^[ qWhen you hit ^[ q, if the character under the cursor is an 'A': "it's a A"is inserted into the buffer, otherwise "it's not an A" is inserted."if" creates a math prompt (like ESC m). "then" is like "rtn"- it hits thereturn key for this prompt.Within the math prompt, the following variables are available: char ASCII value of character under cursor width Width of screen height Height of screen byte byte number col column number line line number lines no. lines in file top line number of top line of windowRepeat------arg Prompt for repeat argumentuarg Universal argumentScrolling---------crawll Pan screen leftcrawlr Pan screen rightdnslide Scroll screen down 1 linepgdn Scroll screen downpgup Scroll screen upupslide Scroll up one lineSearch and replace------------------ffirst Find textfnext Repeat previous searchisrch Incremental search forwardqrepl Search and replacerfirst Search backwards for textrsrch Reverse incremental searchWindows-------explode Display one window or display all windowsdupw Duplicate current windowgroww Increase size of windownextw Move cursor to next windowprevw Go to previous windowshrinkw Shrink windowsplitw Split window into twotw0 Eliminate this windowtw1 Show only one windowmwind Get error messages window on the screen and put cursor in it.mfit Fit two windows on the screen: make current window 6 lines, and give rest of space to window above. The window above is either the existing previous window, a newly created one if there wasn't one.Undo----redo Re-execute the latest undone changeundo Undo last changeMouse-----tomouse Move the cursor to where the mouse was clicked/draggeddefmdown Default single-click handlersdefmdrag (click to move cursor, drag to select characters)defmupdefm2down Default double-click handlersdefm2drag (drag to select words)defm2updefm3down Default triple-click handlersdefm3drag (drag to select lines)defm3uppaste Insert text until magic sequence ^[ [ 2 0 1 ~ is received. (for XTerm bracketed paste).Math----Math functions: sin, cos, tan, exp, sqrt, cbrt, ln, log, asin, acos, atan, sinh, cosh, tanh, asinh, acosh, atanh, int, floor, ceil, abs, erf, erfc, j0, j1, y0, y1Variables: e Set to 'e' pi Set to 'pi' top Set to line number of top window line lines Set to number of lines in file line Set to current line number col Set to current column number byte Set to current byte number size Set to buffer size height Set to window height width Set to window width char Set to ASCII val of character under cursor markv True if there is a valid block set (^KB ... ^KK) rdonly True if file is read-only arg Current repeat argument argset True if a repeat argument was given no_windows No. buffer windows on the screen ans Result of previous expressionCommands: hex Hex display mode dec Decimal display mode ins Insert 'ans' into buffer sum Sum of numbers in block cnt Count numbers in block avg Average value of numbers in block dev Standard deviation of numbers in block eval Evaluate math expressions in block (or whole file if no block set). joe(..) Execute a JOE macro (argument in same format as joerc file macros). Return value of JOE macro is returned (for macro success, return true (non-zero)). For example: joe(sys,"[ 1 == 1 ]",rtn) ([ 1 == 1 ]) is a shell command. "[" is a synonym for the "test" UNIX command. Returns true. Remember: argument for JOE macro command "if" is a math expression. So for example, the macro: if,"joe(sys,\"[ 1 == 1 ]\",rtn)",then,"TRUE",endif Types TRUE into the buffer.Operators: ^ * / % + - < <= > >= == != && || ? : = : &&, || and ? : work as in C and sh as far as side effects: if the left side of && is false, the right side is not evaluated. : is expression separator
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -