The four framing rows
Two rows on top, two at the bottom, everything else is your document.
Whichever screen you are on — editing, opening, comparing, hex, settings — the layout is the same: four framing rows around a content area. Learn to read them and you never get lost.
The top two answer “where am I and what can I press”; the bottom two answer “what state am I in and what just happened”. When you are stuck, check row 2 for the key you want, then the last row to see whether Erya said something to you.
Row 1: tabs and titles
Tabs while editing, a screen name everywhere else.
- The active tab is in square brackets: [report.txt].
- An asterisk means unsaved changes: [report.txt*]. It disappears when you save.
- Tabs show the filename only, without the path; a new document shows [Untitled].
- When there are too many tabs, a ‹ on the left means more are hidden. The active tab is always visible.
On other screens this row becomes the screen name, sometimes with extra context:
| Screen | Row 1 shows |
|---|---|
| Editing | 爾雅 Erya │ [report.txt] appendix.md |
| Open file (Ctrl+O) | 爾雅 Erya │ Open file │ /home/leo/docs (current directory) |
| Choosing files to compare (F4) | 爾雅 Erya │ Select left file │ /home/leo |
| Comparison | 爾雅 Erya │ File comparison |
| Keyboard help (F1) | 爾雅 Erya │ Keyboard help |
| System settings (F2) | 爾雅 Erya │ System settings |
| Keymap editor | 爾雅 Erya │ Keymap editor │ Erya Terminal Safe (profile name) |
That is the fastest way to work out where you are. Esc usually takes you back (see 1.3.7).
Row 2: the hint bar
It lists the keys you can press right now, and it follows your key profile.
While editing it always shows the same seven actions:
Apart from F1, which never changes, all of them come from the current key profile. Switch to the nano profile and this row becomes nano's keys. So: when the manual and the screen disagree, the screen is right (see 4.1).
On other screens the row is replaced with that screen's instructions. This is why Erya can do without menus:
| Screen | Hint bar |
|---|---|
| Open file | ↑/↓ select Enter/→ open ←/Backspace parent Esc/Q cancel |
| Single-line input | Enter confirm Esc cancel ←/→ move caret Backspace/Delete edit |
| Replacement input | Enter/F5 replace next F6 replace all Esc cancel |
| Hexadecimal view | W 16/32 bytes O dec/hex offsets Ctrl+G/G go to offset Ctrl+P/Esc back |
| Comparison | The two filenames, half the width each (see 3.4.2) |
| Keyboard help | ↑/↓ Scroll PageUp/PageDown Page Home/End First/last F1/Esc Return |
| System settings | ↑/↓ Field ←/→ Choose E Edit keys Enter Apply Esc Cancel |
| Keymap editor | ↑/↓ Select Enter Edit Delete Disable S Save as Esc Back |
The document area and the ~ marks
The large middle block, and those dim blue tildes.
- A dim blue ~ means “the document ends here” — it is not a blank line. A real blank line is simply empty.
- The content area is the window height minus four. A taller window shows more.
- The cursor is drawn by the terminal itself; its shape (block, underline, or bar) comes from your terminal settings.
- Selections are black on grey; search hits and comparison differences are black on yellow.
- Syntax highlighting is applied from the filename (see 3.1.5); the grey of a selection sits on top of it without interfering.
Erya measures in terminal columns: CJK characters, full-width punctuation, and most emoji take two columns; ASCII takes one; tabs expand to the tab width. That is why mixed CJK and Latin text lines up correctly, and why the “column” in the status bar counts characters rather than bytes (see 2.2.3).
Second from bottom: the status bar
Five to seven cells separated by │, each one a fact about right now.
| Cell | Example | Meaning |
|---|---|---|
| Filename | /home/leo/docs/report.txt | The path you opened, not just the name. A new document shows [Untitled]. |
| Line:column | 5:24 | Line 5, character 24. Both count from 1. |
| Mode | Insert | Five possibilities; see below. |
| Syntax | Markdown | Only present when a syntax was recognised. Plain text has no such cell. |
| Wrap | Wrap | Only present while line wrap is on (Ctrl+L). |
| Encoding | UTF-8 | What the next save will write (see 3.1.2). |
| Line endings | LF | What the next save will write (see 3.1.4). |
The five possible modes
| Shown | Meaning |
|---|---|
| Insert | Typing pushes the rest of the line right. The default. |
| Overwrite | Typing replaces the character under the cursor (Insert toggles). |
| Selection | An ordinary selection exists. It replaces the insert/overwrite display. |
| Block selection | A block selection exists (see 2.2.5). |
| Large file read-only | The file is past 64 MiB and cannot be edited (see 3.2). |
The hexadecimal view and the comparison screen have their own status formats, described in 3.3.2 and 3.4.2.
The last row: messages and colours
The colour is the severity: yellow reports, white waits for input, red waits for a decision.
| Colour | Means | Examples |
|---|---|---|
| Yellow | A report of what just happened | Saved, Undid last action, No match found, Selection cancelled |
| White | Waiting for you to type | Search:, Save as:, Go to line/column: |
| Red | Waiting for a decision; nothing continues until you answer | Unsaved document, Unsaved tab, File changed externally |
There are exactly three red confirmations: unsaved changes on exit (S/Y/N), unsaved changes on closing a tab (S/Y/N), and an externally changed file on save (O/R/N). Each spells out what every letter does on the same row, and pressing the wrong one really can lose text — in particular Y always means “discard” (see 2.1.8).
The message row is not cleared by your next keystroke; it stays until something replaces it. So when you read a message, check that it refers to what you just did.
Six modes, one Esc
Six full-screen views besides editing, all left the same way.
| Screen | Enter with | Leave with | See |
|---|---|---|---|
| File dialog | Ctrl+O / F4 | Esc or Q | 2.1.2 |
| Comparison | F4 after two files | Esc | 3.4 |
| Hexadecimal view | Ctrl+P | Esc or Ctrl+P | 3.3 |
| Keyboard help | F1 | Esc or F1 | 1.3.8 |
| System settings | F2 | Esc | 4.2.1 |
| Keymap editor | E in settings | Esc back to settings | 4.1.4 |
Two more states affect only the last row: single-line input (search, replace, go to line, save as…) and confirmations (the red ones). Esc cancels both.
It cancels a selection while editing, abandons an input, and leaves any full-screen view. When you have no idea where you are and do not want to break anything, Esc is always safe. The one exception is the hexadecimal view of a binary file — there is no text editing to return to, so Esc merely repeats the way out (see 3.3.5).
F1 keyboard help
Erya has no menus, so this list is the feature index.
- Keys on the left, descriptions on the right; scroll with ↑↓, PageUpPageDown, HomeEnd.
- The status bar shows which entries you are looking at, out of how many.
- The first ten are the fixed keys (arrows, Enter, Backspace, Tab, Esc…); the rest are configurable actions.
- The list shows the keys you actually have. Change profile and it changes with you.
- Actions with no default key (phrases, macros, block shifting…) show a blank key column: the feature exists, but no key calls it yet (see 2.4.8).
Every other action can be rebound; this one cannot. It is a deliberate escape hatch: however unrecognisable your profile becomes, one key still lists everything.
How this manual writes shortcuts
A small convention, so you do not press keys that do nothing.
- Ctrl+S in this manual always means “the save key in the Erya Terminal Safe profile”. That is the built-in default, and what you have if you have not changed anything.
- If you have switched profiles, work from the action name instead. Every feature has a fixed action name in the program (saving is save), and the tables in 4.4 list both. Those names are also what you write in a config file (see 4.1.5).
- The screen is the final authority. Row 2 and F1 show your current keys; when they disagree with the manual, believe them.
Because terminals do not deliver every combination. macOS reserves Ctrl+function keys, Alt combinations are often used for special characters, and modified arrows (Ctrl+← and friends) simply never arrive in many terminals. The default profile avoids all of these, so it works in the widest range of terminals, at the cost of leaving a few advanced actions unbound. The original full set survives as Erya Classic and is one keystroke away (see 4.1.1).