IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Autres EDI Discussion :

[Emacs][Linux] ^M apparu étrangement


Sujet :

Autres EDI

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2007
    Messages : 119
    Points : 81
    Points
    81
    Par défaut [Emacs][Linux] ^M apparu étrangement
    Bonjour,
    j'ai ces ^M qui sont apparu pour les retour chariot dans emacs, et que dans celui-ci. Bizarrement, je n'ai pas passé ce fichier par dos (mais il a été créé sous windows et téléchargé par ftp). Tous les autres fichiers sont ok. La seule chose que je me souvienne avoir fait d'un peu spécial est un copié-collé d'une portion de code de Bluefish vers Emacs, mais c'est tout...

    J'ai tenté la solution donnée un peu partout sur le net:
    mais rien...
    Quelqu'un peut me dire pourquoi c'est apparu et comment m'en débarrasser?

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2007
    Messages : 119
    Points : 81
    Points
    81
    Par défaut
    comme je n'ai toujours pas trouvé de solution, je me permet ce petit up...

  3. #3
    Membre confirmé Avatar de satenske
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2011
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 143
    Points : 477
    Points
    477
    Par défaut
    Je ne sais pas si ça vient de la même chose, mais j'avais eu exactement le même problème sous vim, c'était un fichier que j'avais téléchargé...
    La seule solution que j'avais trouvé à ce moment là, c'était de les supprimer "à la main" (avec suppr ) et ensuite d'enregistrer le fichier, une fois cela fait, il n'y 'était plus...
    Même le rechercher remplacer n'avait pas marché.

    Mais je suis resté sur ma fin, à ne pas comprendre pourquoi ils étaient arrivés là.
    « Only wimps use tape backup: _real_ men just upload their important stuff on ftp, and let the rest of the world mirror it. » – Linus Torvalds

  4. #4
    Membre expert Avatar de jabbounet
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juin 2009
    Messages
    1 909
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 909
    Points : 3 284
    Points
    3 284
    Par défaut
    Citation Envoyé par BlindeKinder Voir le message
    (mais il a été créé sous windows et téléchargé par ftp).
    Pour information bash est pour linux ce que dos est pour windows (ou a peu près).

    Le fait d’éditer un fichier et de le sauver sous windows avec un éditeur qui ne préserve pas le format de fin de ligne fera systématiquement apparaitre des retour charriots (car cet éditeur sous windows fera probablement une conversion implicite au format du systèmes).

    Certains éditeur permette de préserver le format de fichier lors de l'édition a condition de les paramétrer correctement. (emacs/vi/ultraedit/notepad++/...)

    Sous la plupart des unix/linux, la commande dos2unix permet de convertir le fichier au format unix et unix2dos fait le contraire.

    quand cette commande n'existe pas sed peut faire le boulot.

    Code unix2dos : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    sed 's/$/\r/' fichier

    Code dos2unix : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    sed 's/\x0D$//' fichier
    bazar: http://www.improetcompagnie.com/publ...ctacles-6.html

    BÉPO la disposition de clavier francophone, ergonomique et libre: http://bepo.fr/wiki/Accueil

    Emacs Wiki: http://www.emacswiki.org/

    En attente de ce que produira: http://www.pushmid.com

  5. #5
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 101
    Points : 5 849
    Points
    5 849
    Par défaut
    Citation Envoyé par BlindeKinder Voir le message
    Bonjour,
    j'ai ces ^M qui sont apparu pour les retour chariot dans emacs, et que dans celui-ci. Bizarrement, je n'ai pas passé ce fichier par dos (mais il a été créé sous windows et téléchargé par ftp). Tous les autres fichiers sont ok. La seule chose que je me souvienne avoir fait d'un peu spécial est un copié-collé d'une portion de code de Bluefish vers Emacs, mais c'est tout...

    J'ai tenté la solution donnée un peu partout sur le net:
    mais rien...
    Quelqu'un peut me dire pourquoi c'est apparu et comment m'en débarrasser?
    Je ne peux pas dire comment ils sont apparus.

    Il faudrait savoir (mais c'est peut-être un peu tard maintenant!) s'il s'agit d'un vrai caractère ^M ou de 2 caractères (un "^" suivi d'un "M"). Je crois me souvenir avoir déjà vu ça, il y a quelques décennies, en copiant/collant du texte...

    Une manière de savoir le contenu précis du fichier, c'est d'utiliser la commande de base "od" (pour octal dump) od -c fichierS'il s'agit de 2 caractères, "od" devrait afficher quelque chose comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    mac-jack$ echo "A^M" > toto
    
    mac-jack$ od -c toto
    0000000    A   ^   M  \n                                                
    0000002
    auquel cas un simple M-% ^ M RET RET ! devrait suffire.

    S'il s'agit d'un vrai RET, od -c devrait afficher un backslash suivi d'un "r", peut-être suivi d'un backslash suivi d'un "n", auquel cas une solution devrait bien être de faire C-x RET f unix RET (avec C-x et non C-c).
    Le buffer est alors marqué modifié ("**" au début de la modeline). Il faut ensuite le sauver (C-x C-s) pour que le résultat soit effectivement enregistré sur le disque dur.

    Avec echo "A" > toto et différents appels de set-buffer-file-coding-system (C-x RET f unix ou mac ou dos RET), "od" affiche alors les résultats suivants:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    mac-jack$ od -c toto  # Après C-x RET f unix RET C-x C-s
    0000000    A  \n                                                        
    0000002
    mac-jack$ od -c toto  # Après C-x RET f mac RET C-x C-s
    0000000    A  \r                                                        
    0000002
    mac-jack$ od -c toto  # Après C-x RET f dos RET C-x C-s
    0000000    A  \r  \n                                                    
    0000003
    En espérant que cela puisse servir à quelqu'un...
    )jack(

Discussions similaires

  1. Débat : quelle distribution Linux choisir pour débuter ?
    Par Anonymous dans le forum Distributions
    Réponses: 227
    Dernier message: 18/02/2015, 10h09
  2. installer emacs sur linux fedora
    Par specsy dans le forum RedHat / CentOS / Fedora
    Réponses: 4
    Dernier message: 16/01/2011, 07h42
  3. [Kylix] Le débutant en Kylix et Linux....
    Par Eclypse dans le forum EDI
    Réponses: 2
    Dernier message: 08/05/2002, 10h37
  4. OmniORB : code sous Windows et Linux
    Par debug dans le forum CORBA
    Réponses: 2
    Dernier message: 30/04/2002, 17h45
  5. Je ne peux établir une connexion cliente sous Linux.
    Par Anonymous dans le forum CORBA
    Réponses: 5
    Dernier message: 16/04/2002, 15h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo