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.

Repository README :help

recorded with VHS from demos/sessions.tape in a clean Neovim — re-recorded weekly
what is shown when
  1. a layout worth keeping - three files, three windows
  2. :Session save - named after the project, no name to invent
  3. :only - and the layout is gone
  4. :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

Recent commits

  1. fix chip: a negative col_offset is clipped to col 0, keep dock_left
  2. test chip: cover a negative col_offset taking the rounded_chip fallback
  3. fix last: review fixes for the exit snapshot
  4. feat last: always snapshot the exiting session as 'last'; :LastSession loads it
  5. fix core: forget the current session on :cd; decouple save-tab from it
  6. fix chip: default pulse to false, not true
  7. feat chip: forward cfg.chip.min_width to ui.kit.chip.mount()
  8. feat chip: add :Session chip-toggle to show/hide the corner chip on demand

Combos