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 :q
telle 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.sql
un problème de la :q
commande, é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
:mksession
et 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.vim
fichier.- J'ai actuellement interrompu l'utilisation de vim-obsession car (ironiquement), les
Session.vim
fichiers que vim obsession fait souvent ne restaurent pas les onglets contenant des pages d'aide, mais lesSession.vim
fichiers générés par:mksession
restaurent 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
la source
QuitPre
événement qui ramènerait le focus à la fenêtre précédente avant de fermer celle en cours:autocmd QuitPre * wincmd p
~/.vimrc
et garder un œil sur tous les effets secondaireswincmd p
dire que ne fonctionne pas parce que p est nul peut-être. Jeobsession
permettra d' économiser des fenêtres d'aide si vous ajoutezhelp
à unsessionoptions
certain temps avant d' enregistrer la session:set sessionoptions+=help
.Réponses:
l'utilisation de la commande
:clo[se]
au lieu de:q
semble avoir résolu le problème pour moi.C'est-à-dire que si je pose
:clo
un problème avec la disposition des fenêtres ci-dessus, vim lanceEn fait, il semble que
:close
c'était destiné à cette situation, c'est-à-dire pour empêcher la fermeture accidentelle de l'éditeur lorsque tout ce que vous vouliez faire était de fermer une fenêtre (ou un onglet)de
:h windows.txt
la source