Par exemple, j'ai une tâche pour rechercher tous les fichiers dans le répertoire courant où contient "foo", puis remplacer par "bar".
Maintenant, voici ma solution actuelle:
:vim /bar/ **/*
Utilisez cette option pour rechercher toutes les apparences de foo
, puis le remplacer un par un « bar »
:s/foo/bar/gc
Il est évident que ce n'est pas une bonne solution quand remplace devient grand . Donc, s'il y a une meilleure solution pour combiner ces deux opérations en une seule. Mais il y a une condition préalable: Doit donner un indice avant le remplacement, tout comme ce que fait le c
dans la deuxième commande. Ceci évite de remplacer un mot qui n'a pas besoin d'être remplacé.Comment combiner: vim et: s dans vim
0
A
Répondre
3
ouvrir tous les fichiers vim:
$ vim *
Replace foo
avec bar
:argdo %s/foo/bar/ | update
Tutoriel: http://vim.wikia.com/wiki/Search_and_replace_in_multiple_buffers
0
le plus simple serait:
vim $(egrep -l '/foo/' **/*) -c 'bufdo %s/foo/bar/g'
mais cela échouera s'il y a des espaces sur les noms de fichiers, une approche plus robuste serait:
files=()
while IFS= read -rd '' filename; do
files+=("$filename")
done < <(egrep -Zl '/foo/' **/*)
vim "${files[@]}" -c 'bufdo %s/foo/bar/g'
Questions connexes
- 1. vim background E/S
- 2. Que fait:% S do vim?
- 3. Vim supertab et jedi-vim
- 4. Combiner deux commandes vim en une seule
- 5. Comment remplacer dans vim
- 6. Mapper la tabulation dans vim pour inverser l'onglet dans Vim
- 7. Perl regex dans vim?
- 8. Comment combiner deux fonctionnalités de plugins vim wiki?
- 9. Comment vim prend-il en charge le mode C/S?
- 10. Powershell comme vim (vim): shell
- 11. Pour ajouter une correspondance efficacement dans Vim: g/---/s/---/X/
- 12. Python et vim sur windows?
- 13. Vim Substitution
- 14. dans vim, comment combiner ^] et arge, suivre un tag et l'ajouter à la liste arg?
- 15. vim et notepad ++
- 16. gVim/vim - comment puis-je écrire tampon vim dans une nouvelle fenêtre (non vim)?
- 17. vim mapleader commande t merdé configuration vim
- 18. Vim errorformat et jslint
- 19. et Latex-Vim Suite
- 20. Onglets Vim et tampons
- 21. Recommandations Symfony2 et Vim
- 22. Inverser regexp dans vim
- 23. vim et latex-box
- 24. redirection et vim
- 25. recherche et remplacer requête Vim
- 26. vim: combiner: g avec la commande qui utilise la plage
- 27. VIM: Utilisez Python 2.5 avec vim 7.2
- 28. Symboles mathématiques dans vim
- 29. motif trouvé dans la recherche vim, mais pas dans vim recherche et remplacer?
- 30. Comment changer l'autoformat dans vim?