Remove full words containing a string in Vim

假如想象 提交于 2019-12-07 04:40:55

问题


I am trying to remove words from a line if they contain a specific string. Here is an example of the text:

host-a, host-b, host-c+test, host-d, host-e+test

I want to remove anything that contains +test, to result with:

host-a, host-b, host-d

Likewise, I need to apply this on a line by line basis, not on all lines in the file. It is going to be used within a macro.

How can I do this?


回答1:


Something like this, maybe?

:%s/\<[-a-z]\++test\>//gc

It will ask for each match if you want to replace it. Hint: set hlsearch will show you the matches.

If you also want to remove the comma, then:

%s/\(,\s\+\)\?\S\++test\>//gc


来源:https://stackoverflow.com/questions/14421942/remove-full-words-containing-a-string-in-vim

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!