Par exemple, si je voulais rechercher et remplacer par des chaînes contenant des barres obliques vers l'arrière ou vers l'avant, comment cela serait-il accompli dans vim? Je vous remercie!
Exemples Rechercher et remplacer: :%s/foo/bar/g
et si je voulais trouver toutes les occurrences de <dog/>
et les remplacer par<cat\>
vi --help
sur mon serveur ne fournit PAS d'explication sur les caractères spéciaux qui s'échappent ... c'est pourquoi les gens viennent à stackoverflow pour commencer ...:help magic
est quelque chose que vous tapez dans vim. Ce n'est pas un argument de ligne de commande pour vim.Réponses:
De la même manière que vous échappez les caractères presque partout ailleurs dans les programmes Linux, avec une barre oblique inverse:
Mais notez que vous pouvez sélectionner un autre délimiteur à la place:
Cela vous évite de taper tous ces contre-obliques fastidieux et déroutants dans des motifs avec une tonne de barres obliques.
De la documentation :
la source
s
est considéré comme le délimiteur. Je ne peux pas savoir où j'ai trouvé une liste dans la documentation, mais je suis sûr qu'au moins/:;*%@#
sont valides.Vous pouvez remplacer les délimiteurs / s'ils deviennent gênants pour certains modèles.
la source
:
délimiteur. Je ne savais pas que vous pouviez utiliser ça. J'ai toujours utilisé@
en période de `` désordre d'évasion ''Citez-les avec une barre oblique inverse. En outre, il est souvent utile d'utiliser un autre délimiteur en plus de la barre oblique.
ou si vous devez utiliser une barre oblique comme délimiteur de commande de remplacement
la source
La syntaxe est:
la source
Je cherchais quelque chose de similaire, pour rechercher des valeurs de registre contenant le
/
caractère (pour enregistrer une macro). La solution était de rechercher en utilisant le?
jeton au lieu du/
.la source
?
cela fera une recherche en arrière, et ce n'est pas la même chose.barre oblique inverse barre oblique inverse étoile
donc après avoir tapé ça ressemble à
la source