[Linux] 在 Terminator 加入 Custom command 來清除螢幕緩衝區
最近在 CentOS 7 上蠻喜歡用新裝的 Terminator 這個 terminal app,
不過跟平常用的 GNOME Terminal 比較起來,
一個缺點是沒有清除螢幕緩衝區 (Clear scrollback) 的功能…
(不是 clear 指令… 用 clear 指令不會清掉 scrollback)
缺少這個功能有點困擾,因為有時在看 log 時,會想要先清空螢幕緩衝區,
這樣待會看 log 時,可以確定捲到最上面的時候,就是 log 開始的地方~
目前找到一個替代方法,就是加一個自訂指令,
然後在自訂指令裡執行 tput reset,就一樣會清空 scrollback~
首先在 Terminator 視窗裡按右鍵,選擇 Custom Commands > Preferences:
接著按下 New 按鈕來新增一個指令:
設定一下指令的名稱,和相對應要執行的東西,
我這邊就是填 tput reset,這個指令就可以清掉螢幕緩衝區:
建立好之後,隨時在 Terminator 視窗裡按右鍵 > Custom Commands,
點下 Reset terminal,就會清空 scrollback 了:
這個方法其實不能算非常好,有幾個缺點:
1. 它是會在目前的視窗裡打入 tput reset,因此 history 裡面會看到
2. 如果現在已經有打指令了 (假設是 ls abc),這時用這 Reset terminal 指令,
會導致 tput reset 字串被加在 ls abc 的後面 (或中間,好像是看游標的位置),
如果是像 GNOME Terminal 直接自己送出 ASCII Escape 鍵的話,就沒這些困擾了…
後記:後來發現 Terminator 是有清除 scrollback 的功能的,按下 Ctrl-Shift-G 就行了~
參考資料:terminator(1) – Linux man page