screen 切換快捷鍵 in Ubuntu - Linux

Table of Contents

※ 引述《darkgerm (黑駿)》之銘言:
: 在 ~/.screenrc 這個設定檔裡寫
: bindkey \033[D prev
: bindkey \033[C next
: 就可以用 ^← ^→ 來切換視窗
: 在 windows 裡用 pietty 或 putty 連都是正常的
: 可是現在到了 Ubuntu terminal (10.10)
: 卻沒反應!
: 在 bash 裡不會有任何動作
: 我習慣用 tcsh,按 ^← ^→ 會出現 5C 5D 這樣的字....
: 不知道是哪裡出問題了…要怎樣才能讓他正常運做呢?
: 謝謝> <

原因是你在ubuntu按下Ctrl+Arrow key後, shell收到的不是\033[D(或\033[C)

解決方法有很多, 例如:

法一

step 1. 在terminal輸入:

cat > /dev/null

step 2. 按 Ctrl+←

此時螢幕上會出現一個字串 ^[[1;5C

按Enter後按Ctrl+→

此時螢幕上會出現一個字串 ^[[1;5D

於是你知道按Ctrl+Arrow key時shell會收到什麼字串

step 3. 修改原先.screenrc中的bindkey設定:

bindkey ^[[1;5C prev

bindkey ^[[1;5D next

法二

對於同一個按鍵組合 不同的terminal送出的keycode不盡相同

你可以從terminal軟體(ex:putty)中設定想模擬的terminal(ex:vt100)

藉此間接地選擇你想要terminal軟體針對特定按鍵送出什麼keycode

不過並非所有terminal軟體都有這種選項

像我用的xfce4-termial頂多只能調backspace跟delete要送什麼key

--

All Comments

Cara avatarCara2011-08-07
感謝原PO詳細的解說!成功了~謝謝
Margaret avatarMargaret2011-08-12
不過…只有列出法一?