2013-01-20 7 views
5

特定の文字列が含まれている場合は、行から単語を削除しようとしています。ここでは、テキストの例です:Vimで文字列を含む完全な単語を削除する

host-a, host-b, host-c+test, host-d, host-e+test 

私が生じると、+testが含まれているものを削除する:

host-a, host-b, host-d 

同様に、私は、行単位で行にこれを適用する必要はありませんファイル内のすべての行に表示されます。これはマクロ内で使用されます。

どうすればいいですか?

+0

あなたもコンマを削除しますか? – fge

+0

はい。私の例に示すように。 – Jericon

答えて

4

何かこれは、多分?

:%s/\<[-a-z]\++test\>//gc 

交換する場合は、それぞれの一致を尋ねます。ヒント:set hlsearchはあなたに試合を表示します。

あなたも、その後、コンマを削除する場合:

%s/\(,\s\+\)\?\S\++test\>//gc 
+0

'-'は単語の境界として認識されますので、それを無効にするか別の解決策を使用する必要があります –

+0

ああ、そうです。一定。 – fge

+0

最初のものは動作していますが、2番目のものは動作していません。コンマがある場合は削除する必要があります(つまり、項目が行の先頭にない場合)。 – Jericon

関連する問題