J'utilise gVim sous Windows. Mon code montre ^M
caractères à la fin des lignes. J'ai utilisé :set ff=dos
en vain. Les caractères ^M
restent pour les lignes existantes, mais n'apparaissent pas pour les nouvelles lignes que j'entre. J'ai changé les modes à mac (montre ^J
caractères) et unix (montre également ^M
caractères) et dos à dos. Quelqu'un d'autre a-t-il vu cela?gVim indiquant le retour chariot (^ M) même lorsque le mode fichier est explicitement DOS
Répondre
Cela se produit lorsque vous avez un mélange de terminaisons de ligne Windows et Unix. Si vous avez 100 lignes, 99 sont \ r \ n et un est \ n, vous verrez 99^M caractères. La solution est de trouver cette ligne et de la remplacer. Ou exécutez dos2unix sur le fichier. Vous pouvez remplacer les fins de ligne Windows avec:
:%s/\r\(\n\)/\1/g
J'utilise habituellement ce qui suit pour le nettoyage de mes fins de ligne:
:g/^M$/s///
Pour obtenir le ctrl-M type I habituellement ctrl-Q, puis ctrl-M et il le met dedans. (Dans certains environnements, il peut être ctrl-V, puis ctrl-M.) Je ne sais pas pourquoi, mais je trouve cela plus facile à retenir que rq.
N'oubliez pas de faire également :set ff=dos
, sinon vous finirez par enregistrer avec les fins de ligne UNIX.
Oui, normalement utilisez la version^M avec Ctrl-Q et tout ça. Mais c'est plus difficile à expliquer ;-) et la version de match de groupe est copiable. – richq
Je sais que cela a déjà répondu, mais un truc que je l'utilise est
:%s/\r/\r/g
Cela remplace les retours chariot unix avec les fenêtres CRLF. Juste ajouté au cas où quelqu'un d'autre avait des problèmes.
cela fonctionne très bien !! – Gordon
En fait, ce qui a fonctionné pour moi (sur Windows 64 bits, gVim: 7.2) est:
:set ffs=dos
pas seulement: ff
éxécution de vim 7.3 sur Windows 7. J'ai utilisé les éléments suivants commande:
:%s/^M/\r/g
Pour créer le^MI tapé dans CTRL + Q, puis CTRL + M.
Ceci est probablement un peu simple pour beaucoup d'entre vous mais au hasard, c'est utile.
Basé sur la réponse de richq, je les ai trouvés utiles dans mon vimrc. Notez que le second est commenté normalement car cela rend dd un peu déroutant puisque Vim attendra un autre coup de clé pour fonctionner si c'est la commande ex mappée.
function! D2u() execute '%s/\r\(\n\)/\1/g' endfunction "map d2u :%s/\r\(\n\)/\1/g
Le premier est exécuté en entrant dans call D2u()
ex et la seconde en appuyant sur D2u
en mode édition.
Vous pouvez ignorer ces caractères!
mettre ceci dans votre vimrc
correspondance Ignorer/\ r $/
Bon à savoir c'est là, mais existe-t-il un bon cas d'utilisation pour laisser des fins de ligne incompatibles dans un fichier? On dirait que c'est demander des ennuis. – Jerph
Ceci est plus ce dont j'avais besoin (changer le fichier n'est pas toujours conseillé quand il provoque des changements massifs dans un fichier apparaissant dans certains systèmes de contrôle de révision) – RunHolt
Malheureusement, cela change les fins de ligne dès que vous enregistrez le fichier. Donc, il produit exactement ces grands changements indésirables dans les espaces, seulement sans vous montrer. Au moins pour moi. :( –
Ce sont des terminaisons supplémentaires de ligne CR généralement en raison d'un aide d'un fichier sur les systèmes mixtes UNIX/DOS.
possible réponse la plus courte pour enlever un seul^M de la fin de chaque ligne, et ce que je l'utilise, est:
:%s/\r
qui équivaut à:
:%s/\r//
mais la fin les barres obliques ne sont pas obligatoires (elles sont supposées).
essayé beaucoup de choses, mais ce qui suit travaillé
:%s/\r/\r/g
Note: L'utilisation g si vous voulez que l'effet sur le fichier entier
- 1. TextBox let '\ n' le retour de chariot
- 2. Insérer le caractère de retour chariot dans vim
- 3. Retour chariot dans XmlNode Innertext
- 4. Comment supprimer le retour chariot en python 2?
- 5. MySQL: retour chariot dans la requête
- 6. Expression régulière pour le retour de chariot survenant au début ou à la fin du fichier
- 7. Delegate.CreateDelegate échoue lorsque le type de retour est l'interface
- 8. vba userforms comportement de retour chariot
- 9. requête SQL pour un retour chariot dans une chaîne et, finalement, enlever retour chariot
- 10. Exécution d'un exécutable têtu dans le fichier Dos Batch
- 11. Le retour à la ligne automatique et le retour chariot ne fonctionnent pas à l'intérieur de la zone de texte
- 12. Comment chercher retour chariot dans Eclipse
- 13. Est-ce que nautilus ouvre le fichier dans le nouveau buffer gvim?
- 14. exécutant le script DOS Debug
- 15. Lecture d'entrée m-fichier dans un m-fichier principal
- 16. mvc retour partiel lorsque le bouton est cliqué en utilisant ajax
- 17. Pouvez-vous utiliser cmd.ExecuteScalar lorsque le sproc utilise RETOUR @value
- 18. Masquage^M dans emacs
- 19. scripts DOS - pour le serveur MSFTP
- 20. MVC Preserve retour chariot - saut de ligne en html
- 21. FileNotFoundException levée lorsque le fichier existe
- 22. Zend_Form_Element_File - le fichier est perdu lorsque les erreurs de formulaire
- 23. Débogage: pause à l'exécution lorsque le fichier est modifié? (windows)
- 24. FFMPEG - taille de fichier zéro lorsque le son est activé
- 25. Retour chariot et sauts de ligne dans SQL Server
- 26. Retour à la ligne de commande dans Gvim
- 27. Dois-je explicitement convertir la valeur de retour de malloc()?
- 28. Le bouton IE8 Compatibility View est activé même lorsque IE = EmulateIE7
- 29. Comment demander un retour lorsque l'utilisateur ferme le navigateur?
- 30. Exécution du mode intégré et du mode classique sur le même serveur iis7
Voir http://vim.wikia.com/wiki/File_format pour une explication complète des fins de ligne dans vim/gvim. Ce lien explique également comment résoudre le problème. – axiopisty