この質問で、ジルは答えました
さらに別の可能性は
tail -f
、Emacsシェルバッファーで実行し、Emacsの構文カラーリング機能を使用することです。
私はvimユーザーなので、これをemacsではなくvimで実行したいと思います。
んvimのは、この機能を持っていますか?
この質問で、ジルは答えました
さらに別の可能性は
tail -f
、Emacsシェルバッファーで実行し、Emacsの構文カラーリング機能を使用することです。
私はvimユーザーなので、これをemacsではなくvimで実行したいと思います。
んvimのは、この機能を持っていますか?
回答:
私はそれが短くて、多くのハッキングや外部スクリプトなしで好きです。必要に応じて、ex(whimin vim)からこのonelinerを実行できます(または、ログファイルが開かれるときは、各コマンドをvimrcに配置します)。
:set autoread | au CursorHold * checktime | call feedkeys("lh")
さらに:set syntax=logtalk
、ログに色を付けることができます
(ファイルの終わりに(ほぼ)ジャンプしたい場合は、フィードキーで「lh」の代わりに「G」を使用してください)
説明:
autoread
:外部から変更されたときにファイルを読み取ります(ただし、それ自体では機能しません。内部タイマーなどはありません。vimがexのコマンドのようなアクションを実行したときにのみファイルを読み取ります :!
CursorHold * checktime
:で指定された時間updatetime
(デフォルトでは4000ミリ秒)の間、ユーザーがカーソルを動かさなかった場合checktime
、ファイルの外部からの変更をチェックしますcall feedkeys("lh")
:カーソルが右、左に1回移動します。そして、何も起こりません(...つまり、CursorHold
トリガーされます。つまり、ループがあることを意味します)。を使用しているときにスクロールを停止するにはcall feedkeys("G")
、次を実行します:set noautoread
-今vimはファイルが変更されたことを通知し、変更を読み取りたいかどうかを尋ねます)
たとえば、screen / tmuxを使用せずにsshセッションで作業している場合など、(tail -fの代わりに)vimでログファイルを監視するのが好きです。さらに、必要に応じてログファイルから直接コピーしたり、出力を直接保存したりできます。vimでできることは何でも:)