私はこのファイルを持っています
foo
foo bar
foo bar baz
bar baz
foo baz
baz bar
bar
baz
foo 42
foo bar 42 baz
baz 42
したい
foo
含む行と含まない行を選択しますbar
foo
含む行と含まない行を削除するbar
このために:execを使用する必要がある場所(リンクが見つかりません)を読み|
ました。
次のことを試しましたが、うまくいきません
:exec "g/foo" # works
:exec "g/foo" | exec "g/bar" -- first returns lines with foo, then with bar
:exec "g/foo" | :g/bar -- same as above
そしてもちろん、行を選択できなければ実行できませんnormal dd
。
何か案は?
編集
報奨金に関する注意:
適切な:gコマンドと:vコマンドを使用し、条件が同じでない可能性があるため、正規表現ハックを使用しないソリューションを探しています(2つのインクルード、3つのエクスクルードを持つことができます)。
また、機能しない最後の2つの例では、行を削除するだけで機能しますが、削除せずに実行すると(つまり、選択した行を表示すると)誤った情報が返され、上記のように動作することに注意してください。