まず、 Midnight CommanderではAlt+ 1(から9と0)を使ってそれぞれのファンクションキー(F1からF10)を合成できることは知っています。これは何度も役に立っていますが、デフォルトでは実際のファンクションキーを直感的に操作できます。
tmux
要点: PuTTY を使用して、セッション内 (場合によってはウィンドウ、場合によってはペイン)で Vim と Midnight Commander の両方を実行しようとしています。
したがって、デフォルトでは次の PuTTY 構成になります。
ESC[n~
マッピングあり
map <F1> :tab help<CR>
Vimで ( 、および)をマッピングするときの問題は、(大文字と小文字nmap
の切り替え)の効果が生じることです。実際、シェルで を押した場合、チルダ ( ) が結果として表示されます。imap
F1~F1F5~
平行ベル付き。ただし、この設定を使用すると、Midnight Commander ではファンクション キーは完全に正常に機能します。
上記の設定には、 の問題に加えて奇妙な点が1つありますF1。Vimで「マップ」F5(set pastetoggle=<F5>
)も使用しました。奇妙なことに、それF5シェルのキーがetc~
と同じ結果になるにもかかわらず、うまく機能します。F1
注記:の外部で Vim を実行する場合tmux
、 のデフォルトのバインディング (および私のオーバーライド) はF1正常に動作します。
「Linux」マッピングあり
当然、上記のダイアログで「Linux」設定を使用しようとしました。そのため、 を押すと、F1Vim は行末で挿入モードになります ( の効果A)。Midnight Commander は、この設定ではファンクション キーを認識しません。確かに、シェルではとベル (など)F1が表示されます。A
F2B
ここで何が欠けているのでしょうか?Midnight Commander と Vim の両方がファンクションキーを認識するような統一された動作を実現するにはどうすればよいでしょうか?
追加情報:
リモート システムは Ubuntu 14.04 ですLANG=en_US.UTF-8
。
TERM
セッションのTERM=xterm
外部、およびペインまたはウィンドウの内側から表示される場合に設定されます。tmux
TERM=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=putty
、tmux
) が Ubuntu 14.04 で機能することを示しています (これを含むパッケージをインストールする必要がありますncurses-term
)。