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?


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.


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
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.