2011-10-31 14 views
7

Caso de uso:Making (Mac) Vim vuelve a abrir con los archivos abiertos cuando está cerrado

Tiene 2-3 archivos en la (s) ventana (s) de MacVim. Presiona ctrl + Q y MacVim se cierra. Cuando reinicia MacVim, se abre mostrando los mismos archivos que tenía cuando lo cerró.

¿Cómo puedes hacer eso?

- RESPUESTA

que añade lo siguiente a mi .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() 

Con esto casi tener el comportamiento exacto que quería, la única pequeña molestia es que todavía tengo que presione command-q luego pero eso es MacOs, no vim ....

Respuesta

8

Le sugiero que lea sobre las sesiones :help session, que deberían responder a su pregunta. Incluso hay buenos scripts para tratar con sesiones.

+0

Gracias mb14, pude diseñar lo que necesitaba después de seguir su ejemplo – gws

+0

@gws ¿puede escribir su solución? Gracias. – J4cK

+0

@Trickster se describe en la parte inferior de la respuesta. Desde entonces he dejado de usar MacVim y me mudé a la terminal vim, pero la solución funcionaba bien en ese momento – gws

3

Sugiero que utilice session.vim Extended session management for Vim para la gestión de sesiones, ya que este plugin simplemente funciona. Puede guardar automáticamente su sesión actual cada vez que cierre vim o crear una nueva sesión, cerrar/abrir vim y cargar esa sesión.

13

instalar este plugin: https://github.com/xolox/vim-session

y añadir las dos líneas siguientes a su .vimrc:

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

Ahora bien, si usted cierra su MacVim/GVim guarda y carga automáticamente la sesión.

+0

Gran solución. ¡Gracias por el consejo! –

Cuestiones relacionadas