Neovim 配置——Session Manager
技术 Neovim 27

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