我想替换vim中的搜索表达式。如何在VIM中替换表达式
例如:
我用的表达式搜索:/0x....
- >将在格式的所有字符串搜索 0x0001
,0x0002
,0x1234
等
现在,我想用0x0001_mystring
,0x0002_mystring
,0x1234_mystring
等替换上述搜索项。
我想替换vim中的搜索表达式。如何在VIM中替换表达式
例如:
我用的表达式搜索:/0x....
- >将在格式的所有字符串搜索 0x0001
,0x0002
,0x1234
等
现在,我想用0x0001_mystring
,0x0002_mystring
,0x1234_mystring
等替换上述搜索项。
使用以下ex命令:
:%s/0x\x*/&_mystring/g
\x
比赛hexdigit字符。相当于[0-9A-Fa-f]
。&
被替换为整个匹配模式。参考:http://vimdoc.sourceforge.net/htmldoc/pattern.html#/ \ X(对不起,SO不喜欢在URL \
)
使用替代命令:
:%s/0x..../&_mystring/g
该语法类似于sed。
%s
将搜索整个文档,使用:s/...
如果你只想搜索,并在光标所在行更换,使用:5,10s/...
如果你要搜索和替换行5〜10
0x....
是regex来搜索。 (&
),并添加_mystring
。
标记g
告诉vim为特定行上的每个出现次数执行此操作,否则它只会替换每行上的第一个匹配项。
这只适用于每个十六进制数字都有四位数字的情况。 – user2987828
......这正是OP要求的。没有必要downvote。 – pfnuesel
这是非常基本的。学习如何查找命令并导航内置的':help';它是全面的,并提供许多技巧。你不会像其他编辑一样学习Vim,但如果你承诺不断学习,它将证明它是一个非常强大和高效的编辑器。 –
谢谢@IngoKarkat我试着得到**:帮助**,但我迷路了,感到困惑。 – dkumar
试试':vimtutor',然后。 – user2987828