logcat.vim 作った

logcat は、Android のログを出力するためのツール。実行すると接続した Android 端末のログをもりもり吐く。もちろんファイルに保存もできる。Android 開発のデバッグのお供だ。
で、このログなんだけど、ログは重要度でレベル分けされてて、標準の GUI のログビューアなんかでは色分けされて表示される。見やすい。
でも GUI だと検索もあまり柔軟にできないし、logcat コマンドはテキストで出力するわけなんだからテキストで見たいわけです。てか GUI のビューア立ち上げるとかめんどい。
そこで登場するのが logcat.vim。要は syntax ファイルです。

https://github.com/thinca/vim-logcat

機能

  • 各種ログフォーマットに対応
    • brief
    • process
    • tag
    • thread
    • time
    • long
    • rawはない。てか無理。
    • フォーマットは自動判別。
  • タグ名/プロセス/時間をハイライト
    • 変数で無効化も可能
  • vimshell がある場合は vimshell で logcat するための :Logcat コマンドが使える
  • .logcat ファイルと、"--------- beginning of" で始まるファイルを logcat ファイルとして検出

使用イメージ

通常のログ(briefフォーマット)

longフォーマット

注意事項

元々自分用にちょろっと書いたのが原型なので、細かい部分が適当です。例えば、:Logcat コマンドは adb にオプションが渡せないのでデバイスが複数ある場合使えなかったり。

余談

実は logcat の syntax ファイルってのはすでにあったりする。

Logcat syntax highlighter - Syntax highlighting for Android logcat files : vim online

じゃあなんでわざわざ新しく作ったのか。それは最初は既成スクリプトの存在を知らなかったから。というのも、logcat のデフォルトの出力形式は単純なので自分用にその場凌ぎでよければ5分くらいで書ける。つまり既存のものを探すまでもなかった。
最初はそれくらい簡単なものをちょっとずつ改良していたんだけど、あるときふと既存のスクリプトを探してみたら上のが見付かった。でも中身が私が5分で書いたのよりもひどい。syntax ファイルの決まりすら守られてなかったり*1。その割には Rating もあるし 使ってる方も見つけたので、需要はあるっぽいので、しょーがないなー(何がだ)となって今に至る。
凝り性な性格のせいでたかがログファイルのハイライトにやけに手の凝んだスクリプトになってしまった。

*1:b:current_syntaxを設定してない、syntax名がfiletype名で始まってないなど