427 votes

Comment sauvegarder et restaurer plusieurs sessions différentes dans Vim ?

En fonction de ma tâche dans Vim, j'ai plusieurs onglets ouverts.

Comment puis-je sauvegarder différentes sessions pour une utilisation ultérieure ?

17 votes

@ldigas Je pense que les gens se sentent plus à l'aise pour trouver la question ici (avec la grande police de caractères, le bon formatage...) que sur un forum old school ou une documentation de terminal, ou, Dieu nous en préserve, sur un site web. man page

1 votes

@puk - Il n'y a pas beaucoup de formatage non plus. Et vous pouvez changer la police de caractères dans Vim :)

7 votes

@ldigas Personnellement, j'ai toujours été effrayé par les pages de manuel parce qu'elles ne sont pas suffisamment explicites. Comme tout ce qui concerne Linux, la courbe d'apprentissage est raide.

579voto

Benj Points 12084

Vous voulez quelque chose comme

:mksession ~/mysession.vim

Ensuite, plus tard, vous pourrez créer ce fichier vim et vous retrouverez votre ancienne session :

:source ~/mysession.vim

ou ouvrez vim avec l'option -S :

$ vim -S ~/mysession.vim

28 votes

Ooo, et j'ai presque oublié que vous pouvez le recharger en tapant : gvim -S ~/mysession.vim

1 votes

Merci @Benj. Je suis nouveau dans vim. Comment puis-je créer une source dans la ligne de commande ?

1 votes

Bonjour Jogusa, C'est à peu près ce dont il est question dans le commentaire ci-dessus. vim -S

74voto

Jan Christoph Points 311

Vous pouvez définir ces options de session dans votre vimrc. Ces options sont particulièrement gênantes lorsque vous avez modifié votre vimrc après avoir enregistré la session.

set ssop-=options    " do not store global and local values in a session
set ssop-=folds      " do not store folds

1 votes

Super ! J'avais exactement ce problème hier. Merci beaucoup !

45voto

Deepanshu Points 149

Notez que :mksession n'enregistrera pas les modifications apportées aux fichiers que vous avez créés. J'ai fait l'erreur de fermer vim après avoir sauvegardé la session en supposant que je reprendrais à partir de là. Mais la fois suivante où j'ai ouvert la session, les modifications que j'avais apportées aux fichiers avaient disparu.

15 votes

Cela devrait venir avec toute réponse relative à :mksession .

3 votes

Oui, vous voulez probablement suivre avec un :wqa

11 votes

Ou simplement :xa Une frappe en moins. Hourra !

36voto

gdso Points 198

Si vous utilisez NERDTree en tant qu'explorateur de fichiers, je recommanderais plugin xolox/vim-session au lieu de la commande intégrée :mksession. Pour une raison quelconque, :mksession ne parvient pas à restaurer les tampons NERDTree. Votre avis peut varier, mais j'ai pensé que je devais partager mon expérience.

0 votes

Pour macvim, je dois m'assurer que : let g:nerdtree_tabs_open_on_gui_startup=0 et let g:nerdtree_tabs_open_on_new_tab=0 pour que xolox/vim-session fonctionne.

7voto

vivekpoddar Points 463

Il existe un plugin très utile pour cette tâche vim-startify qui gère bien d'autres choses, comme les fichiers récemment ouverts, etc., et dont l'interface est très simple.

Je l'utilise depuis quelques jours et jusqu'à présent, il fonctionne parfaitement. J'espère que cela vous aidera.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X