Making (Mac)Vim reopen with files open when closed

岁酱吖の 提交于 2019-12-03 03:58:43

问题


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....


回答1:


I suggest you read about sessions :help session,that should answer your question. There are even nice scripts to deal with sessions.




回答2:


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.




回答3:


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

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!