web-dev-qa-db-ja.com

Vimでパターンを検索し、発生した場合は行末まで削除します

テキストファイルで特定のパターンを検索しようとしています。このパターンが発生した場合は、行の残りの部分は不要であるため削除できます。

次のコマンドを使用してみましたが、これまでのところ失敗しています。

:%s/{pattern}/d$

:g/{pattern}/d$

誰かが何か提案があれば、彼らは大歓迎です

39
smauel

:%s/{pattern}.*//仕事?

65
mirod

または、以下も機能します

:g/{pattern}/normal nd$

あなたが望むもののために、私はミロドの提案で行きます。私が投稿したものはもう少し柔軟性があり、同様の状況で役に立つかもしれません。

説明:

パターンが一致する各行で、次の通常モードコマンド「nd $」を実行します。カーソルが行の先頭にある場合、「n」はパターンにジャンプし、「d $」は行の末尾に移動します。

34
user55400

パターンなどを置き換えるには、正規表現のワイルドカード.*を使用します

:1,$s/pattern.*//g
3
user8618720