特定のファイルにコマンドの出力を書き出したいときはこれ
!をつけることで新規のファイルでも書き込める
:redir! > file :echo 'aaa' :redir end
これでaaaという文字列がfileに書かれる
ちなみにredirはrediと省略して書ける
また、rediはredirectの略
ファイルに追記したい場合は>>を使えばよい
:redi >> % :echo 'bbb' :redi end
これでbbbという文字列が現在編集中のファイルの末尾に追記される(bufferに反映させるには:e!する必要あり)
出力をレジスタに入れることもできる
:redi @a :echo 'testtest' :redi end
レジスタに入れてしまえば後はbufferで好きなように使える
redi endが実行されるまでの出力すべてがキャプチャされるため、その間にエラーなどが発生すればそれもすべてキャプチャされることに注意