iTerm2 v3 & vimで<C-h>にマッピングできない時 - 1++の続き.
上記でやった方法では,
- tmuxでは
<C-h>がキーマップできず, - vimでは
<C-h>がキーマップできる.
という問題が起きた.
僕はtmuxとvimをシームレスに行き来するプラグイン(vim-tmux-navigator)を使っているため,
どちらでもキーマップできることが必須になる.
そこで, tmux側で<C-h>をエスケープすることでtmuxとvimを共存させた.
一般的には以下の設定を行うとtmuxでエスケープできる.
参考サイト
// .tmux.conf bind-key -n C-h send-keys Escape "[104;5u"
これを応用して, キーマップを行った.
is_vim='echo "#{pane_current_command}" | grep -iqE "(^|\/)g?(view|n?vim?)(diff)?$"'
bind -n C-h if-shell "$is_vim" "send-keys Escape '[104;5u'" "select-pane -L"