Use case:
You have 2-3 files displayed in your MacVim window(s). You press ctrl+Q and MacVim closes. When you restart MacVim it opens displaying the same files you had when you closed it.
How can you do that?
-- ANSWER
I added the following to my .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()
With this I almost have the exact behavior I wanted, the only minor nuisance is that I still need to press command-q afterwards but that's MacOs, not vim....
I suggest you read about sessions :help session
,that should answer your question. There are even nice scripts to deal with sessions.
Install this plugin: https://github.com/xolox/vim-session
And add this following two lines to your .vimrc
:
let g:session_autosave = 'yes'
let g:session_autoload = 'yes'
Now if you close your MacVim/GVim it saves and loads the session automatically.
I suggest that you use session.vim Extended session management for Vim for session management as this plugin just works. You can automatically save your current session everytime you close vim or create a new session, close/open vim and load that session.
来源:https://stackoverflow.com/questions/7955232/making-macvim-reopen-with-files-open-when-closed