zshell

Files and the editor

Browse the working tree, open a file in a pane, edit it, and save.

Press Cmd+Shift+E for the file tree. Like the git panel it's rooted at the project directory, so it doesn't re-root every time you cd.

The tree

Click a file to open it in the focused pane. Right-click for the rest:

ItemWhat it does
Open / Open to the SideIn this pane, or in a new split
Open in Default AppHand it to whatever macOS opens it with
Reveal in Finder
Copy PathThe absolute path
cd HereRun cd <folder> in the focused terminal
New File… / New Folder…Create inside the selected folder
Rename
Move to TrashTo the Trash, not deleted outright

Rows use filename-aware Material icons. Inside a Git repository, changed paths also use status colors and badges, while ignored files are dimmed, so the tree shows the same worktree state as the Git panel without opening it.

The command palette (Cmd+P) searches the entire project directory as well as commands and open sessions. Selecting a file opens it in the project directly.

The editor

Opening a file gives you a real editor in a pane, with syntax highlighting.

ActionShortcut
SaveCmd+S
FindCmd+F
Find and replaceOpt+Cmd+F
Find nextCmd+G

Long lines scroll horizontally by default. To wrap them to the pane width instead, set editor.wrap-lines.

Renaming a file in the tree updates any pane that has it open, including files underneath a renamed folder.

If another program changes an open file, Zshell refreshes a clean preview when the app becomes active again. It never replaces an editor buffer with unsaved changes.

This is an editor for the change you're already looking at — fix a typo, adjust a constant, read a file the diff referenced. There's no language server, no completion, and no project-wide refactoring. That's deliberate.

Diffs

A diff opened from the git panel is just another pane, so a diff, a file, and a terminal can sit side by side in one tab. It uses your terminal font, and a thousand-file changeset opens as fast as a one-line one. Live, unstaged worktree diffs can also switch from Review to Edit; staged and historical diffs remain read-only. See Reading diffs.

On this page