流れてしまったメッセージを再表示する

printf デバッグしかできない人間にとって, メッセージがみれないのは致命的.

エラーメッセージなどは ":messages" を使って表示することができる.

:messages コマンドを使うことで過去に表示されたメッセージを再表示することができます。ただし、記録されるメッセージ数は tiny 版の Vim で 20 行、その他は 100 行で固定されているので、これを超えるメッセージが表示された場合は見ることはできません。とはいえ、大抵はこれで十分です。 省略形は :mes ですので、普段はこちらを使えば良いでしょう。

また、:messages にはシステムメッセージの他、:echomsg と :echoerr で表示されたメッセージも記録されています。

http://vim-users.jp/2009/10/hack90/

ただし, ":messages" では ":echo" で出力されたメッセージはみれないので "g<" を利用する.

g< を使うことで、最後に表示されたメッセージを再表示させることができます。ただし、本当に最後に表示されたものしか表示できないので注意してください。例えば、:messages を1度実行してしまうと、g< を押しても :messages の結果が表示されてしまいます。

また、メッセージを途中で q で閉じていた場合は、g< を使っても表示されたところまでしか表示されません。

http://vim-users.jp/2011/05/hack216/
  • printf デバッグには :echo より :echomsg をつかうほうがいいということなのかな.

Shougo
私は:echomsgによるprintfデバッグが多いですね。
いろんなやりかたがありますが、それぞれ長所・短所があります。
Vim scriptのデバッグ技術は一度まとめたいと思っています。

http://lingr.com/room/vim/archives/2012/04/02
"記録中" とでて echo メッセージがかき消される
complex-repeat という機能で, normal mode で "q{0-9a-zA-Z"}" (たとえば "qa")と押すと記録が開始され, "記録中" メッセージが出続ける.

"q" して解除できる.

おまけ

はてな記法http記法で ":title=g<" を指定できない. どう書けばいいんだろう.