Repository navigation
Navigation
Back and Forward work like in a web browser: they take you to where you were before. Nibtree remembers places in files, diffs and commits, so after a detour you can jump straight back to the line you were reading.

The Back and Forward arrows at the left of the header, before the folder, repository and branch.
Any of these works:
- Click the left arrow (Go Back) or right arrow (Go Forward) at the top left of the header. Hover them to see their shortcuts.
- Press Ctrl+- to go back and Ctrl+Shift+- to go forward. Note that it is Control, not Command.
- Use the back and forward side buttons on your mouse, if it has them.
The arrows are greyed out when there is nowhere to go. The keys do nothing while a dialog or the merge tool is open.
Nibtree adds a stop to the history when you:
- Open a file in the editor, or move the cursor far in it (ten lines or more). Small moves update the current stop instead of adding new ones, so the history stays useful.
- Open a file, class, symbol or text match from Search Everywhere. The place you came from is a stop too, so Back returns there.
- Select a file in Changes to see its diff.
- Click a blame note or gutter block to open a commit in the Log. The line you clicked from is saved first, so Back returns to exactly that line. The Log opens the diff on that same line, as it was in that commit.
Selecting commits inside the Log itself, or clicking a parent there, does not add stops. Back from anywhere in the Log returns to where you were before it.
Tabs that are not files, such as a terminal, a commit or a file history tab, are never stops.
The same history feeds Recent Files in Search Everywhere: the files you visited, newest first.
Up to 50 stops are kept. Going back and then doing something new clears the forward stops, just like in a browser.
- To a file: the file opens (or its tab is shown) and the cursor moves to the remembered line, centred on screen.
- To a diff: the change is selected in Changes again and the diff scrolls to the remembered line. If that change no longer exists, for example because you committed it, the stop is skipped and removed.
- To a commit: the Log opens on that commit, in the right repository, with the same file's diff.
Stops that no longer exist, such as a deleted file, a change you committed or a repository that left the workspace, are skipped and removed, so Back goes straight to the next place that still exists. If none is left, a note says Nothing left to go back to (or Nothing left to go forward to). If you cancel a step, for example to keep unsaved changes, you stay where you are.
- You are on line 120 of
src/cart.tsand wonder why a line changed. - You click the blame note on that line. The Log opens on the commit by Maya Chen.
- You read the commit and click a parent to look further.
- You press Ctrl+- and land back on line 120 of
src/cart.ts.
Opening another folder or workspace starts with an empty history, since the old places belong to a different set of files.
These pages are generated from docs/wiki. To correct something, open a pull request against the source file; edits made here are overwritten.
Using Nibtree
- Getting Started
- Welcome Screen
- Workspaces
- Files Panel
- File Operations
- File Icons
- Rounded Panels
- Editor and Tabs
- Pin Reorder and Wrap Tabs
- Single Tab Title
- Split Editor
- New File and Unsaved Changes
- Unload Hidden Tabs
- Editing Code
- Code Appearance
- Markdown Editor
- Image and PDF Preview
- Search Everywhere
- Recent Files
- Navigation Bar
- Find and Replace
- Changes and Commits
- Sign In Prompts
- Commit Box Layout
- Repository Actions
- Commit Options
- Ignoring Files
- Diffs
- Inline Diffs
- Staging View
- Revert a Change
- Resolving Conflicts
- Merge Tool
- Blame
- History and Log
- Merge Commits
- Branches and Tags
- Branches Popup
- Remotes
- Stashes
- Shelf
- Git Menu
- Git Dialogs
- Interactive Rebase
- Worktrees
- AI Agents
- AI Tasks
- AI Usage
- Keep Computer Awake
- Submodules
- Git LFS
- GitHub
- Git Console
- Terminal
- Terminal Features
- Scripts
- Navigation
- Menus
- Settings
- Settings Search
- Color Themes
- Settings Terminal and Automation
- Settings Files
- Updates
- Status Bar and Help
- Notifications
- Memory Use
- Clear Cache
- MCP and CLI
- Git Mergetool
- Keyboard Shortcuts
- Keyboard Shortcuts Editor
- Troubleshooting
- Troubleshooting Git
Developers
- Developer Guide
- Architecture
- Project Layout
- Backend
- How Folder Watching Works
- Folder Watching Bugs We Fixed
- How Workspace Files Work
- How the Preview Scheme Works
- Backend Services
- How Terminal Features Work
- Terminal Bugs We Fixed
- Frontend
- How the Rich Markdown Editor Works
- Rich Markdown Bugs We Fixed
- Git Menu Links
- Menu Keys and Routing
- Frontend Modules
- Blame Bugs We Fixed
- Project Color And Title Bar
- One Diff View
- Diff Bugs We Fixed
- Merge Tool Layouts
- Merge Tool Bugs We Fixed
- Color Theme Bugs We Fixed
- How the Connected Diff Works
- Rounded Panels Bugs We Fixed
- Update Bugs We Fixed
- Status Bar Bugs We Fixed
- MCP and CLI Bugs We Fixed
- Repository Actions Bugs We Fixed
- How the Changes Tab Works
- CodeMirror Patterns
- How the Cursor Works
- How Editor Features Work
- How the Path Bar Works
- Commands and Events
- Settings Reference
- Commands Workspace and Changes
- Commands Branches and Remotes
- Commands History and Extras
- Commands App and Tools
- Testing
- Test Suites
- Debugging
- Debugging with MCP
- Measuring Setting Memory
- How Terminal Memory Is Measured
- How Markdown Diagrams Work
- Releases and CI
- Publishing the Wiki
- Versioning and Changelog
- Browser Version Packages
- Browser Release Checks
- Docker Image
- Platforms and Signing
- Windows Support
- Windows Bugs We Fixed
- Windows MCP and CLI
- Docs and Screenshots
- UI Library
- UI Library MCP
- UI Library Bugs
- UI Library Migration
- Contributing
How features work
- Welcome screen
- Workspaces and folders
- Files panel
- File operations
- File icons
- Editor and tabs
- Pin, reorder and wrap tabs
- Single tab title
- Split editor
- New File and unsaved changes
- Unload hidden tabs
- Editing code
- Code appearance
- Markdown editor
- Image and PDF preview
- Search Everywhere
- Recent Files
- Navigation Bar
- Find and replace
- Changes and commits
- Sign-in prompts
- Commit box layout
- Repository actions
- Commit options
- Ignoring files
- Diffs
- Inline diffs
- Staging view
- Revert a change
- Resolving conflicts
- Merge tool
- Blame
- History and log
- Merge commits
- Commit tabs
- Branches and tags
- Branches popup
- Remotes
- Stashes
- Shelf
- Git menu
- Git dialogs
- Interactive rebase
- Worktrees
- AI agents
- AI usage
- Keep computer awake
- AI tasks
- Submodules
- Git LFS
- GitHub account
- Git Console
- Back and Forward
- Integrated terminal
- Scripts tool window
- Menu bar
- Settings
- Search in Settings
- Color themes
- Rounded panels
- Updates and release channels
- Status bar and help links
- Notifications
- Memory readout and memory log
- Clear Cache
- MCP server and command line tool
- git mergetool mode