C-h
Ctrl-hはターミナル上では基本的にBackspace と同じ信号を送ります。
これはターミナルの種類や設定、またはシェル側の設定でも変更できたりします ので環境ごとにチェックが必要ですが基本的にはBackspace=Ctrl-hです。
最終的にtmuxなどソフトにどう認識されるか、が重要ですが、 手元のWindows + PuTTY/CygwinではCtrl-hは 完全にBackspaceとして見られ、 一方、MacのターミナルではCtrl-hはそのまま認識されてる様に なっています。
ここで、問題になってくるのがキーバインドする時にどうするか、で、 もともとMacで
bind-key -r C-h select-pane -L
bind-key -r C-j select-pane -D
bind-key -r C-k select-pane -U
bind-key -r C-l select-pane -R
みたいな感じでVimライクにPaneの移動をするようにしていましたが、 これだとWindowsで左へ移る、ができません。
tmuxの場合
これを有効にするためには、Ctrl-hの代わりにBackspaceをバインドしてあげる必要があり、
bind-key -r C-h select-pane -L
bind-key -r BSpace select-pane -L # Backspace
と、tmuxではBSpaceと表します。
コレ意外にも、通常のキー以外ではUpやLeftなどのカーソルキー等。
DeleteはDeleteでもDCと短縮形でもOK。
また、Enter、Escape、Space、Tabなどはそのまま、
F1などもそのまま書けます。
BackSpaceだけがちょっと特殊でBSpaceとB側を短縮しないといけません。
それから”/’などはクォートして'"'/"'"として使う必要が有ります。
取り敢えず環境によってCtrol-hがどう捉えられるかわからないのと、 Backspaceは取り敢えず別途バインドする必要はないので、 上の様に両方書いておくのが吉です。
GNU screenの場合。
GNU screenの場合にも同じような問題はあって、
screenの場合にBackspaceをバインドしたい場合には、
-kというtermcap keyboard capability name
1
で指定できるオプションを使って
bind ^h eval 'focus left'
bind -k kb eval 'focus left' #Backspace
とします。(kbがBackspaceの名前。)
-
Ubuntu Manpage: termcap - terminal capability database
もしくは
man terminfoでチェック。 ↩
