Q:

How to delete all line not containing a pattern or another pattern

I know I must use the command :v, but I don't find on internet the right key to match 2 patterns.
I'd like to run this kind of command:
:v/OneWord .or. AnotherWord/d

A:

Just combine them with \|, which stands for alternating branches:
:v/OneWord\|AnotherWord/d

Since that was so simple, here are two recipies for the opposite, matching lines where both words match:
:v/.*OneWord\&.*AnotherWord/d
:v/\%(OneWord.*AnotherWord\)\|\%(AnotherWord.*OneWord\)/d

