2011-10-31 9 views
7

Przykład użycia:Tworzenie (Mac) Vim otwiera się ponownie z plikami otwartymi po zamknięciu

Masz 2-3 pliki wyświetlane w oknie (-ach) MacVim. Naciskasz ctrl + Q i MacVim zamyka. Po ponownym uruchomieniu MacVim otwiera się wyświetlanie tych samych plików, które miałeś po zamknięciu.

Jak możesz to zrobić?

- ODPOWIEDŹ

I dodaje następujące do mojego .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() 

Z tego prawie mają dokładnie zachowanie chciałem, tylko drobne uciążliwe jest to, że nadal muszę naciśnij komendę q, ale to jest MacO, nie vim ....

Odpowiedz

8

Proponuję przeczytać o sesjach :help session, które powinny odpowiedzieć na twoje pytanie. Istnieją nawet ładne skrypty do obsługi sesji.

+0

Dziękuję mb14, udało mi się opracować to, czego potrzebowałem po tym, jak podążałeś za swoim przykładem – gws

+0

@ gws czy możesz napisać swoje rozwiązanie? Dzięki. – J4cK

+0

@ Trickster jest opisany na dole odpowiedzi. Od tego czasu przestałem używać MacVima i przeniosłem się do terminalu vim, ale rozwiązanie działało dobrze w tym czasie. – gws

3

Proponuję użyć session.vim Extended session management for Vim do zarządzania sesjami, ponieważ ta wtyczka po prostu działa. Możesz automatycznie zapisywać bieżącą sesję za każdym razem, gdy zamkniesz vima lub utworzysz nową sesję, zamknij/otwórz vim i załaduj tę sesję.

13

zainstalować ten plugin: https://github.com/xolox/vim-session

i dodać następujące dwa wiersze do .vimrc:

let g:session_autosave = 'yes' 
let g:session_autoload = 'yes' 

Teraz, jeśli zamkniesz MacVim/GVim zapisuje i wczytuje sesję automatycznie.

+0

Świetne rozwiązanie. Dzięki za wskazówkę! –

Powiązane problemy