Léa-Linux & amis :   LinuxFR   GCU-Squad   GNU
[gVim] Comment restaurer la session précédente dans gvim ?confused smiley
Envoyé par: orax

Bonjour, j'aimerais que lorsque je lance gvim, il me restaure automatiquement les fichiers qui étaient ouverts lors de sa dernière fermeture (tampons + onglets).

En réalité j'utilise actuellement gvim sous windows xp mais je suppose que ça doit être grosso-modo la même chose sous Linux.

Pour ceux qui connaissent Notepad++ sous windows, lorsqu'on le quitte, il enregistre les onglets qui étaient ouverts, et donc j'aimerais que gvim fasse la même chose sans que je sois obligé de penser à sauvegarder ma session manuellement à chaque fois à la fermeture. Je connais très peu gvim et je ne sais absolument pas comment faire. Est-ce que c'est au moins possible ?

Poste le Wednesday 13 May 2009 22:54:23
Répondre     Citer    
Re: [gVim] Comment restaurer la session précédente dans gvim ?confused smiley
Envoyé par: orax

J'ai finalement trouvé un script qui correspond en partie, sur ce site vim.wikia.com, que j'ai adapté pour Windows 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 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).

En gros, il faudrait qu'il réagisse un peu comme Notepad++ ou comme d'autres éditeurs, c'est à dire qu'il garde la session en mémoire et que lorsque j'ouvre un nouveau fichier, qu'il m'affiche la session précédente ainsi que le nouveau fichier dans le buffer/onglet/fenêtre actif.

Voici le script que j'utilise actuellement (sous Win XP) :
au VimLeave * call VimLeave()
au VimEnter * call VimEnter()

let gtongue sticking out smileyathToSessions = $HOME . "\\vimfiles\\sessions\\"
let g:FichierSession = "DerniereSession.vim"

function! VimEnter()
    " gvim started with no files
    if has("browse") == 1
      let gconfused smileyessionFileName = gtongue sticking out smileyathToSessions . g:FichierSession
      if gconfused smileyessionFileName != ""
        exe "source " . gconfused smileyessionFileName
      endif
    else
      " For non-gui vim
        exe "source " . gtongue sticking out smileyathToSessions . g:FichierSession
    endif
endfunction

function! VimLeave()
  exe "mksession! " . gtongue sticking out smileyathToSessions . g:FichierSession
  if exists("gconfused smileyessionFileName") == 1
    if gconfused smileyessionFileName != ""
      exe "mksession! " . gconfused smileyessionFileName
    endif
  endif
endfunction

" A command for setting the session name
com -nargs=1 SetSession :let gconfused smileyessionFileName = gtongue sticking out smileyathToSessions . <args> . ".vim"
" .. and a command to unset it
com -nargs=0 UnsetSession :let gconfused smileyessionFileName = ""

Poste le Thursday 14 May 2009 20:25:35
Répondre     Citer    
Re: [gVim] Comment restaurer la session précédente dans gvim ?confused smiley
Envoyé par: oraxo

Problème résolu : j'utilise Cream qui permet cela sans rien changer.

Poste le Saturday 16 May 2009 00:11:47
Répondre     Citer    

Veuillez vous authentifier auparavant pour commenter.

 

Ce forum !
[gVim] Comment restaurer la session précédente dans gvim ?
Posez dans ce forum les questions qui ne trouvent pas place dans les autres...

Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons