馃尡 tiny neovim plugin keeping your session safe
1# nivvie :seedling:
2
3tiny neovim session keeper, keeping your place safe
4
5## :herb: what it does
6
7nivvie remembers where you left off and restores it when you return (session
8handling). it keeps sessions stored safely and lets restore them whenever
9you need, no configuration or extra steps needed.
10
11- automatic save and restore
12- manual save, load, and delete commands
13- minimal configuration
14- lightweight and unobtrusive
15
16## why nivvie
17
18there are larger session managers with more features. nivvie is a small and
19quiet companion, meant for when you want something clean, simple, and reliable.
20
21## :potted_plant: installation
22
23add nivvie with your favourite plugin manager.
24
25###### `vim.pack`
26
27```lua
28vim.pack.add({ "comfysage/nivvie.nvim" })
29```
30
31###### `lazy.nvim`
32
33```lua
34{
35 "comfysage/nivvie.nvim",
36 lazy = false, -- nivvie takes care of its own lazy loading
37 config = function()
38 require("nivvie").setup() -- not necessary to call
39 end
40}
41```
42
43## :rose: usage
44
45sessions are saved automatically when you quit neovim and restored when you open it again. you can also manage sessions yourself:
46
47```
48:Nivvie save [name] " save the current session for the current directory or with a custom name
49:Nivvie load [name] " load session for the current directory or with a custom name
50:Nivvie delete [name] " delete session for the current directory or with a custom name
51```
52
53you may also map keys to these commands:
54
55```lua
56vim.keymap.set("n", "<leader>ss", "<cmd>Nivvie save<cr>")
57vim.keymap.set("n", "<leader>sl", "<cmd>Nivvie load<cr>")
58```
59
60## :wilted_flower: configuration
61
62nivvie works without configuration but you can still adjust its behavior:
63
64```lua
65require("nivvie").setup({
66 -- where sessions are stored
67 session_dir = vim.fn.stdpath("state") .. "/sessions",
68 -- save on exit
69 autosave = true,
70 -- load on start
71 autorestore = true,
72})
73```