Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Making (Mac)Vim reopen with files open when closed

Tags:

vim

macvim

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

like image 498
gws Avatar asked Oct 31 '11 14:10

gws


2 Answers

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.

like image 163
Fatih Arslan Avatar answered Nov 03 '22 06:11

Fatih Arslan


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

like image 9
mb14 Avatar answered Nov 03 '22 05:11

mb14