Tabs & Windows
Nib is a multi-tab editor: open as many files as you like in a single window, each with its own undo history, scroll position, and zoom level.
Opening and closing tabs
- New tab: File > New, the “+” at the right of the tab strip,
⌘N,⌘T(macOS), orCtrl+T(every platform) - Close tab: click the tab’s “x”,
⌘W, or “Close” from the tab’s right-click menu - Cycle tabs:
Ctrl+Tab/Ctrl+Shift+Tabmove forward/backward through the tab strip, in order and wrapping around. This is a literalCtrlon every platform, including macOS —Cmd+Tabis reserved by the OS for the app switcher, so Nib follows the same convention browsers and VS Code use for their tab strips.
Closing a tab with unsaved changes always prompts to Save, Discard, or Cancel first — you can’t accidentally lose work by closing a tab.
Tabs are draggable: click and drag a tab chip to reorder the strip. If more tabs are open than fit in the window, the strip scrolls horizontally (including with a vertical scroll wheel or trackpad).
Right-click tab menu
Right-clicking a tab opens a menu with:
- Pin Tab / Unpin Tab — moves the tab to the front of the strip and hides its close “x”, so a stray click can’t close it. A pinned tab is still closeable individually (via the menu or
⌘W); pinning only excludes it from the three bulk-close actions below. - Close
- Close Others
- Close Tabs to the Right
- Close All Tabs
- Split Right (not shown on the active tab itself — see below)
- Set File Type (only shown on an untitled, never-saved tab — see below)
Any dirty tab caught up in a bulk-close still gets its own save confirmation before it actually closes.
Split Right
“Split Right” shows a second tab in a resizable pane alongside the active one, so you can compare or edit two files side by side without a second window. It’s a single split — there’s no nested or self-splitting — and it’s session-only: the split isn’t restored the next time you launch Nib.
Set File Type
For an untitled tab that hasn’t been saved to a file yet (so there’s no extension for Nib to detect a language from), “Set File Type” lets you force a specific syntax highlighting language from the full list Nib supports. Once the tab is saved with a real filename, normal extension-based detection takes over.
Session restore & crash recovery
Every open tab — including untitled ones that were never saved — is cached to disk in the background as you type. If Nib crashes, is force-quit, or you just quit normally, reopening it restores every tab exactly as you left it, with your unsaved changes intact. Declining to save a tab (choosing “Discard” on the close prompt) still keeps that safety-net cache around, so even a discarded tab survives a restart if you didn’t mean to lose it.
Launching nib with no file arguments restores the previous session. Launching with file arguments (nib a.rs b.py) opens those files as new tabs on top of the restored session, rather than replacing it — see Command Line.