69 votes

/ dans vi Rechercher et remplacer ?

Dans vi, rechercher et remplacer, comment échapper à un '/' (barre oblique) pour qu'il soit correct. Disons dans un chemin.

comme : /Utilisateurs/tom/documents/pdfs/

:%s//Users/tom/documents/pdfs//<new text>/g  --FAILS (obviously)

:%s/\/Users/tom/documents/pdfs\//<new text>/g -- FAILS with a trailing error

:%s/'/Users/tom/documents/pdfs/'/<new text>/g -- FAILS with a trailing error

Qu'est-ce que je rate ?

0voto

fohrums Points 101

Windows utilise la barre oblique inverse pour les répertoires et Linux utilise la barre oblique inverse pour les répertoires. Vim est un éditeur de texte qui fonctionne pour les systèmes d'exploitation. Puisque les deux systèmes d'exploitation ont une interprétation différente des chemins de répertoire concernant l'utilisation des barres obliques, Vim doit alors avoir un moyen d'interpréter la méthode tordue de Windows.

LINUXFORWARD vs. WINDOWSBACK (SLASHES DE RÉPERTOIRE)

  • Les barres obliques sont littéralement inversées sous Windows et facilement indiquées sous Linux.
    • Les fenêtres :
    • C:\Program Files (x86)\Microsoft OneDrive\
    • Linux :
    • /usr/bin

SOLUTION

Je ne peux que constater la difficulté de la fonction de recherche et de remplacement de Vim sous Windows, car je n'ai pas de PC Linux.

  • La solution est de doubler la barre oblique inversée
    • BIEN :
    • :%s/c:\\Program Files (x86)\\Microsoft OneDrive\\/annoyancereplaced/g
    • MAUVAIS :
    • :%s/c:\Program Files (x86)\Microsoft OneDrive\/unabletoreplaceannoyance/g

NOTE

  • Si vous travaillez avec chemins de réseaux alors que Windows utilise deux barres obliques \\ alors cela signifie que pour chaque barre oblique inverse, il doit y avoir une autre barre oblique inverse car elle est toujours maintenue égale.
    • par exemple, le chemin du réseau : \\Foo\Bar\
    • %s/C:\\Program Files (x86)\\foo\\bar/\\\\Foo\\Bar\\
    • remarquer le \\\\

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X