2009-06-26 9 views

Répondre

88

:%s/ /Ctrl vRetour/g

Ctrl v est-clé de contrôle touche plus v et Retour est la clé de retour (celui sur le clavier principal, pas la touche entrée sur le pavé numérique). Les autres caractères sont tapés comme d'habitude.

Si cela est correctement saisi, la séquence Ctrl vRetour affiche les caractères ^M, généralement dans une couleur différente, pour indiquer qu'ils sont spéciaux. Notez qu'en tapant réellement ^M sera pas travail.

Notez également que dans Vim pour Windows, il s'agit de Control-q au lieu de Control-v (car c'est un collage).


Ctrl-v permet également d'entrer d'autres clés "spéciales" via le clavier. Il est également utile pour, par exemple, Tab ou retour arrière.

+0

J'accepte la réponse parce qu'elle est indépendante du système. Samoz réponse fonctionne également. Il est surprenant que la commande pour Windows fonctionne dans mon OS/X, pas la commande Unix. –

+12

:% s// \ r/g devrait également fonctionner sur tous les systèmes d'exploitation. – DrAl

+0

AL est juste, je l'ai vérifié sur ma boîte ubuntu ça marche bien. – rangalo

7

Entrez les informations suivantes:

:s//

et maintenant tapez Ctrl-V ou Ctrl-Q (dépend de votre configuration) et appuyez sur la touche Entrée. Vous devriez maintenant avoir:

:s/ /^M 

finir:

:s/ /^M/g 

et vous êtes bon pour aller.

2

Essayez soit

Pour Unix:

:1,$s/\ /\n/g 

Pour Windows:

:1,$s/\ /\r/g 

Ce contient un caractère d'échappement pour l'espace.

+2

Je suis assez sûr que cela fonctionne sur tous les systèmes. – DrAl

+0

Intéressant. Je vais devoir essayer. – samoz

2

Plus précisément pour répondre à votre problème avec les caractères de fin, c'est l'expression régulière que vous avez spécifié:

:%s/ /s/\n/g 

Vous avez trop /. Ce qui se passe est que vous remplacez « » avec s, puis vous marquez ce après la substitution: \n/g

Je pense que vous vouliez dire ceci:

:%s/ \s/\n/g 

Notez que votre /s a été changé en \s. Maintenant, la substitution remplacera un espace suivi d'un espace de n'importe quel type (espace ou tabulation) avec \n. Je doute que cela résolve le problème ou remplace l'espace par un saut de ligne, mais cela devrait expliquer le message d'erreur.

Questions connexes