Existe-t-il un moyen de vim pour fermer tous les fichiers (tampons, n'en parlons pas) d'un répertoire et de ses sous-répertoires?Fermeture de fichiers dans Vim à partir du répertoire et de ses sous-répertoires
1
A
Répondre
8
Placez ce qui suit dans votre fichier .vimrc ou dans un fichier personnalisé dans le dossier plugin vim.
function! s:close_buffers(name_regexp)
for buffer_number in range(1, bufnr('$'))
if !buflisted(buffer_number)
continue
endif
let name = fnamemodify(bufname(buffer_number), ':p')
if name =~ a:name_regexp
exec 'bdelete '.buffer_number
endif
endfor
endfunction
command! -nargs=1 CloseBuffers call s:close_buffers(<f-args>)
Utiliser les commandes comme
:CloseBuffers include
:CloseBuffers in.*e
pour fermer les tampons qui matches de nom passé expression rationnelle.
Cela signifie que pour fermer tous les fichiers du dossier spécifique, vous pouvez utiliser
:CloseBuffers workspace/cpp
:CloseBuffers /home/my/project
Pour fermer tous les fichiers du répertoire courant et tous subdirs
:exec "CloseBuffers ".getcwd()
4
Vous pouvez le faire de cette façon assez concise:
:silent! bufdo if expand('%')=~"some_regex"|bd|endif
Ou si vous voulez des chemins absolus au lieu de relatif:
:silent! bufdo if expand('%:p')=~"some_regex"|bd|endif
Ou si vous voulez qu'il vous invite pour le regex, vous pouvez définir cette manière interactive comme une mise en correspondance:
:let regex=input("> ")|silent! bufdo if expand('%:p')=~regex|bd|endif
etc., etc.
Questions connexes
- 1. MFC - Copier un répertoire, ses sous-dossiers et fichiers
- 2. Branche de réintégration faite à partir du répertoire de travail
- 3. Récupère le chemin et le nom de fichier de tous les fichiers d'un répertoire donné et de ses sous-répertoires
- 4. compiler directement à partir de vim
- 5. Gestion de fichiers VI/VIM
- 6. Vim: Changer le répertoire de démarrage?
- 7. Désactivation de la création de fichiers d'échange dans vim
- 8. Comment créer un vcproj avec qmake de sorte que ses filtres reflètent la structure du répertoire?
- 9. Création de fichiers JAR multiples à partir du projet Eclipse
- 10. Pré-envoyer un fichier à tous les fichiers .cs dans le répertoire et le sous-répertoire à l'aide de PowerShell
- 11. Configuration de l'explorateur de fichiers Vim
- 12. Emacs impossible de charger ses fichiers de démarrage
- 13. Schéma de couleurs dans vim
- 14. Détection de la fermeture du navigateur à partir de l'application flexible
- 15. Exclure certaines extensions de fichier lors de l'obtention de fichiers à partir d'un répertoire
- 16. Fermeture de tous les fichiers ouverts dans un processus
- 17. jQuery tirez des images à partir du répertoire
- 18. Comment obtenir une liste de fichiers à partir d'un répertoire Web?
- 19. Comment générer du code C# à partir de fichiers WADL?
- 20. Récupérer des fichiers et leurs numéros de version à partir du point de partage
- 21. Makefile et fichiers sous un répertoire
- 22. fermeture de la ligne principale à partir d'un autre filetage
- 23. Trouver répertoire de travail à partir de Ant
- 24. Définition du répertoire de démarrage lors de l'appel de Powershell à partir de .NET?
- 25. (Obj) C++: Instancier (référence à) classe à partir du modèle, accéder à ses membres?
- 26. Télécharger par programme un fichier à partir du répertoire de connaissances de plumtree
- 27. Importation de modules Python à partir d'un répertoire distant
- 28. Facilement ouvrir inclure les noms de fichiers dans vim?
- 29. Restauration à partir de la sauvegarde et du binaire
- 30. Est-il possible de démarrer un programme externe à partir du répertoire cible lors du débogage?