Ex コマンドは通常、行全体で機能します。ただし、コマンドを使用して、:s
すべての一致をレジスタに「キャプチャ」し、ドキュメントの最後に貼り付けることができます。
:let @a=""
:%s//\=matchstr(setreg('A',submatch(0),'l'),'')/g
:$put a
説明:
a
経由でレジスタを消去しますlet @a=""
- 最後に使用した検索パターンを置き換えます:
%s//...
.
\=
置換として式 を使用します
submatch(0)
一致したパターンを表します
a
次の方法で、一致するパターンを行ごとにレジスタに追加します。setreg('A',submatch(0),'l')
- ゼロを返すので
setreg()
、基本的には空の文字列に変換するために matchstr() を使用します
- フラグを使用して、
/g
1 行に複数回一致させる
- レジスターで収集された一致
a
を、文書の最後に貼り付けます。$pu a
詳細については、次を参照してください。
:h :let
:h :s
:h range
:h :s\=
:h submatch(
:h setreg(
:h matchstr(
:h :pu
:h registers