cafegale(LeafCage備忘録)

LeafCage備忘録(はてなダイアリー)と統一しました。

Vim用の簡易デバッグツール(変数覗き見ツール)lcpeek作りました

VimScript書く人にしか意味がないです。

ある時点の変数の値を記録して、変動の様子を調べるときに使います。
変数を覗き見するしょぼいことしかできません。
Step IntoとかStep OverとかStep Returnとかそんな高度なこと出来ません。
ていうか本当はデバッグに難儀しているのでいい方法を募集中です。

LeafCage/lcpeek.vim

スクリプト中で「この時点の変数の値を見たい」というところに

:PeekInput({varname}, {varval})

を仕込んでください。
例えば、s:listという変数を記録するには、

call PeekInput('s_list', s:list)

と、スクリプトの中に仕込んでください。
グローバル変数と専用ディレクト*1内のファイルにその時点の変数の値を記録します。


記録された変数の値を確認するには記録されたファイルを見るか、

:call PeekEcho()

してください。

ただ単にグローバル変数を用意して覗いたときに比べてのメリット

  • 変化する変数について、変化を追うことが出来る
  • ファイルに書き込まれるのでVim終了時の変数変化も記録できる
  • ほぼ同時期に変化した値を知ることが出来る

詳しくは添付のヘルプドキュメントをご覧ください。

*1:デフォルトで'~/.lcpeek'