[Linux] 在 Terminator 加入 Custom command 來清除螢幕緩衝區

[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:

Screenshot from 2015-12-29 13-41-15

 

接著按下 New 按鈕來新增一個指令:

Screenshot from 2015-12-29 13-41-35

 

設定一下指令的名稱,和相對應要執行的東西,

我這邊就是填 tput reset,這個指令就可以清掉螢幕緩衝區:

Screenshot from 2015-12-29 13-41-52

 

建立好之後,隨時在 Terminator 視窗裡按右鍵 > Custom Commands,

點下 Reset terminal,就會清空 scrollback 了:

Screenshot from 2015-12-29 13-43-01  

 

這個方法其實不能算非常好,有幾個缺點:

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

 

(本頁面已被瀏覽過 498 次)

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料