Files & navigation · beta · Neovim 0.9+ · 156 commits
sessions.nvim
Branch- and project-aware Neovim sessions. The session name resolves from the project root and the current git branch, so switching branches restores a different workspace and you never have to name anything. Built on Neovim's own :mksession and :source, not around them. Optionally also a mark list — files jumped to by number, with pins and remembered cursor positions — for the handful of files you want one keypress away in every project.
demos/sessions.tape in a clean Neovim — re-recorded weekly
what is shown when
- a layout worth keeping - three files, three windows
- :Session save - named after the project, no name to invent
- :only - and the layout is gone
- :Session load - and back
Install
{
"StefanBartl/sessions.nvim",
opts = {},
} Beta stage — active development. This repository is past its first shape and in active use, but the surface is not frozen: breaking changes are still possible. Pin a commit or tag if you depend on it.
Documentation
- docs/BINDINGS.md
- docs/CONTRIBUTING.md
- docs/FEATURES.md
- docs/README.md
- docs/WORKFLOW.md
- docs/api.md
- docs/commands.md
- docs/configuration.md
- docs/git-integration.md
- docs/installation.md
- docs/marks.md
- docs/metadata.md
- docs/picker.md
- docs/portability.md
- docs/quickstart.md
- docs/session-scoping.md
- docs/statusline.md
- docs/troubleshooting.md
- docs/what-you-get.md
Recent commits
- fix chip: a negative col_offset is clipped to col 0, keep dock_left
- test chip: cover a negative col_offset taking the rounded_chip fallback
- fix last: review fixes for the exit snapshot
- feat last: always snapshot the exiting session as 'last'; :LastSession loads it
- fix core: forget the current session on :cd; decouple save-tab from it
- fix chip: default pulse to false, not true
- feat chip: forward cfg.chip.min_width to ui.kit.chip.mount()
- feat chip: add :Session chip-toggle to show/hide the corner chip on demand
Combos
- Statusline segments
Each contributes one optional segment to ui.nvim's statusline -- none is a dependency, the segment is simply absent without it.
ui.nvim , filetree.nvim , github_stats.nvim , runtime-analysis.nvim , recommender.nvim , sandbox.nvim