2009-04-24 10 views
12

VIMをログファイルビューアとして使用したいと思います。現在のファイルを一定の時間間隔(〜1秒)でリロードすることは可能ですか?VIMをログファイルビューアとして使用する

+0

vimは、「less -F」と比べてどのような利点がありますか? –

+3

構文が強調表示されています。 (たとえば、ERRORレベルのメッセージを赤で色付けすることができます)。 私はWindows上で使用する必要があります。 –

+1

強調表示された増分検索。 –

答えて

9

使用:set autoread

+1

これはGVimでしか動作しません。 – rndstr

+0

いいえ、Vimでも動作します。 –

+1

これは、(g)vimにフォーカスがあるときにのみファイルを更新します。自動的に下にスクロールしません。だからこそ、それほど有用ではありません。 – rkrzr

5

このVIM tipを参照してください。それは、テール(tail -fのような)とログ行番号付けを一緒に提供します。

+0

説明から、このプラグインはWindows上で問題を抱えていて、カーソルがVimで動かされたときにのみ更新されるようです。これは正しいです? –

0

私はそれが短く、多くのハッキングや外部スクリプトがないのが好きです。必要なときに あなたは(vimのwhithin)の元からこのonelinerを実行することができます(またはログ・ファイルを開いたときのために、のvimrcで各コマンドを置く。)

:set autoread | au CursorHold * checktime | call feedkeys("lh") 

を(あなたはほぼ(ジャンプしたい場合)に

  • autoread:外部から変更されたファイルを読み込む(が、それは自分自身で作業をdoesntのファイルの最後には、ちょうど

    は説明がfeedkeysとの代わりに「LH」の「G」)を使用します、内部タイマーやsomはありませんそのようなもの。 vimがコマンドを実行したときなど、vimがコマンドを実行したときのみファイルを読み込みます。

  • CursorHold * checktime:ユーザがupdatetime(デフォルトでは4000ミリ秒)にカーソルを移動していないときchecktimeが実行されますファイル外からの変更をチェックします
  • call feedkeys("lh"):カーソルは一度、右と左に移動します。その後、何も(私たちはループを持っている意味し、CursorHoldがトリガされることを、意味している...)たまたま

call feedkeys("G")を使用した場合、スクロールを停止していない:set noautoreadを実行するには - 今のvim教えてくれる、ファイルその変更を読みたいかどうかを尋ねる)。

私はvim(tail -fの代わりに)でログファイルを見るのが好きです。あなたがscreen/tmuxなしでsshセッションで作業しているとき。また、あなたが必要な場合は、ログファイルから直接コピーすることができ、または...あなたはvimの:)

*(PhanHaiQuangによって解答とflukusによってコメントに参照のうえ)このanswerからで何ができるものは何でも直接出力を保存したり、

関連する問題