vim 複数行一致 行頭まで削除
ringa_lee
ringa_lee 2017-05-16 16:34:34
0
3
659

問題の説明
より大きなファイルを処理する必要があり、各行の一致する文字列より前のコンテンツが削除されます。ファイルコンテンツの形式は次のとおりです:

リーリー

各行の最初のsegmentfault発生前から行頭までの内容を削除できる見込みです

期待される処理結果は以下の通りです。 リーリー

現在のソリューション
実行にはマクロを使用します

リーリー

短所: 効率が低く、非常に時間がかかります

期待される解決策
直接列編集 (ctrl + v) を実行して、行の先頭までの各行の一致する位置を削除することを期待します。
それを達成するにはどうすればよいですか?

ringa_lee
ringa_lee

ringa_lee

全員に返信(3)
曾经蜡笔没有小新

定期的な置換と列の編集をお試しください。キーワードは別の位置にあるため、直接編集できません。 リーリー

いいねを押す +0
仅有的幸福

@ixx 正規表現という考えは正しいです
しかし、もっと簡単な解決策があります

リーリー

ze マッチングモードが終了したことをマークします

いいねを押す +0
淡淡烟草味

質問の作成者は、vim の列モード (Ctrl-v) を使用して、複数の行を選択して単語セグメントの前の部分に一致させたいと考えていると思います。
しかし、それは不可能なので機能しません
1) 列モードでは、行の先頭または末尾でマッチングを行う方がよく、不規則なマッチングブロックを形成することはできません。
2) 1 行目の行頭からセグメントまでの s は 3 W、2 行目と 3 行目からセグメントまでの s は 2 W です。これを一度に行うのは簡単ではありません。 (同じ理由で、W を w に置き換えても機能しません)

列モードは、テキスト がきちんと配置 したり、簡単に 配置できる場合の処理に適しています。

==========
別の回答では、正規表現を使用して一致と置換を行うと非常に便利であると述べています。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート