GNU画面の下のvimでCTRL-*を修正

GNU画面の下のvimでCTRL-*を修正

CTRLGNU画面でvimを実行すると、矢印キーとPg *キーの組み合わせが期待どおりに機能しないことがわかりました。

Ubuntu 10.10パッケージを使用していますvim-gnome

Ubuntuを実行している他のコンピュータでは正常に動作します。残念ながら、現在利用可能な構成はありません。

関連する質問は次のとおりです。VimでCtrl +矢印を修正する方法は?

ただし、提案された解決策は、端末エミュレータ(この場合はPuTTY)で使用できるようにvimのキーバインディングを再マッピングすることです。同様の作業を行ったことを覚えておらず、この問題を解決するための画面構成オプションがあると思われます。

まだ一つあります。ワイヤー$ TERM=xterm vimgnu-screenメーリングリストは、vim viaを実行することが適切な修正または解決策になると提案しました。これは効果がありますが、可能な副作用について少し心配です。また、ソリューションが必要な場合は、他のコンピュータに設定できるソリューションになるほど慣れていないようです。

答え1

彼がアップデートで直感的に言ったように、ファイルを追加するとterm xterm問題~/.screenrcが解決するようです。

答え2

基本的な問題は、screen実際の端末(TERM環境変数Outsideによって識別される)と内部シミュレーションの間でscreen行われたマッピングがscreen不完全であることです。

もしテストするようになったら(使用してください。テストまたは)、次の事項に欠陥があることがわかります。

  • 特殊キー

term設定によってこれらの問題を解決したい場合の欠点.screenrcは、特定の実際の端末でのみ機能し、他の端末の実装には移植できないことです。これ文書ノート

デフォルト以外の目的で用語コマンドを使用することはお勧めできません。

以下を使用する別の解決策(他の欠点があります)があります。screen 文書:

画面自体が端末名を把握しようとすると、まず次の項目が見つかります。画面。学期、どこ学期変数の内容です$TERM。そのような項目がない場合は、画面が試行されますscreen(またはscreen-w端末が広い場合(132列以上))。この項目も見つからない場合は、vt100代替項目として使用されます。

ncursesは、この状況に関するいくつかの便利な代替端末の説明を提供します。たとえば、次のようになります。screen.xterm-new、画面マッピングの問題を修正してください。実際、私はを使用しTERM=xterm-newて画面を実行するときに使用できるファンクションキーマッピングを取得します。

画面term設定に戻り、テスト中に次のことがわかります。まだマッピングの問題は、これらの選択肢で解決されます。を使用して正確な端末記述を取得できる場合、termこれらの選択肢はの簡単なエイリアスになりますscreen。そうではありません。

本当に呪いはありません。いいえ提供されるscreen.xterm理由:

ただし、通常、代替名を使用することは、term自分の名前で使用するよりも改善されています.screenrc。つまり、発生するよりも多くの問題を解決します。設定の場合はその逆ですterm

答え3

実行中のプロセス内で動作する端末を設定する方法はいくつかあります。

  • 実行画面インスタンスで^A-を押して:コマンドを実行すると、term xterm次のようになります。最近オープンそのインスタンスの下の画面で$TERM環境変数をに設定すると、呼び出されxtermvimインスタンスに伝播されます。これらの vim インスタンスは、CTRL の組み合わせに関して正しい動作を示します。この戦略の副作用は発見されなかった。このコマンドは既存の画面には影響しません。このコマンドはもちろんファイルで使用できるため、~/.screenrc他のコンピューターでこの方法を使用することもできます。

  • 実行中のvimインスタンスでこのコマンドを使用すると、set term=xtermそのvimインスタンスでCTRLコンボが機能します。まだ理解できない理由により、@*Xクリップボードの接続が失われる副作用があります@+:set term=screen$TERM=xterm

関連情報