回答:
まず、ビジュアルセレクションを選択したレジスターにコピーします(vim用語では「ヤンク」とも呼ばれます)。たとえば、「z」を登録するためにコピーするには、視覚的な選択を行ってから、と入力し"zy
ます。
指定した場合、カーソルを移動せずに、最初の角括弧にカーソルを置いてと入力することにより、これを行うことができますv%"zy
。
内訳:v
->ビジュアル選択を開始します。%
->対応する中括弧に移動します。"z
->レジスタ「z」を使用します。y
->選択範囲をヤンク(コピー)します(この場合、レジスタ 'z'に)。
ビジュアル選択をコピーして「z」を登録したら、コマンドラインに移動して、次のように入力します。
call writefile(getreg('z', 1, 1), "some-file")
上書きではなくテキストを追加する場合は、次のように「a」フラグを使用できます。
call writefile(getreg('z', 1, 1), "some-file", "a")
split()
?getreg(.., 1, 1)
リストを返すので、split()
必要ありません。
Vimのヘルプによると(:h 10.3):
注: ビジュアルモードを使用して行の一部を選択する場合、またはCTRL-Vを使用してテキストのブロックを選択する場合でも、コロンコマンドは行全体に適用されます。 これは、Vimの将来のバージョンで変更される可能性があります。
Charles Campbellによるプラグインvis(#1195)は、ビジュアル(ブロック)選択にのみ:B {cmd}
適用するコマンドを提供します{cmd}
。