この質問ジルは答えた
さらに別の可能性としては
tail -f
、エマックシェル バッファを使用して、Emacs の構文の色分け機能を使用します。
私はvimユーザーなので、これをヴィム、 ないエマック.
はヴィムこの機能はありますか?
答え1
答え2
短く、ハッキングや外部スクリプトをあまり使用しないのが気に入っています。必要に応じて、このワンライナーを ex (vim 内) から実行できます (または、ログ ファイルを開いたときに各コマンドを 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")
: カーソルが一度右に動いて左に戻ります。その後何も起こりません(...つまり、それがCursorHold
トリガーされ、ループ)
使用時にスクロールを停止するにはcall feedkeys("G")
、以下を実行します:set noautoread
。これで、vim はファイルが変更されたことを伝え、変更を読み取るかどうかを尋ねます。
私は、ログファイルを vim で監視する (tail -f の代わりに) というアイデアが好きです。たとえば、screen/tmux なしで ssh セッションで作業しているときなどです。さらに、必要に応じてログファイルから直接コピーしたり、出力を直接保存したり、vim でできることは何でもできます :)