今後

今後

Vimでグローバル置換を使用してすべてを削除したいに従って https

今後

The website is https://website.com
The website is https://website.com
The website is https://website.com

後ろに

https://website.com
https://website.com
https://website.com

答え1

:%s/.*\(https:\)/\1/

:モードに入りますex

%11,$行目から最後まで

s/区切り記号として使用されますsubstitute/

.*\(https:\)以下はhttps:httpsを覚えておいてください。

\1記憶に残る文だ。

答え2

おそらく最善のアプローチではありませんが、うまくいきます。

:%s/^.*https/https/g

行の先頭からhttpsすべてを交換してくださいhttps

答え3

これまでの他の答えは、プレフィックスをキャプチャまたはコピーする正規表現を使用して一般的な置換を示しましたhttps。しかし、Vimについてお問い合わせいただいたので、良い方法で試合を早く終了すると、この問題を回避できます。\ze原子:

:%s/.*\zehttps://

これは:substitute、すべての行()、:%行の先頭から最後(!)の一致()までのすべての項目で機能します(欲張りではない一致の使用(1行に複数回表示される場合))。ただし、最後の一致は just on ( ) 以前は空 () に置き換えます。.*https:.\{-}\ze//

短いスマート代替

コメントですでに述べたように、URLですべての行を検索し、カーソル位置から最初の一致():globalを削除して検索パターンを設定するのは簡単です。dn

:global/http/normal! dn

あいまいな代替

0d/https<CR>qqqqqjdn@qq@q

現在の行(0d/https<CR>)の一致を手動で削除し、レジスタqqqq)をクリアしてロギングを開始します。再帰マクロqq)次の行に移動(j)、一致する項目があるまで削除(dn)、再帰開始(@q)、記録終了(q)、最後にマクロをトリガー(@q)して、一致する項目がなくなるまで実行されます。

答え4

この特別な場合、リテラル空白文字はURLに含まれていないため、各行に置換を適用して最後のスペースの前にあるすべての項目を削除できます。

:% s/.* //

関連情報