启动时MacVim空白屏幕具有简单的会话恢复功能

时间:2014-05-26 17:52:08

标签: vim macvim

所以,我已将此功能添加到我的gvimrc,尝试让MacVim在重新启动时重新打开相同的Windows /相同文件。

" http://stackoverflow.com/questions/7955232/making-macvim-reopen-with-files-open-when-closed
" save and close all files and save global session
nnoremap <leader>q :mksession! ~/.vim/gvim-session.vim<CR>:wqa<CR>
" close all files without saving and save global session
nnoremap <leader>www :mksession! ~/.vim/gvim-session.vim<CR>:qa!<CR>

function! RestoreSession()
   if argc() == 0 " vim called without arguments
      let sessionFile='source ~/.vim/gvim-session.vim'
      execute sessionFile
      :call delete(sessionFile)
   end
endfunction
autocmd VimEnter * call RestoreSession()

然而,现在,当我打开MacVim时,我得到一个完全空白窗口(即,甚至不是表示空白行的~~~ s,也不是状态栏或符号列或其他任何东西)直到我点击返回键:

enter image description here

我不确定在我的功能中我做错了什么。有什么帮助吗?

1 个答案:

答案 0 :(得分:2)

  1. 您可以而且应该删除

    中的初始:
    :call delete(sessionFile)
    
  2. delete()删除文件,但sessionFile未指向文件:

    let sessionFile='source ~/.vim/gvim-session.vim'
    

    看起来应该是这样的:

    let sessionFile='~/.vim/gvim-session.vim'
    
  3. 为什么要将source放在文件路径中呢?您可以简单地执行以下操作:

    execute "source " . sessionFile