Bien que convoquer sur le format DOS ou Unix une fois pour toutes est bien sûr l'approche préférable, parfois certains collègues ne le font pas se soucient suffisamment de la gestion correcte des sources pour que leurs éditeurs se comportent correctement. Dans ces cas désespérés, au lieu de convertir complètement le fichier (résultant en un fichier complètement réécrit par vous-même selon le SCM, rendant la fonction "blame" inutile), j'ai trouvé préférable de prétendre que le problème ne se produisait pas. t existe. Si le compilateur est accommodante, et PHP par tous les moyens est, vous pouvez avoir un fichier mixte EOL air parfaitement cool avec la commande suivante:
:match Invisible /\r$/
Ou dans les versions les plus récentes de VIM 7.4+
:match Ignore /\r$/
Pour aggraver les choses, la plupart des éditeurs GUI ne terminent pas un fichier texte avec une nouvelle ligne, et quand un fichier se termine par un retour à la ligne, ils affichent une ligne vide en bas.Puisque c'est un peu ennuyeux, la plupart des gens vont supprimer cette ligne vide, ce qui se traduira par un fichier mixte EOL (et le redoutable^Ms montré dans Vim) si le format de fichier était DOS.
Si quelqu'un sait comment faire Eclipse ou NetBeans honorer la fin newline sans montrer la dernière ligne vide (comme le fait intelligemment Vim), s'il vous plaît parts vos connaissances et vous ferez un codeur heureux ici. ;-)
Cela semble "réparer" le fichier en ajoutant dos linebreaks partout où ils sont manquants, ce qui peut être ce qui amène vim à afficher les marqueurs^M (était dans mon cas). – numerodix
Pouvons-nous lier cette commande à un keymap? – deeJ
Cette réponse et la réponse de @ jqno sont "correctes", mais de différentes manières. ': e ++ ff = dos%' rouvrira le fichier en cours en mode DOS/Windows. ': set fileformats = dos' provoquera l'ouverture de tous les fichiers ouverts en mode DOS/Windows. Une bonne explication avec tous les détails est disponible à http://vim.wikia.com/wiki/File_format –