screenrc of Vimperator-like bindkey

Screen 是個在 unix like 都有立足之地的好工具,除了可以在單一個 shell 裏面開啟多個子視窗,還可以丟到背景執行,雖說 screen 功能很多很強大,但是像這種純文字介面的工具不免要靠較複雜的熱鍵,不過改成類似 Vimperator 的操作模式就不用重新適應了。
凍仁風的 screen

有心的伙伴不妨 man screen 就可以知道到底有多少參數可以搭配使用,記得要避開其他純文字程式所使用的熱鍵!(例如 finch)

jonny@linux:~$ vi ~/.screenrc [Enter]
...
# 關閉啟動訊息。
startup_message off

# 加入狀態列。
caption always "%{=u .r} %-w%<%{=ub .Y}%n %t%{=u .r}%+w "
hardstatus alwaysignore
hardstatus alwayslastline "%{= .K} [%l]%<%=%{= .Y}$USER%{= .R}@%H %=%{= .m} %Y/%m/%d%{= .M} %0c "

# 將預設編碼設為 UTF-8。
defutf8 on

# = 自訂熱鍵 =

# == Alt ==

# - Alt + r : 清理當前視窗。 (C-a c)
bindkey "^[r" clear

# - Alt + s : 進入複製/捲動模式。 (C-a esc)
bindkey "^[s" copy

# - Alt + h : 將 screen 丟至背景執行。 (C-a d)
bindkey "^[h" detach

# - Alt + i : 顯示所有執行中的 screen。 (C-a *)
bindkey "^[i" displays

# - Alt + L : 將 screen 上鎖。 (C-a C-x)
bindkey "^[l" lockscreen

# === 分頁(Tab) ===

# - Alt + t : 新增子視窗。(C-a c)
bindkey "^[t" screen

# - Alt + d : 關閉當前視窗。 (C-a k)
bindkey "^[d" kill

# - Alt + j/J : 切換至下個視窗。 (C-a n)
bindkey "^[j" next
bindkey "^[J" next

# - Alt + k/K : 切換至上個視窗。 (C-a p)
bindkey "^[k" prev
bindkey "^[K" prev

# - Alt + `/= : 切換子視窗 0 ~ 子視窗12。
bindkey "^[`" select 0
bindkey "^[1" select 1
bindkey "^[2" select 2
bindkey "^[3" select 3
bindkey "^[4" select 4
bindkey "^[5" select 5
bindkey "^[6" select 6
bindkey "^[7" select 7
bindkey "^[8" select 8
bindkey "^[9" select 9
bindkey "^[0" select 10
bindkey "^[-" select 11
bindkey "^[=" select 12

# === 分割(Split) ===

# - Alt + o : 水平分割當前視窗。 (C-a S)
bindkey "^[o" split

# - Alt + e : 垂直分割當前視窗。 (C-a |)
bindkey "^[e" split -v

# - Alt + q : 關閉當前分割區。 (C-a X)
bindkey "^[q" remove

# - Alt + w : 切換當前分割區。 (C-a tab)
bindkey "^[w" focus

# == Ctrl ==

# === 分頁(Tab) ===

# - Ctrl + j/J : 切換至下個視窗。 (C-a n)
bindkey "^j" next
bindkey "^J" next

# - Ctrl + k/K : 切換至上個視窗。 (C-a p)
bindkey "^k" prev
bindkey "^K" prev

# == F1, F2, F3 .. ==

# F1 : 新增子視窗。(C-a c)
bindkey -k k1 screen

# F2 : 自訂當前視窗標題。 (C-a A)
bindkey -k k2 title

# F3 : 進入複製/捲動模式。 (C-a esc)
bindkey -k k3 copy

# F4 : 切換至上一個視窗。 (C-a p)
bindkey -k k4 prev

# F5 : 切換至下一個視窗。 (C-a n)
bindkey -k k5 next

# F6 : 切換當前分割區。 (C-a tab)
bindkey -k k6 focus

想當初讀大學都用 screen 這樣掛 IRC 的啊!

資料來源:
雅砌工坊: [Linux] screen 教學與 bindkey 設定用法
雅砌工坊: [Linux] screen 進階用法
Mavrk's World: screenrc 環境配置檔
Screenrc 的色彩設定值 | 隨便忘記
GNU screen screenrc tweaks – windows and titles | geek stuff.

留言

Popular Articles

MySQL 語法匯整