tmux で Vim と Midnight Commander の両方に対して PuTTY のファンクション キーを設定しますか?

tmux で Vim と Midnight Commander の両方に対して PuTTY のファンクション キーを設定しますか?

まず、 Midnight CommanderではAlt+ 1(から9と0)を使ってそれぞれのファンクションキー(F1からF10)を合成できることは知っています。これは何度も役に立っていますが、デフォルトでは実際のファンクションキーを直感的に操作できます。

tmux要点: PuTTY を使用して、セッション内 (場合によってはウィンドウ、場合によってはペイン)で Vim と Midnight Commander の両方を実行しようとしています。

したがって、デフォルトでは次の PuTTY 構成になります。

PuTTY キーボード設定

ESC[n~マッピングあり

map <F1> :tab help<CR>Vimで ( 、および)をマッピングするときの問題は、(大文字と小文字nmapの切り替え)の効果が生じることです。実際、シェルで を押した場合、チルダ ( ) が結果として表示されます。imapF1~F1F5~平行ベル付き。ただし、この設定を使用すると、Midnight Commander ではファンクション キーは完全に正常に機能します。

上記の設定には、 の問題に加えて奇妙な点が1つありますF1。Vimで「マップ」F5set pastetoggle=<F5>)も使用しました。奇妙なことに、それF5シェルのキーがetc~と同じ結果になるにもかかわらず、うまく機能します。F1

注記:の外部で Vim を実行する場合tmux、 のデフォルトのバインディング (および私のオーバーライド) はF1正常に動作します。

「Linux」マッピングあり

当然、上記のダイアログで「Linux」設定を使用しようとしました。そのため、 を押すと、F1Vim は行末で挿入モードになります ( の効果A)。Midnight Commander は、この設定ではファンクション キーを認識しません。確かに、シェルではとベル (など)F1が表示されます。AF2B

ここで何が欠けているのでしょうか?Midnight Commander と Vim の両方がファンクションキーを認識するような統一された動作を実現するにはどうすればよいでしょうか?


追加情報:

リモート システムは Ubuntu 14.04 ですLANG=en_US.UTF-8

TERMセッションのTERM=xterm外部、およびペインまたはウィンドウの内側から表示される場合に設定されます。tmuxTERM=screen

使用していません:

set-option -g default-terminal "screen-256color"

内部の端末タイプをオーバーライドしますtmux

答え1

問題はTERM=xterm外側にあるtmuxいいえ端末の説明に一致する PuTTY の構成xterm、および不一致はscreenまたはtmux(選択してください) にフィードされます。

例えば、ncurses FAQを参照してください。TERM を「xterm」に設定して使用しないのはなぜですか?推奨されるのは、もちろん

TERM=putty

簡単なチェックtackこの組み合わせ ( TERM=puttytmux) が Ubuntu 14.04 で機能することを示しています (これを含むパッケージをインストールする必要がありますncurses-term)。

関連情報