2009-10-18 34 views
73

Je suis en train d'éditer un cadre de protocole réseau stocké un fichier sous Unix (\n newlines). Je dois insérer le caractère de retour de chariot (U+000D aka \r). Lorsque je tente de le coller dans le presse-papiers ("+p) ou tapez Ctrl en utilisant + Maj +u - 000d, le saut de ligne est inséré (U+000A).Insérer le caractère de retour chariot dans vim

Quelle est la bonne façon de le faire?

+1

:% s/\\ n/\\ r/g ne fonctionne pas? – LB40

+0

Non. Je suppose que vous vous êtes peut-être trompé. Pourriez-vous proposer une autre solution basée sur l'expression rationnelle? :) –

Répondre

127

Type: ctrl - vctrl - m

Sous Windows Utilisation: ctrl - qctrl - m

Ctrl - V dit à vi que le caractère tapé suivant doit être inséré littéralement et ctrl - m est la séquence de touches pour un retour chariot.

+9

Merci, cela fonctionne pour moi. L'aide peut être trouvée en utilisant ': help ins-special-keys'. –

+1

Si vous utilisez l'installation Windows par défaut, remplacez CTRL + V par CTRL + Q car CTRL + V est remappé pour «coller». –

+8

Après beaucoup de headbanging j'ajoute ceci ici même si c'est une vieille question: pour insérer un caractère CR littéral d'une commande de: s, vous devez le précéder d'une barre oblique inversée ou vim (7.1.314) le convertira à la fin de caractère de ligne approprié pour votre paramètre de format de fichier. c'est-à-dire, entrez:: s /.../\\ V^M/g'. – DerfK

Questions connexes