J'ai eu besoin d'éditer beaucoup de fichiers récemment pour un petit changement dans chaque fichier. Pour accéder à chaque fichier, j'ai parcouru NERDtree et ouvert un fichier après l'autre. En ouvrant de plus en plus de fichiers, j'ai remarqué que mon utilisation de la mémoire avait beaucoup augmenté. Fermer vim m'a redonné beaucoup de mémoire.
J'ai pas mal de plugins installés, mais je pense que la raison pour laquelle mon utilisation de la mémoire a augmenté de manière drastique est due au nombre de tampons que j'avais ouverts après quelques modifications.
Existe-t-il un moyen de limiter le nombre de tampons que vim permet d'ouvrir simultanément, fermant automatiquement les anciens tampons par rapport au temps d'édition?
b:variables
mais dans uns:plugin[bufid]
si le responsable du plugin préfère ne pas polluer leb:
"namespace" public . Dans ce cas, la suppression du tampon ne collectera pas nécessairement toutes les variables / mémoire associées.Ce qui suit devrait répondre à votre question.
Cela doit être déposé dans un plugin. Ensuite, vous devrez choisir comment l'utiliser.
la source
Je ne sais pas comment obtenir les tampons les plus anciens en ce qui concerne le temps d'édition, mais on pourrait plutôt essayer de fermer les tampons les plus anciens non modifiés. Quelque chose comme:
Remarques:
vim.buffers
est une liste de tous les tampons ouverts dans la session en cours, il inclut donc également les tampons non répertoriés. Ce n'est pas la même chose que la liste retournée par:ls
.options['buflisted']
.options['modified']
permet de vérifier si le tampon est modifié.N
est le nombre de tampons répertoriés et non modifiés que vous souhaitez ouvrir.Grâce à la réponse de Luc Hermitte à partir de laquelle j'ai appris comment obtenir les horodatages, vous pouvez utiliser les éléments suivants à la place, pour que le plus ancien inactif soit expulsé en premier:
la source
:let buffers = filter(range(0, bufnr('$')), 'buflisted(v:val) && ! getbufvar(v:val, "&modified")')
+:exe 'bw '.join(buffers, ' ')
bw
L'aide de l' IIRC indique que vous ne devriez pas l'utiliser "à moins que vous sachiez ce que vous faites". Je ne. :):bw
, et jamais:bd
. Je n'ai jamais vu l'intérêt de supprimer presque tout d'un tampon, mais pas tout.