所以,我已将此功能添加到我的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,也不是状态栏或符号列或其他任何东西)直到我点击返回键:
我不确定在我的功能中我做错了什么。有什么帮助吗?
答案 0 :(得分:2)
您可以而且应该删除
中的初始:
:call delete(sessionFile)
delete()
删除文件,但sessionFile
未指向文件:
let sessionFile='source ~/.vim/gvim-session.vim'
看起来应该是这样的:
let sessionFile='~/.vim/gvim-session.vim'
为什么要将source
放在文件路径中呢?您可以简单地执行以下操作:
execute "source " . sessionFile