Neovim 配置——Session Manager
Neovim 原生支持 session 这一特性:
- 通过
:mksession[!] [file]
保存当前 session 为一个.vim
文件,包括所有打开的 buffer、窗口布局、一些全局设置等。保存内容的设置,见:h sessionoptions
。 - 通过
:source <file>
或nvim -S <file>
加载 session。
更多见 :h 21.4
和 :h mksession
。
原生的功能比较简单,有一些插件提供了更丰富的特性。
实现原理 | 保存名称 | 备注 | |
---|---|---|---|
folke/persistence.nvim | 原生 |
cwd |
|
olimorris/persisted.nvim | 上一个的封装 功能更丰富一些 |
||
Shatur/neovim-session-manager | |||
natecraddock/sessions.nvim | 自命名 | ||
rmagatti/auto-session | cwd + 自命名 |
||
jedrzejboczar/possession.nvim | 原生 + JSON |
||
stevearc/resession.nvim | JSON |
自命名 |
-
在实现原理上,有两种思路
- 封装原生的
:mksession
,保存文件为.vim
- 引入新格式,保存文件为新格式
- 封装原生的
-
在 session 文件的保存名称上,有两种思路:
- cwd(current working directory,当前工作目录),例如
%home%user%Desktop.vim
- 自命名,例如
test.vim
- cwd(current working directory,当前工作目录),例如