Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

QuickRunでVimのメッセージの出力をキャプチャするコマンドを定義する

$
0
0

Vimには:messages:scriptnames:mapなど、現在のステータスメッセージを出力するコマンドがたくさんあります。

たとえば、現在のバッファ固有のキーマップを確認するためには、:map <buffer>などが便利ですし、&runtimepathを確認したり、環境変数を確認するため、:echoを利用するシーンは多々あるかと思います。

しかし、これらのコマンドは結果をメッセージ行に表示するため、通常のウィンドウのように操作をすることができず、表示行数が多い場合には、目的のものを探すのがつらいです。
また、コピペをする場合にも、マウスを使って選択した後で<C-y>したりする必要があったり、なにかと不便です。

ですので、これらメッセージの出力をVimのバッファに出力できると便利です。
それ専用にプラグインが作成されたりしていますが(*1,*2)、
ここでは、みんなだいすき QuickRun を利用して、実現します。

QuickRun vim-src 'messages'

これだけだと味気ないので、もう一工夫します。

command!-nargs=+-complete=command Capture QuickRun -type vim-src <q-args>

これで、Exコマンドのコマンドライン補完のサポートつきで、キャプチャするコマンドを定義しました。
:Captureの後、<TAB>を押す事で、コマンドを補完することができます。

" メッセージを確認する
Capture messsages
" スクリプトのロード履歴を確認する
Capture scriptnames
" 現在のバッファにマップされているキーマップを確認する
Capture map <buffer>" 環境変数`$PATH`を1エントリ1行にばらして確認する" 1. Windows
Capture echo tr($PATH,";","\n")" 2. bash
Capture echo tr($PATH,":","\n")

Viewing all articles
Browse latest Browse all 5608

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>