在這個問題,吉爾斯回答道
另一種可能性是
tail -f
運行Emacsshell 緩衝區並使用 Emacs 的語法著色功能。
因為我是 vim 用戶,所以我想這樣做維姆, 不是emacs。
做維姆有這個功能嗎?
答案1
答案2
我喜歡它簡短且沒有大量的黑客或外部腳本。您可以在需要時從 ex(在 vim 中)執行此 oneliner(或將每個命令放入 vimrc 中,以便在開啟日誌檔案時使用。)
:set autoread | au CursorHold * checktime | call feedkeys("lh")
另外你還可:set syntax=logtalk
以為日誌著色
(如果您想跳(幾乎)到文件末尾,只需使用“G”而不是帶有 feedkey 的“lh”)
解釋:
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 執行的任何操作:)