2011-10-31 171 views
7

使用案例:製作(Mac)Vim在關閉時打開文件重新打開

您的MacVim窗口中顯示了2-3個文件。您按ctrl + Q並關閉MacVim。 當您重新啓動MacVim時,它會打開並顯示您關閉時所用的相同文件。

你怎麼能這樣做?

- ANSWER

添加以下到我的.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() 

有了這個,我幾乎有確切的行爲我想,唯一的小麻煩是,我仍然需要然後按命令q,但這是MacOs,而不是vim ....

回答

8

我建議你閱讀有關會議:help session,這應該回答你的問題。甚至有很好的腳本來處理會話。

+0

謝謝你mb14,我可以根據你的線索設計出我需要的東西 – gws

+0

@gws你能寫出你的解決方案嗎?謝謝。 – J4cK

+0

@Trickster它在答案的底部被描述。我已經停止使用MacVim並轉移到終端VIM,但解決方案在當時工作正常 – gws

3

我建議你使用session.vim Extended session management for Vim進行會話管理,因爲這個插件正常工作。您可以在每次關閉vim或創建新會話,關閉/打開vim並加載該會話時自動保存當前會話。如果你閉上你的MacVim/gVim的節省,並自動載入會議

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

現在: