我有很多包含美国总统卡特、布什、克林顿和奥巴马名字的行。有些行包含其中一个名字,有些包含两个名字,有些包含三个名字,有些包含所有四个名字(任意顺序)。
我知道如何搜索同时包含卡特、克林顿和奥巴马的行 ->
:g/.*Carter\&.*Clinton\&.*Obama/p
我知道如何搜索 Carter AND (Clinton OR Bush) ->
:g/.*Carter\&\(.*Clinton\|.*Bush\)/p
(肯定有更好的方法来做到这一点)
但我想不出如何搜索(我已经看了相关问题),例如,搜索布什和克林顿而非卡特,甚至更不用说搜索布什和克林顿而非(卡特或奥巴马)。
:help \@<!
。如果是我,我会选择在命令行中使用grep | grep -v
的方法。 - ire_and_curses