Forum Linux.général Vim : Comment supprimer les ^M et ^@ ?

Posté par  .
Étiquettes : aucune
0
21
déc.
2005
Bonjour,


Je dispose d'un fichier dont je voudrais éliminer certains meta-caractères style : ^M et ^@

Y'a-t-il une substitution possible à faire sous Vim?
Car je ne sais pas comment "échapper" les caractères spéciaux.
Merci.

PS : je suis dans un environnement Win32 chez le client, pas de possibilité d'installer quoique ce soit :(
  • # :%s

    Posté par  (site web personnel, Mastodon) . Évalué à 1.

    tu tapes :
    :% s/CeQueJeCherche/CeQueJeMetsAlaPlace/g

    ce qui peut donner pour supprimer les ^M
    :% s/^M//g

    Voilà!
    • [^] # OUPS faute de tape!

      Posté par  (site web personnel, Mastodon) . Évalué à 1.

      il faut taper !
      :%s

      et non

      :% s

      désolé
      • [^] # Re: OUPS faute de tape!

        Posté par  . Évalué à 1.

        Quand tu tapes ^M dans la commande de substitution, il ne "t'attrappe" les carctères spéciaux ^M qui correspondent en fait à des retours à la ligne; c'est d'ailleurs pour ça qu'ils apparaissent en bleu dans Vim, car se sont des carctères spéciaux.

        j'ai pu supprimer les ^M en faisant :
        :%s/\r//g



        mais pour les ^@ je ne connais pas les caractères d'échappement.
        Some one can help ?
  • # sous linux

    Posté par  (site web personnel) . Évalué à 1.

    sous linux, j'utilise ctrl-v puis la combinaison que je souhaite avoir.
    Donc dans ton exemple: il fallait taper ctrl-V puis ctrl-m pour avoir ^M

    je ne sais pas si ça marche dans la version win

    mais ça ne marche pas pour ^@ je ne sais pas à quoi ça correspond
  • # une solution générique pour effecer ce type de carctère

    Posté par  . Évalué à 2.

    J'ai pu trouver une solution à mon problème.
    Pour supprimer un carctère exotique ^M, ^@, etc.. :

    - Se positionner sur le caractère
    - Se positionner sur le caractère
    - faire 'yl' (en mode commande évidemment)
    - :%s/<CTRL-R>"//g
    - Apprécier le résultat du fichier expurgé de ses vilains caractères :)

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.