Mon Vim remplacer par une expression régulière est en train de lancer un " E488: Les personnages
J'essaie de trouver toutes les occurrences d'une poignée Twitter, et enrouler une balise d'ancrage autour d'eux.
:%s/\(@[\w]\)/<a href="http://www.twitter.com/"><\/a>/gc
Qui me donne:
E488: Trailing characters
- Soit échapper à toutes vos
/
's, ou d'utiliser un autre séparateur (,
vient à l'esprit).
Vous devez vous connecter pour publier un commentaire.
Lorsque le caractère de séparation (
/
dans votre cas) entre{pattern}
et{string}
est contenue dans l'un de ces, il faut l'échapper avec un\
. Une astuce pour éviter cela est d'utiliser un autre caractère séparateur, par exemple#
:PS: Si il devrait faire ce que je pense qu'il devrait faire, votre modèle est faux; voir ma correction.
/1
pour injecter le patron la première fois, et/0
pour l'injecter la deuxième fois./0
va injecter la totalité de la parole, et la/1
va injecter juste la partie qui a été capturé.J'ai eu ce problème et je ne pouvais pas la faire disparaître, jusqu'à ce que j'ai trouvé que la
.vimrc
fichier que j'avais des pièces que j'ai copié d'ailleurs, qui contenait des abréviations, comme ceci par exemple:abbrev gc !php artisan generate:controller
L'abréviation serait gâcher ma recherche et remplacer les commandes qui généralement ressembler à ceci:
:%s/foo/bar/gc
par l'expansion de cette
gc
en!php artisan generate:controller
, sauf, qu'il ne serait pas le faire sur place/en temps réel. La manière que je clued dans a été, en regardant à travers l'historique des commandes (en appuyant sur:
et la flèche vers le haut) et de voir:%s/foo/bar/!php artisan generate:controller
Donc, si vous obtenez de fuite les erreurs de caractères peu importe ce que vous faites, j'aurais l'air à l'intérieur de
~/.vimrc
et voir si vous pouvez trouver le problème.
:%s/\/apps/log_dir/g
où la chaîne à remplacer=/apps
et remplacé string=log_dir
comme nous l'avons vu /nous avons donc besoin d'utiliser
"\/"