vim:用no行替换一个线条图案

bra*_*les 7 regex vim

我试图在vim上实现一个简单的替换但是无法正确.我需要在整个文件中删除与模式匹配的所有行.模式是"东西*",意思是"东西"后跟任何东西,直到行尾.我试图:%s/pattern*\n//g:%s/pattern*$//g没有成功.有任何想法吗?

干杯!

unp*_*680 6

:g而不是:substitute.

:g/pattern/d
Run Code Online (Sandbox Code Playgroud)

将删除所有与模式匹配的行.

至于图案,你将匹配patter,pattern,patternn等等.使用通配符.匹配任何字符.所以你的正则表达式应该是pattern.*$---但是如果你想完全删除这些线条,那就可以了:g/pattern/d.

  • 一个补充:`g/pattern/d _`(注意下划线)与`s /.*pattern.*\n\= // g`的行为相同,而你的版本将破坏未命名,编号的值( 1-9),可能还有其他一些寄存器. (2认同)