Insérez le caractère de retour chariot dans vim

101

J'édite une trame de protocole réseau stockée dans un fichier sous Unix ( \nnouvelles lignes). J'ai besoin d'insérer le caractère de retour chariot ( U+000Daka \r). Lorsque j'essaye de le coller à partir du presse-papiers ( "+p) ou de le saisir en utilisant Ctrl+ Shift+ u- 000d, le saut de ligne est inséré ( U+000A).

Quelle est la bonne façon de procéder?

Andrey Vlasovskikh
la source
Non. Je suppose que votre évasion est peut-être une erreur. Pouvez-vous proposer une autre solution (fonctionnelle) basée sur les expressions rationnelles? :)
Andrey Vlasovskikh

Réponses:

169

Type: ctrl- v ctrl-m

Sous Windows Utilisation: ctrl- q ctrl-m

Ctrl- Vindique à vi que le prochain caractère saisi doit être inséré littéralement et ctrl- mest la frappe pour un retour chariot.

R Samuel Klatchko
la source
10
Merci, cela fonctionne pour moi. L'aide peut être trouvée en utilisant :help ins-special-keys.
Andrey Vlasovskikh
1
Si vous utilisez l'installation Windows par défaut, remplacez CTRL + V par CTRL + Q puisque CTRL + V est remappé pour «coller».
Cyber ​​Oliveira
9
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 à partir d'une commande: s, vous devez le faire précéder d'une barre oblique inverse sinon vim (7.1.314) le convertira à la fin de caractère de ligne approprié à votre paramètre de format de fichier. c'est à dire entrer :s/.../\^V^M/g.
DerfK
6
Et Ctrl+Vsuivi par Enter? Je remarque que cela s'insère également ^Mdans le texte
Braden Best
2
Notez que cela fonctionne également pour ESC: d'abord, passez en mode INSERT (i), puis Ctrl + V ESC, et vous avez vous-même un caractère ESC.
Christopher Schultz