简体   繁体   English

vim 搜索并替换为算术(C 指针)

[英]vim search and replace with arithmetic (C pointer)

I want to search and replace a pointer我想搜索和替换一个指针

char* test

however, when I type然而,当我输入

:%s/char* test/something/g

I get我得到

E486: Pattern not found: char* test

I assume this is due to vim trying to use regex in search.我认为这是由于 vim 试图在搜索中使用正则表达式。

How can i tackle this issue?我该如何解决这个问题? Is it possible to replace such text?是否可以替换这样的文本?

You need to escape star symbol.您需要转义星形符号。 This should work:这应该有效:

:%s/char\* test/something/g
%s/char[[:blank:]]*[*][[:blank:]]*test/something/g

[[:blank:]]*[*][[:blank:]]* : To just replace "one" * occuring between any number of spaces or tabs. [[:blank:]]*[*][[:blank:]]* :只替换出现在任意数量的空格或制表符之间的“一个” * [1] [1]

[1] What's the difference between [:space:] and [:blank:]? [1] [:space:] 和 [:blank:] 有什么区别?

如果您想完全禁用正则表达式,我找到了另一个解决方案

:%sno/char* test/something

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM