はじめに
dpp.vim へIssueを作成するときに、 :redir
というコマンドの実行を求められ、わからなくて調べたので紹介します。
環境
- OS:macOS Sonoma 14.0(23A344)
- Vim:9.0 Compiled by uhooi
redir
とは?
記事のタイトルの通りですが、コマンドの出力(メッセージ)をリダイレクトするコマンドです。
末尾が dir
なので、ディレクトリに対して何か操作をするコマンドかと思いますが、「redirect」の略で、ディレクトリとは無関係です。
redir
の使い方
redir
の使い方です。
最初は少しとまどいますが、慣れるとわかりやすいです。
" ファイルへリダイレクトする
" `redir!` で、すでにファイルが存在する場合は上書きする
" `>>` で、すでにファイルが存在する場合は追記する
:redir > test.txt
" 任意のコマンドを実行する
:echo 'Hello, Vim!'
" リダイレクトを終了する
:redir END
リダイレクトしたファイルを開いて中身を確認します。
test.txt
Hello, Vim!
:echo
の実行結果がファイルにリダイレクトされていることを確認できました。
よく使うリダイレクト
よく使うリダイレクトを紹介します。
メッセージをリダイレクトする
メッセージをリダイレクトします。
プラグインの不具合報告時によく使います。
:redir > messages.txt
:messages
:redir END
ランタイムパスをリダイレクトする
ランタイムパスをリダイレクトします。
こちらもプラグインの不具合報告時によく使います。
:redir > rtp.txt
:set rtp
:redir END
おわりに
コマンドの出力をリダイレクトする方法の紹介でした。
これでVimのコマンドの実行結果を簡単に共有することができます