馃尡 tiny neovim plugin keeping your session safe
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Lua 100.0%
12 1 0

Clone this repository

https://tangled.org/robinwobin.dev/nivvie.nvim https://tangled.org/did:plc:khzb5upklnupwpxllpbmrv5a/nivvie.nvim
git@tangled.org:robinwobin.dev/nivvie.nvim git@tangled.org:did:plc:khzb5upklnupwpxllpbmrv5a/nivvie.nvim

For self-hosted knots, clone URLs may differ based on your setup.

Download tar.gz
README.md

nivvie 馃尡#

tiny neovim session keeper, keeping your place safe

馃尶 what it does#

nivvie remembers where you left off and restores it when you return (session handling). it keeps sessions stored safely and lets restore them whenever you need, no configuration or extra steps needed.

  • automatic save and restore
  • manual save, load, and delete commands
  • minimal configuration
  • lightweight and unobtrusive

why nivvie#

there are larger session managers with more features. nivvie is a small and quiet companion, meant for when you want something clean, simple, and reliable.

馃 installation#

add nivvie with your favourite plugin manager.

vim.pack#
vim.pack.add({ "comfysage/nivvie.nvim" })
lazy.nvim#
{
  "comfysage/nivvie.nvim",
  lazy = false, -- nivvie takes care of its own lazy loading
  config = function()
    require("nivvie").setup() -- not necessary to call
  end
}

馃尮 usage#

sessions are saved automatically when you quit neovim and restored when you open it again. you can also manage sessions yourself:

:Nivvie save [name]   " save the current session for the current directory or with a custom name
:Nivvie load [name]   " load session for the current directory or with a custom name
:Nivvie delete [name] " delete session for the current directory or with a custom name

you may also map keys to these commands:

vim.keymap.set("n", "<leader>ss", "<cmd>Nivvie save<cr>")
vim.keymap.set("n", "<leader>sl", "<cmd>Nivvie load<cr>")

馃 configuration#

nivvie works without configuration but you can still adjust its behavior:

require("nivvie").setup({
  -- where sessions are stored
  session_dir = vim.fn.stdpath("state") .. "/sessions",
  -- save on exit
  autosave = true,
  -- load on start
  autorestore = true,
})