Puis-je enregistrer des plis?

13

Aujourd'hui, j'ai appris à plier / déplier dans Vim; c'est assez pratique.

De façon inattendue, lorsque je quitte un fichier et que je le rentre, les plis que j'ai créés ont disparu (dépliés).

Dans le grand projet de notre entreprise, il y a beaucoup de blocs de code collants (hérités) qui sont en quelque sorte obsolètes mais indispensables.

J'ai vraiment besoin de les plier presque définitivement.

Existe-t-il un moyen rapide de dire à Vim de sauvegarder mes préférences de pliage pour un fichier?

Zen
la source
1
Je ne sais pas si cela résoudra votre problème, mais peut-être que les commandes :mkviewet :loadviewpourraient vous aider. Vous pouvez essayer d' ajouter ces 2 lignes dans votre vimrc au BufWinLeave *.c mkviewet au BufWinEnter *.c silent loadviewles adapter à vos besoins spécifiques. Ce sont des commandes automatiques qui seront exécutées automatiquement chaque fois que vous quitterez un tampon pour le premier, et lorsque vous entrerez un tampon pour le second, mais uniquement pour les fichiers C. Je les ai copiés à l'aide de la :mkviewcommande ( :help :mkview).
saginaw
1
Selon l'aide, il devrait restaurer les plis lors de l'utilisation du pliage manuel et l'option 'viewoptions'contient folds. Si vous souhaitez que les autocommandes soient exécutées pour d'autres types de fichiers, vous pouvez modifier les autocommandes. Par exemple, si vous souhaitez ajouter des fichiers python, vous pouvez passer *.cà *.c,*.py.
saginaw
Je suis désolé, j'avais tort quand j'ai dit que les commandes automatiques seraient exécutées chaque fois que vous entrez / quittez un tampon. Le premier sera exécuté après l'affichage d'un tampon dans une fenêtre, le second sera exécuté avant qu'un tampon ne soit supprimé d'une fenêtre.
saginaw

Réponses:

6

Je fais exactement cela pour un fichier auquel je me réfère beaucoup, NOTES.otlj'ai effectué ce qui suit dans mon .vimrc:

" Useful for my Quick Notes feature in my tmuxrc
augroup QuickNotes
  au BufWrite,VimLeave NOTES.otl mkview
  au BufRead           NOTES.otl silent loadview
augroup END

Cela signifie que dans votre cas, vous pouvez gérer les plis manuels à l'aide des commandes :mkviewet :loadview.

Sukima
la source