保存 vim 设置

保存 vim 设置

在此处输入图片描述

我花了一些时间才让我的 vim 看起来像附图中的样子。我的问题是,有没有办法在我打开 vim 时将这些设置设为默认设置?左上角是资源管理器,左下角是终端,右边是编辑器。我应该编辑 .vimrc 文件之类的东西吗?

答案1

运行:mksession ~/.vim/session.vim以将当前会话保存在 vimscript 文件中。
如果您收到此错误消息:

E189: "~/.vim/session.vim" exists (add ! to override)

在 后面附加一个感叹号:mksession

:mksession! ~/.vim/session.vim
          ^

你可以通过选项来控制 Vim 在其中写入的内容'sessionoptions'。后者是一个以逗号分隔的项目列表。

FWIW,以下是我设置选项的方法:

set sessionoptions=help,tabpages,winsize

具体来说,我没有包括项目optionslocaloptions,因为当我回溯会话时,无论我在运行时执行了什么实验,我都希望从合理的选项值/映射开始:mksession。出于同样的原因,我只包括我需要的最少项目(即,,help);您可能需要更多或更少。tabpageswinsize


现在您有了会话文件,您可以用以下命令关闭所有内容:

:sil! tabonly | sil! only | enew
      │              │      │
      │              │      └ load a new unnamed buffer
      │              └ close all windows except the current one
      └ close all tab pages except the current one

您可以通过运行以下命令恢复会话:

:so ~/.vim/session.vim

从 shell 启动 Vim 时,你可以使用以下参数恢复会话-S

$ vim -S ~/.vim/session.vim
      ^^

您可以像这样自动获取会话文件:

augroup my_session
    au!
    au VimEnter * ++nested call s:load_session_on_vimenter()
augroup END

fu s:load_session_on_vimenter() abort
    let file = $HOME.'/.vim/session.vim'
    if filereadable(file)
    \ && ! argc()
    \ && &errorfile is# 'errors.err'
        so ~/.vim/session.vim
    endif
endfu

有关详细信息,请参阅:For more information, see:

:h 'ssop
:h :mksession
:h :so
:h -S

相关内容