web-dev-qa-db-fra.com

Comment puis-je supprimer le ^ M de mon fichier dans sublime text 3?

Quand je fais un diff dans ma branche, je vois que les fins de lignes ont les caractères ^ M:

^M Line Endings

Je souhaite les remplacer par des fins de ligne Unix avant de valider mes modifications.

J'utilise Ubuntu 14.04, git et sublime text 3.

Merci de votre aide.

MODIFIER:

Je cherche un moyen de changer les fins de ligne dans le texte sublime 3 sans utiliser d’autres utilitaires ou commandes.

11
Achraf JEDAY

J'ai trouvé un plugin texte sublime qui convertit les fins de ligne de tous les fichiers ouverts en Unix/Windows/Mac OS 9.

Installation

  1. Ouvrez Sublime et allez dans Préférences> Parcourir les packages. Cela ouvrira une fenêtre.
  2. Téléchargez ou clonez le contenu de ce référentiel dans un dossier nommé exactement comme le nom du paquet dans le dossier Packages/que vous avez ouvert à l'étape précédente:

/home/YOUR_USERNAME/.config/sublime-text-3/Packages

Utilisation

  1. Retournez en sublime et ouvrez tous les fichiers que vous souhaitez convertir.
  2. Une fois que tous les fichiers sont ouverts, appuyez sur CTRL + SHIFT + P, puis recherchez et sélectionnez "Fin de ligne pour toutes les vues: Unix".
  3. Appuyez sur CTRL + ALT + S pour enregistrer tous les fichiers ouverts.
3
Achraf JEDAY

Vous pouvez utiliser la commande dos2unix dans linux (paquet dos2unix) ou modifier les fins de ligne dans Sublime Text sous l’option de menu Afficher/Terminaisons de lignes .

8
Jan Čejka

Cela peut être fait sans plugin via le menu en haut ou via la barre d'état (mais vous devez activer la fonctionnalité).

Pour le changer via le menu en haut, cliquez sur Affichage -> Fin de ligne -> Sélectionnez le type de fin de ligne souhaité.

Pour l'activer via la barre d'état: Cliquez sur Préférences -> Paramètres, puis ajoutez "show_line_endings": true, quelque part entre les crochets {} du côté droit. Enfin, enregistrez vos modifications.

Cela active une petite section à droite de la barre d'état qui apparaît en bas. Il vous indique le codage EOL actuel. En cliquant sur la case et en sélectionnant un type différent, vous modifiez le caractère EOL des fichiers.

Une autre option utile est le codage de fichier qui peut être activé dans la barre d'état en suivant les mêmes configurations que ci-dessus, mais en ajoutant également "show_encoding": true, entre les marques {}.

7
K.B.

^M est \r (Ctrl-M ou retour chariot).

Cela est probablement dû au fait que l'utilisateur qui a validé le fichier utilisait Windows, qui utilise \r\n pour ses fins de ligne. Linux utilise uniquement \n, vous voyez donc le ^M à la fin de la ligne.

Vous voudrez probablement faire l’une des choses suivantes:

  • Corrigez le fichier avec les fins de ligne \n (à l'aide d'un outil tel que dos2unix) et validez. Dans ce cas, vous vous battrez avec l’autre utilisateur à moins que vous ne puissiez le convaincre de faire ce qui suit.
  • Configurez vos deux installations git pour gérer les fins de ligne correctement pour chaque environnement - par exemple: https://stackoverflow.com/questions/10418975/how-to-change-line-ending-settings
  • Configurez Sublime pour ouvrir le fichier avec ' fins de ligne Windows '
6
Attie

A qui ne souhaite peut-être pas installer de plug-in supplémentaire pour supprimer ^ M nouvelles lignes,

  1. Dans les paramètres de texte sublime, ajoutez "trim_trailing_white_space_on_save": true, pour supprimer automatiquement de l'espace lors de l'enregistrement. (Cette étape peut être facultative)

  2. Sur le fichier que vous ouvrez, cliquez sur le coin inférieur droit du texte sublime. Modifiez Windows en Unix et enregistrez.

  1. ^ M est parti. Prendre plaisir.
2
harrrrrrry