Tworzenie (Mac)Vima ponownie z plikami otwartymi po zamknięciu
Przypadek użycia:
Masz 2-3 pliki wyświetlane w oknie Macvima. Naciskasz ctrl + Q i MacVim się zamyka. Po ponownym uruchomieniu Macvima otwiera się wyświetlając te same pliki, które miałeś podczas jego zamykania.
Jak możesz to zrobić?-- odpowiedź
Dodałem co następuje 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 tym prawie mam dokładnie takie zachowanie, jakie chciałem, jedyną drobną uciążliwością jest to, że nadal muszę nacisnąć command-q później, ale to MacOs, a nie vim....
3 answers
Proponuję poczytać o sesjach :help session
, które powinny odpowiedzieć na twoje pytanie. Są nawet fajne skrypty do radzenia sobie z sesjami.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-10-31 14:56:32
Zainstaluj ten plugin: https://github.com/xolox/vim-session
I dodaj do swojego .vimrc
następujące dwie linijki:
let g:session_autosave = 'yes'
let g:session_autoload = 'yes'
Teraz po zamknięciu MacVim / GVim automatycznie zapisuje i ładuje sesję.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-03-07 20:15:47
Proponuję skorzystać z sesji .Vim Extended session management for vim do zarządzania sesjami, ponieważ ta wtyczka po prostu działa. Możesz automatycznie zapisać bieżącą sesję za każdym razem, gdy zamykasz Vima lub tworzysz nową sesję, zamykasz / otwierasz Vima i ładujesz tę sesję.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-08-05 19:18:21