Understanding the screen¶
The screen has the same layout as VS Code.
| Place | Contents | Toggle |
|---|---|---|
| Left | File tree | Ctrl+B |
| Top | Title line (the path of the open file, and ● when unsaved) | — |
| Center | The contents of the open file: editor, preview, browser, and so on | — |
| Bottom | Terminal panel | Ctrl+` |
| Right | Suggestions panel (AI agent integration) | Alt+I |
| Very bottom | Status bar | — |
While in diff mode, a header is added at the top and a help line above the status bar.
Moving focus¶
Ctrl+E: move focus between the file tree and the editor.Space e(Helix mode): move to the file tree.Space E(Helix mode): in diff mode, move to CHANGES. Outside diff mode, move to the file tree.Escin the file tree: go back to the editor.Alt+I(alsoSpace iin Helix mode): move to the suggestions panel. Press it again to close.- Clicking with the mouse also moves focus there.
Status bar¶
On the left, from the left, it shows:
- The mode (when the editor has focus in Helix mode):
NOR(normal),INS(insert),SEL(select). Keys you have pressed partway, such asSpace, are shown too. - The Git branch name (in the form
⎇ main) - When focus is not on the editor, the name of that place ("File tree", "Terminal", "Suggestions")
- The number of diagnostics (
● errors ▲ warnings) - When the suggestions panel is not shown, the number of suggestions (
Suggestions N (Alt+I))
On the right, it shows:
- The cursor position (
line:column). With multiple cursors, the number of cursors. During a selection, the number of selected characters - The indentation (
Spaces: 4orTab) - The language name and the LSP status
Resizing panes¶
Press Alt+R to enter resize mode.
| Key | Action |
|---|---|
← / → (h / l) |
Move the left/right border of the focused pane 2 columns left / right |
↑ / ↓ (k / j) |
Move the top/bottom border of the focused pane 2 rows up / down |
< / > |
Boundary between the editor and the preview |
= |
Reset to the initial values |
Esc |
Leave resize mode |
The focused pane decides which border the arrow keys move.
| Focused pane | ← / → |
↑ / ↓ |
|---|---|---|
| Explorer / CHANGES | Right edge of the sidebar | In diff mode, the boundary between the explorer and CHANGES. Otherwise the top of the terminal |
| Editor | In a split diff, the │ between left and right. Otherwise the border with the preview or the suggestions panel. If there is neither, the right edge of the sidebar |
Top of the terminal |
| Terminal | Right edge of the sidebar | Top of the terminal |
| Suggestions panel | Left edge of the suggestions panel | Top of the terminal |
You can also change them by dragging the border with the mouse.
In diff mode, dragging the boundary between the explorer and CHANGES (the CHANGES heading row) changes the height ratio of the top and bottom. Neither becomes smaller than 3 rows. = resets it to 7:3. The ratio is kept when you change the height of the terminal.
The sizes are kept until you quit shijimi.
Switching files¶
There is no tab bar. The files you have opened are kept in a list, and only the current one is shown, with its path on the title line. To see two files at once, split the editor.
| Key | Action |
|---|---|
Space b (Helix mode) / Quick Open |
Pick from the open files / any file |
ga (Helix mode) / Ctrl+Tab |
Go back and forth between the last file and this one |
Ctrl+O / Ctrl+I |
Go back / forward to where you jumped from |
Ctrl+W |
Close the current file (remove it from the list) |
Ctrl+Tab only reaches shijimi on terminals that support the kitty keyboard protocol. Elsewhere use ga or Space b.
Split editor¶
You can split the editor into two panes side by side, to read two files together (an implementation and its test, for example). Each pane has its own title line. There is no up-and-down split and no third pane. Most of the time there is one pane.
| Helix mode | VS Code mode | Action |
|---|---|---|
Space w v |
Ctrl+\ |
Split. The current file stays on the left, and the right pane, which takes the focus, shows the last file (ga). If there is none, the file picker opens |
Space w h / Space w l / Space w w |
Ctrl+1 / Ctrl+2 |
Move the focus to the left pane / the right pane / the other pane (also: click or scroll in a pane) |
Space w q / Space w o |
Ctrl+\ |
Close the split. q keeps the other pane's file and o (and Ctrl+\) keeps the focused pane's file. The closed file stays in the list of open files |
:vsplit (:vs) and :only do the same from the command line, and the command palette has them too. (Ctrl+W is "close the file", so the Helix Ctrl+W window keys are under Space w instead.)
Space b,ga/Ctrl+TabandCtrl+O/Ctrl+Iact on the focused pane. Each pane keeps its own last file forga. The other pane is not touched; a file the other pane shows is swapped into this pane.- The same file is never in both panes. Opening a file that the other pane shows (from the file tree, for example) moves the focus to that pane.
Ctrl+Wcloses the focused pane's file. The split closes too, and the other file fills the area.- The two panes are the same width (the mouse cannot resize them). The split needs an editor area at least 41 columns wide.
- In diff mode the editor is one pane, and the split comes back when you leave diff mode. The Markdown preview and images work inside a pane.
Command palette¶
Open the command palette with F1 or Ctrl+K (also Space ? in Helix mode).
Type part of a name and choose the operation to run. You can run operations whose keys you do not remember from here.