7
votes

Comment définir FileFormat = Unix pour tous les fichiers Opend in Vim?

Je veux changer de fichier FileFormat de tous les fichiers.

Alors je les ouvre d'utilisation vim * .

Puis je veux savoir s'il y a un moyen simple de le faire, plutôt que de taper : définir FileFormat = Unix et : w pour chaque fichier un par un.

vim

7 commentaires

peut-être que vous pouvez utiliser dos2unix pour tout votre fichier dans Shell d'abord


@HOWCHEN: Merci d'avoir fourni cette commande. Mais je veux aussi faire comment faire de la même opération à tous les fichiers ouverts dans Vim.


Pourquoi voulez-vous le faire via Vim? Pourquoi est-ce mieux que de le faire dans la coquille avec dos2unix ?


@Andylester: Je l'ai fait avec Dos2unix. Et je pense que je devra peut-être faire la même opération à de nombreux fichiers dans Vim dans d'autres cas.


@PKTANGYUE: Vous n'avez pas besoin de convertir les terminaisons de ligne dans VIM si vous l'avez déjà fait avec dos2unix . Pourquoi pensez-vous que vous devez le faire dans Vim?


@PKTANGYUE: Ou vous écrivez SET FileFormat = Unix dans votre fichier VIMRC? Je crois en certaines raisons, les fichiers que vous cp à partir de Windows auront ^ m dans eux. Si tel est le problème, utilisez :% s / ^ m // g pour tous les fichiers est bien. @Andylester: Qu'est-ce que vous êtes d'avis?


@Andylester: J'ai résolu cela avec Dos2unix. Et maintenant, ce que je suis en garde, c'est comment je peux faire une modification de nombreux fichiers, tels que: $ S / ^ m // g pour chaque fichiers de VIM. Et je pense que cet exemple que je donne est vraiment pauvre.


3 Réponses :


4
votes

Peut-être que vous avez besoin bufdo code>?

 :help bufdo
 bufdo[!] {cmd}     Execute {cmd} in each buffer in the buffer list.
 It works like doing this: 
                :bfirst
                :{cmd}
                :bnext
                :{cmd}
                etc.


3 commentaires

Merci. Et je trouve d'autres commandes similaires, comme: Windo: Tabo: Argo.


Un exemple aurait été génial


Vous pouvez le faire comme ceci: : bufDO SET FF = DOS | w



11
votes

argo est ce que vous voulez, pas bufdo , puisque vous voulez le faire sur chaque argument et que vous ne voulez pas (nécessairement) d'ouvrir chaque fichier en premier. xxx

devrait faire le tour.



3
votes

Bien sûr, vous pouvez le faire à l'aide de la fonctionnalité VIM Record et Play. Suivez ces étapes

1. Open all files using vim *
2. Press "qq" to start recording
3. :set ff=unix
4. :wn
5. Press again "q" to stop recording
6. Execute like "100@q"


3 commentaires

Ou simplement : bufdo Set FF = DOS | w


@sarath C'est un vieux fil, mais vous me faites savoir cette méthode pour appliquer quelque chose à tous les tampons, ce qui m'a sauvé littéralement un (ou deux) jours dans ma vie précieuse et assurez-vous que vous assurez une erreur. La bonne nouvelle devrait être répandue pour toute la race humaine.


Heureuse d'entendre cela :)