Lorsque je travaille dans vim, j'ai souvent une ou plusieurs divisions ouvertes contenant des fichiers d'aide.
Si je ferme d'autres fenêtres en utilisant de :qtelle sorte que vim soit laissé dans un état où seules les fenêtres d'aide sont ouvertes, vim ferme tout l'éditeur, ce qui me fait perdre ma position dans les pages d'aide. par exemple, disons que j'ai cette disposition
tab1 (this is the only tab open)
+------------------+-------------+-----------------+
| | | |
| |:h usr_26.txt| |
| A normal file, | | :h change.txt|
| containing code |section 26.2 | |
| e.g. |line 47 | line 272 |
| | | |
| app_db.sql | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
+------------------+-------------+-----------------+
Si je devais entrer dans la fenêtre contenant app_db.sqlun problème de la :qcommande, étonnamment l'éditeur entier serait perdu.
Il me faut souvent beaucoup de temps - jusqu'à 15-20 minutes - pour rechercher l'aide pour finalement découvrir ce contenu d'aide, donc même si ce n'est pas exactement du travail perdu, c'est certainement beaucoup de temps perdu lorsque cela se produit.
Comment puis-je empêcher vim de fermer l'éditeur lui-même lorsque je ferme une fenêtre avec uniquement l'aide des fenêtres ouvertes?
Solutions possibles que j'ai envisagées
- Ne fermez tout simplement pas la dernière fenêtre lorsque des fenêtres d'aide sont ouvertes.
- le problème est que je ne fais pas attention à ce qui se trouve dans les autres fenêtres lorsque je ferme la fenêtre actuelle.
- Utilisation
mksession- cela nécessite que vous sachiez à l'avance que vous en avez besoin
:mksessionet la fermeture de l'éditeur se produit toujours de manière inattendue.
- cela nécessite que vous sachiez à l'avance que vous en avez besoin
- Utilisez un plugin comme vim obsession qui met constamment à jour un
Session.vimfichier.- J'ai actuellement interrompu l'utilisation de vim-obsession car (ironiquement), les
Session.vimfichiers que vim obsession fait souvent ne restaurent pas les onglets contenant des pages d'aide, mais lesSession.vimfichiers générés par:mksessionrestaurent les onglets avec les fenêtres d'aide. (Également un autre problème avec les étiquettes des onglets mal appariées avec les onglets eux-mêmes)
- J'ai actuellement interrompu l'utilisation de vim-obsession car (ironiquement), les
~/.vimrcet garder un œil sur tous les effets secondaires
wincmd pdire que ne fonctionne pas parce que p est nul peut-être. Je
obsessionpermettra d' économiser des fenêtres d'aide si vous ajoutez helpà un sessionoptionscertain temps avant d' enregistrer la session: set sessionoptions+=help.
QuitPreévénement qui ramènerait le focus à la fenêtre précédente avant de fermer celle en cours:autocmd QuitPre * wincmd p