J'ai trouvé un script qui correspond en partie, sur ce site [http://vim.wikia.com/wiki/Working_with_multiple_sessions], que j'ai adapté pour Windows (car j'utilise actuellement gvim sous Win XP) pour qu'il m'ouvre automatiquement la dernière session (sans afficher de message).
==> Mais j'ai encore un problème. J'aimerais que lorsque je lui spécifie un argument, par exemple lorsque j'exécute 'gvim.exe NOM_DU_FICHIER', il faudrait qu'il m'affiche automatiquement le fichier NOM_DU_FICHIER dans le buffer actif ou éventuellement dans un onglet (ce que j'arrive à faire avec ':buffer 1' d'après ce que j'ai vu, mais je voudrais que ce soit automatique au lancement de gvim).
Voici le script que j'utilise actuellement sous Win XP (g:PathToSessions a été modifié) :
au VimLeave * call VimLeave()
au VimEnter * call VimEnter()
let g:PathToSessions = $HOME . "\\vimfiles\\sessions\\"
let g:FichierSession = "DerniereSession.vim"
function! VimEnter()
" gvim started with no files
if has("browse") == 1
let g:SessionFileName = g:PathToSessions . g:FichierSession
if g:SessionFileName != ""
exe "source " . g:SessionFileName
endif
else
" For non-gui vim
exe "source " . g:PathToSessions . g:FichierSession
endif
endfunction
function! VimLeave()
exe "mksession! " . g:PathToSessions . g:FichierSession
if exists("g:SessionFileName") == 1
if g:SessionFileName != ""
exe "mksession! " . g:SessionFileName
endif
endif
endfunction
" A command for setting the session name
com -nargs=1 SetSession :let g:SessionFileName = g:PathToSessions . . ".vim"
" .. and a command to unset it
com -nargs=0 UnsetSession :let g:SessionFileName = ""
# Presque solutionné
Posté par orax . Évalué à 1.
version Linux : http://vim.wikia.com/wiki/Launch_files_in_new_tabs_under_Uni(...)
version Windows : http://vim.wikia.com/wiki/VimTip1440
J'ai rajouté une entrée dans le registre pour ouvrir les nouveaux fichiers avec : ...gvim.exe" --remote-tab-silent "%1".
C'est pas mal mais par contre des fois il m'affiche ce genre de message au démarrage de gvim :
"\Documents and Settings\XXX\vimfiles\sessions\DerniereSession.vim" [R0] 321L, 8501C
Appuyez sur ENTREE ou tapez une commande pour continuer
Si ça peut être utile, à la ligne 321 dans DerniereSession.vim (fichier où est stocké la session) j'ai :
"silent! normal! zE"
Et si je fais ENTREE j'ai :
"Erreur détectée en traitant C:\Documents and Settings\XXX\vimfiles\sessions\DerniereSession.vim :
ligne 85 :
E163: Il n'y a qu'un seul fichier à éditer
Appuyez sur ENTREE... blabla...
A la ligne 85 j'ai :
args \Documents\ and\ Settings\XXX\vimfiles\sessions\DerniereSession.vim
Je vais chercher mais je ne comprends qu'à moitié les messages d'erreurs, je ne vois pas trop où est le problème...
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.