【问题标题】:Making (Mac)Vim reopen with files open when closed使(Mac)Vim在关闭时打开文件重新打开
【发布时间】:2013-03-08 04:15:47
【问题描述】:

用例:

您的 MacVim 窗口中显示了 2-3 个文件。你按下 ctrl+Q 并且 MacVim 关闭。 当您重新启动 MacVim 时,它会打开并显示与您关闭时相同的文件。

你怎么能这样做?

-- 回答

我将以下内容添加到我的 .vmirc

  "save and close all files and save global session
nnoremap <leader>q :mksession! ~/.vim/Session.vim<CR>:wqa<CR>
  "close all files without saving and save global session
nnoremap <leader>www :mksession! ~/.vim/Session.vim<CR>:qa!<CR>

function! RestoreSession()
  if argc() == 0 "vim called without arguments
    execute 'source ~/.vim/Session.vim'
  end
endfunction
autocmd VimEnter * call RestoreSession()

有了这个我几乎有了我想要的确切行为,唯一的小麻烦是我之后仍然需要按 command-q 但那是 MacOs,而不是 vim....

【问题讨论】:

    标签: vim macvim


    【解决方案1】:

    安装这个插件:https://github.com/xolox/vim-session

    并将以下两行添加到您的 .vimrc

    let g:session_autosave = 'yes'
    let g:session_autoload = 'yes'
    

    现在,如果您关闭 MacVim/GVim,它会自动保存并加载会话。

    【讨论】:

    • 很好的解决方案。感谢您的提示!
    【解决方案2】:

    我建议您阅读有关会话 :help session 的信息,这应该可以回答您的问题。甚至还有很好的脚本来处理会话。

    【讨论】:

    • 谢谢 mb14,在您的带领下,我能够设计出我需要的东西
    • @gws 你能写下你的解决方案吗?谢谢。
    • @Trickster 它在答案的底部进行了描述。我已经停止使用 MacVim 并转移到终端 vim 但当时解决方案工作正常
    【解决方案3】:

    我建议您使用session.vim Extended session management for Vim 进行会话管理,因为这个插件可以正常工作。您可以在每次关闭 vim 或创建新会话时自动保存当前会话,关闭/打开 vim 并加载该会话。

    【讨论】:

      猜你喜欢
      • 2017-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-11
      • 1970-01-01
      • 2015-05-29
      • 2014-10-12
      • 2019-07-03
      • 2012-03-17
      相关资源
      最近更新 更多