zshell

Files and the editor

Find files across projects, search their contents, edit code, and preview Markdown beside the terminal.

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.

Find files and search contents

The command palette (Cmd+P) finds files by name or path across the local projects open in the current window, alongside commands and open sessions. Selecting a file switches to its project and opens it there.

To search the text inside files, click the magnifying glass in the Files panel, or choose Search File Contents in the command palette. Enter text and press Return to search the current local project directory. Use Aa to match case, and open a result to jump to its matching line in the editor.

Content search matches literal text, skips binary files and common dependency and build folders, and stops at 2,000 matches. You can stop a running search while keeping its results, or close search to return to the file tree. SSH projects are excluded from these local file searches.

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 wrap to the pane width by default. Disable editor.wrap-lines to scroll horizontally.

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.

Markdown preview

Open a .md file to read its rendered preview in the same pane. Click Edit in the upper-right corner to work on its source, then Preview to see the result. Zshell remembers your preferred mode for other Markdown files and the next launch.

Switching modes keeps your edits and undo history. Save changes with Cmd+S as usual. Markdown files with other extensions open as source.

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.