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


10

まず、私はAlt+ 1(9〜0 F1までF10)を使用して、Midnight Commanderのそれぞれのファンクションキー(〜)を合成できることを認識しています。これは何度も役に立ちましたが、デフォルトでは実際のファンクションキーを直感的に押しています。

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

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

PuTTYキーボード構成

ESC[n~マッピング

Vimで(map <F1> :tab help<CR>、および、nmapさらにimapF1をマッピングするときの問題は、~(トグルケース)の効果が得られることです。確かに、シェルで押しF1ていくと、ベルとともにF5チルダ(~)が結果として表示さます。ただし、この設定を使用すると、Midnight Commanderではファンクションキーが完全に機能します。

私の問題に加えて、上記の設定に関する1つの奇妙なことがありますF1:私はまた、「マッピング」F5set pastetoggle=<F5>)Vimの中で。奇妙なことF5に、シェルのキーが~同じようなものを与えていても、それは魅力のように機能しますF1

注: Vimをの外で実行するtmuxと、デフォルトのバインディング(および私のオーバーライド)は問題なくF1動作します。

「Linux」マッピングあり

だから当然、私は上のダイアログで「Linux」設定を使用しようとしました。したがって、F1Vim を押すと、行の終わりで挿入モードになります(の効果A)。Midnight Commanderは、この設定のファンクションキーを認識しません。案の定、殻にF1は私Aと鐘(F2a Bなど)を与えます。

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


追加情報:

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

TERMセッションのTERM=xterm外側に設定され、ペインまたはウィンドウの内側から見た場合。tmuxTERM=screen

私は使用していません:

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

内部の端末タイプを上書きしますtmux

回答:


8

問題はTERM=xtermtmuxです。端末の説明と一致するPuTTY 構成はありませんxterm。また、不一致はscreenorまたはtmux(選択してください)にフィードされます。

たとえば、ncurses FAQを参照してください。なぜTERMを "xterm"に設定して使用しないのですか?。もちろん推奨事項があります

TERM=putty

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


ありがとう。実際、私はあなたが推奨したパッケージのインストール後もインストール後もtack、まったく見つけることができませんでしたapt-file search。ただしtoe -a|grep -i putty、いくつかのPuTTY端末定義が存在することを確認します(を含むputty-256color)。私はそれを試してあなたに返答し、それに応じて受け入れます。
0xC0000022L 2015年

私はタックがUbuntu 14.04にないことに気づきませんでした(それはしばらくDebianにありましたが、それをncursesソースtarballから分割したときに見過ごされた可能性があります)。マシンを確認すると、パッケージの1つを実行していたようです。
トーマスディッキー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.