所以我尝试使用 vim 删除所有包含字母“a”的单词
我想改变这个字符串
hotel echo lima lima oscar whiskey oscar romeo lima delta
到
hotel echo whiskey romeo
我希望我可以在 vim 上做到这一点,但如果我必须在 paste、sed 等上做到这一点也没问题。只要我可以在 linux 上做到这一点。
谢谢
答案1
使用以下内容:
s/\<\w*a\w*\> *//g
解释:
s/ # substitute, delimiter
\< # word boundary
\w* # 0 or more word character
a # letter a
\w* # 0 or more word character
\> # word boundary
* # 0 or more spaces
/ # delimiter
/g # delimiter, global
答案2
一种方法是将光标放在行首,搜索/a
,然后
daw
(“删除一个单词”)。然后,您可以使用 跳转到下一个匹配项n
,然后按.
重复删除(并继续发送n
+ .
)。如果行很长,您可以使用 录制宏(将光标放在行首)qqndaw
,然后使用 重复该宏 100 次(或某个足够大的数字)100@q
。