Keyboard Shortcuts
Files
Control–N | New file. |
Control–O | Open file. |
Control–W | Close buffer. |
Control–E Control–W | Close all buffers. |
Control–S | Save buffer. |
Control–E Control–S | Save all buffers. |
Control–P | Print buffer. |
Control–Page Up | Go to previous buffer. |
Control–Page Down | Go to next buffer. |
Control–` | Go to recent buffer. |
Control–Q | Exit jEdit. |
Views
Control–E Control–T | Turn gutter (line numbering) on and off. |
Control–2 | Split view horizontally. |
Control–3 | Split view vertically. |
Control–1 | Unsplit. |
Alt–Page Up | Send keyboard focus to previous text area. |
Alt–Page Down | Send keyboard focus to next text area. |
Control–E Control–Up; Control–Left; Control–Down; Control–Right | Send keyboard focus to top; bottom; left; right docking area. |
Control–E Control–` | Close currently focused docking area. |
Control–E Control–E | Send keyboard focus back to current text area. |
Repeating
Control–Enternumbercommand | Repeat the command (it can be a keystroke, menu item selection or tool bar click) the specified number of times. |
Moving the Caret
Arrow | Move caret one character or line. |
Control–Arrow | Move caret one word or paragraph. |
Page Up; Page Down | Move caret one screenful. |
Home | First non-whitespace character of line, beginning of line, first visible line (repeated presses). |
End | Last non-whitespace character of line, end of line, last visible line (repeated presses). |
Control–Home | Beginning of buffer. |
Control–End | End of buffer. |
Control–] | Go to matching bracket. |
Control–E Control–[; Control–] | Go to previous; next bracket. |
Control–L | Go to line. |
Selecting Text
Shift–Arrow | Extend selection by one character or line. |
Control–Shift–Arrow | Extend selection by one word or paragraph. |
Shift–Page Up; Shift–Page Down | Extend selection by one screenful. |
Shift–Home | Extend selection to first non-whitespace character of line, beginning of line, first visible line (repeated presses). |
Shift–End | Extend selection to last non-whitespace character of line, end of line, last visible line (repeated presses). |
Control–Shift–Home | Extend selection to beginning of buffer. |
Control–Shift–End | Extend selection to end of buffer. |
Control–[ | Select code block. |
Control–E W; L; P | Select word; line; paragraph. |
Control–E Control–L | Select line range. |
Control–\ | Switch between single and multiple selection mode. |
Scrolling
Control–E Control–J | Center current line on screen. |
Control–E Control–I | Center caret on screen. |
Control–‘; Control–/ | Scroll up; down one line. |
Alt–‘; Alt–/ | Scroll up; down one page. |
Text Editing
Control–Z | Undo. |
Control–E Control–Z | Redo. |
Backspace; Delete | Delete character before; after caret. |
Control–Backspace; Control–Delete | Delete word before; after caret. |
Control–D; Control–E D | Delete line; paragraph. |
Control–Shift–Backspace; Control–Shift–Delete | Delete from caret to beginning; end of line. |
Control–E R | Remove trailing whitespace from the current line (or all selected lines). |
Control–J | Join lines. |
Control–B | Complete word. |
Control–E F | Format paragraph (or selection). |
Clipboard and Registers
Control–X or Shift–Delete | Cut selected text to clipboard. |
Control–C or Control–Insert | Copy selected text to clipboard. |
Control–E Control–U | Append selected text to clipboard, removing it from the buffer. |
Control–E Control–A | Append selected text to clipboard, leaving it in the buffer. |
Control–V or Shift–Insert | Paste clipboard contents. |
Control–E Control–P | Vertical paste clipboard contents. |
Control–R Control–X key | Cut selected text to register key. |
Control–R Control–C key | Copy selected text to register key. |
Control–R Control–U key | Append selected text to register key, removing it from the buffer. |
Control–R Control–A key | Append selected text to register key, leaving it in the buffer. |
Control–R Control–V key | Paste contents of register key. |
Control–R Control–P key | Vertically paste contents of register key. |
Control–E Control–V | Paste previous. |
Markers
Control–E Control–M | If current line doesn’t contain a marker, one will be added. Otherwise, the existing marker will be removed. Use the Markers menu to return to markers added in this manner. |
Control–T key | Add marker with shortcut key. |
Control–Y key | Go to marker with shortcut key. |
Control–U key | Select to marker with shortcut key. |
Control–K key | Go to marker with shortcut key, and move the marker to the previous caret position. |
Control–E Control–,; Control–. | Move caret to previous; next marker. |
Search and Replace
Control–F | Open search and replace dialog box. |
Control–G | Find next. |
Control–H | Find previous. |
Control–E Control–B | Search in open buffers. |
Control–E Control–D | Search in directory. |
Control–E Control–R | Replace in selection. |
Control–E Control–G | Replace in selection and find next. |
Control–, | Incremental search. |
Control–. | Quick HyperSearch. |
Alt–, | Incremental search for word under the caret. |
Alt–. | Quick HyperSearch for word under the caret. |
Source Code Editing
Control–; | Expand abbreviation. |
Alt–Left; Alt–Right | Shift current line (or all selected lines) left; right. |
Shift–Tab; Tab | Shift selected lines left; right. Note that pressing Tab with no selection active will insert a tab character at the caret position. |
Control–I | Indent current line (or all selected lines). |
Control–E Control–C | Wing comment selection. |
Control–E Control–B | Box comment selection. |
Folding and Narrowing
Alt–Backspace | Collapse fold containing caret. |
Alt–Enter | Expand fold containing caret one level only. |
Alt–Shift–Enter | Expand fold containing caret fully. |
Control–E X | Expand all folds. |
Control–E A | Add explicit fold. |
Control–E S | Select fold. |
Control–E Enter key | Expand folds with level less than key, collapse all others. |
Control–E N N | Narrow to fold. |
Control–E N S | Narrow to selection. |
Alt–Up Alt–Down | Moves caret to previous; next fold. |
Control–E U | Moves caret to the fold containing the one at the caret position. |
Macros
Control–M Control–R | Record macro. |
Control–M Control–M | Record temporary macro. |
Control–M Control–S | Stop recording. |
Control–M Control–P | Run temporary macro. |
Control–M Control–L | Run most recently played or recorded macro. |
Alternative Shortcuts
A few frequently-used commands have alternative shortcuts intended to help you keep your hands from moving all over the keyboard.
Alt–J; Alt–L | Move caret to previous, next character. |
Alt–I; Alt–K | Move caret up, down one line. |
Alt–Q; Alt–A | Move caret up, down one screenful. |
Alt–Z | First non-whitespace character of line, beginning of line, first visible line (repeated presses). |
Alt–X | Last non-whitespace character of line, end of line, last visible line (repeated presses). |
Glob Patterns
jEdit uses glob patterns similar to those in the various Unix shells to implement file name filters in the file system browser. Glob patterns resemble regular expressions somewhat, but have a much simpler syntax. The following character sequences have special meaning within a glob pattern:
- ? matches any one character
- * matches any number of characters
- {!glob} Matches anything that does not match glob
- {a,b,c} matches any one of a, b or c
- [abc] matches any character in the set a, b or c
- [^abc] matches any character not in the set a, b or c
- [a-z] matches any character in the range a to z, inclusive. A leading or trailing dash will be interpreted literally
In addition to the above, a number of "character class expressions" may be used as well:
- [[:alnum:]] matches any alphanumeric character
- [[:alpha:]] matches any alphabetical character
- [[:blank:]] matches a space or horizontal tab
- [[:cntrl:]] matches a control character
- [[:digit:]] matches a decimal digit
- [[:graph:]] matches a non-space, non-control character
- [[:lower:]] matches a lowercase letter
- [[:print:]] same as [:graph:], but also space and tab
- [[:punct:]] matches a punctuation character
- [[:space:]] matches any whitespace character, including newlines
- [[:upper:]] matches an uppercase letter
- [[:xdigit:]] matches a valid hexadecimal digit
Here are some examples of glob patterns:
- * – all files
- *.java – all files whose names end with ".java"
- *.{c,h} – all files whose names end with either ".c" or ".h"
- *[^~] – all files whose names do not end with "~"
Regular Expressions
jEdit uses regular expressions to implement inexact search and replace. A regular expression consists of a string where some characters are given special meaning with regard to pattern matching.
Within a regular expression, the following characters have special meaning:
Positional Operators
- ^ matches at the beginning of a line
- $ matches at the end of a line
- \b matches at a word break
- \B matches at a non-word break
- \< matches at the start of a word
- \> matches at the end of a word
One-Character Operators
- . matches any single character
- \d matches any decimal digit
- \D matches any non-digit
- \n matches the newline character
- \s matches any whitespace character
- \S matches any non-whitespace character
- \t matches a horizontal tab character
- \w matches any word (alphanumeric) character
- \W matches any non-word (alphanumeric) character
- \\ matches the backslash ("\") character
Character Class Operator
- [abc] matches any character in the set a, b or c
- [^abc] matches any character not in the set a, b or c
- [a-z] matches any character in the range a to z, inclusive. A leading or trailing dash will be interpreted literally
- [[:alnum:]] matches any alphanumeric character
- [[:alpha:]] matches any alphabetical character
- [[:blank:]] matches a space or horizontal tab
- [[:cntrl:]] matches a control character
- [[:digit:]] matches a decimal digit
- [[:graph:]] matches a non-space, non-control character
- [[:lower:]] matches a lowercase letter
- [[:print:]] same as [:graph:], but also space and tab
- [[:punct:]] matches a punctuation character
- [[:space:]] matches any whitespace character, including newlines
- [[:upper:]] matches an uppercase letter
- [[:xdigit:]] matches a valid hexadecimal digit
Subexpressions and Backreferences
- (abc) matches whatever the expression abc would match, and saves it as a subexpression. Also used for grouping
- (?:...) pure grouping operator, does not save contents
- (?#...) embedded comment, ignored by engine
- (?=...) positive lookahead; the regular expression will match if the text in the brackets matches, but that text will not be considered part of the match
- (?!...) negative lookahead; the regular expression will match if the text in the brackets does not match, and that text will not be considered part of the match
- \n where 0 < n < 10, matches the same thing the nth subexpression matched. Can only be used in the search string
- $n where 0 < n < 10, substituted with the text matched by the nth subexpression. Can only be used in the replacement string
Branching (Alternation) Operator
- a|b matches whatever the expression a would match, or whatever the expression b would match.
Repeating Operators
These symbols operate on the previous atomic expression.
- ? matches the preceding expression or the null string
- * matches the null string or any number of repetitions of the preceding expression
- + matches one or more repetitions of the preceding expression
- {m} matches exactly m repetitions of the one-character expression
- {m,n} matches between m and n repetitions of the preceding expression, inclusive
- {m,} matches m or more repetitions of the preceding expression
Stingy (Minimal) Matching
If a repeating operator (above) is immediately followed by a ?, the repeating operator will stop at the smallest number of repetitions that can complete the rest of the match.