我正在尝试查找 Twitter 句柄的所有实例,并在它们周围包裹一个锚标记。
:%s/\(@[\w]\)/<a href="http://www.twitter.com/\1">\1<\/a>/gc
这给了我:
E488: Trailing characters
当and/
之间的分隔符(在您的情况下)包含在其中一个中时,必须使用. 避免这种情况的一个技巧是使用不同的分隔符,例如:{pattern}
{string}
\
#
:%s#@\(\w\+\)#<a href="http://www.twitter.com/\1">\0</a>#gc
PS:如果它应该做我认为应该做的事情,那么你的模式是错误的;看我的更正。
如果在选定的文本块中替换时出现此问题,可能是因为您%s
在应该只键入时错误地键入了s
我通过选择一个块,键入:
并在提示符处:'<,'>
键入%s/something/other/
导致:'<,'>%s/something/other/
正确的语法:'<,'>s/something/other/
没有百分比时发生了这种情况。
我遇到了这个问题并且无法让它消失,直到我发现.vimrc
我有部分的文件是我从其他包含缩写的地方复制的,例如:
abbrev gc !php artisan generate:controller
该缩写会弄乱我的搜索和替换命令,这些命令通常如下所示:
:%s/foo/bar/gc
通过将其扩展gc
为!php artisan generate:controller
,除了它不会在现场/实时进行。我提示的方式是查看命令历史记录(通过按下:
和向上箭头)并查看
:%s/foo/bar/!php artisan generate:controller
因此,如果无论您做什么都会出现尾随字符错误,我会查看内部
~/.vimrc
看看你是否能在那里找到问题。
我有同样的问题。
仅使用其他分隔符没有帮助。所以,另外
我没有选择任何行。
并且没有将 g 用于全局。
所以就
:%s#to_be_replaced#replacement#
做了这项工作。将所有出现的“to_be_replaced”更改为“replacement”。
:%s/\/apps/log_dir/g
其中要替换的字符串=/apps 和替换的字符串=log_dir 正如我们所看到的 / 所以我们需要使用"\/"