5

tmux セッション内で実行されている Vim を使用しています。Vim 内では、Ctrl-Right を :tabnext: にバインドしています。

map <C-right> :tabnext<CR>      "next tab

Vim が tmux 内にある場合でも、このバインディングを呼び出せるようにしたいので、.tmux.conf に以下を追加しました。

bind-key -n C-Right send-keys C-Right

しかし、これは Tmux にも Vim にも目に見える効果はありません! ここで何が間違っていますか?

前もって感謝します。

4

1 に答える 1

16

ここで未知の領域を非常に踏んでいますが、何かが機能しています。おそらく、他の誰かが残りを埋めることができます。

ターミナルで Vim を起動したときと tmux 内で Vim を起動したときに最初に気付いた違いは、それらの'term'設定にありました。

と聞く:set term?と、普通の端末Vimは答えxterm-256colorたのに、tmux Vimは答えscreenた。ターミナルで送信される正確なキー コードは、ターミナルのタイプに依存することを理解することが重要です。

1 つの解決策は、単純に tmux と Vim が同じ言語を話すようにすることです。tmux で:

set-option -gw xterm-keys on
bind-key -n C-Right send-keys C-Right

ヴィムで:

:set term=xterm-256color

これで、Vim と tmux が互いのターミナル キー コードを理解し、キー ストロークが Vim に届くようになります。

于 2013-05-19T22:20:33.200 に答える