回答:
この質問に対する回答はここにあります:OSXで画面を実行しているとき、command + rはすべての画面でvimの矢印キーを台無しにします
コピーされた回答:
良い小さなVim支持者として、カーソルキーとしてhjklを使用することを学ぶように教えなければならないと思います。問題の調査の途中で、実際の矢印キーの代わりにhjklを使用してテストしていることに気付くまで、問題が自動的に修正されたと思いました。
とにかく、今本当の答えを。
すべての画面をシャットダウンして再起動する代わりに、端末間を移動する画面の機能を利用できます。CTRL + A CTRL + Dを押して端末から画面を切り離し、screen -D -Rを実行して再接続します。これにより、矢印キーが再び機能するようになります。
画面ではなく、Vimのみを使用している場合は、Ctrl + Zキーを押してfgと入力すると同じ効果が得られます。
Vimでカーソルキーの問題を回避することもできますが、リセットにより他の端末オプションが変更された可能性があるため、他のランダムな表示/キーボードの問題が発生しないように、上記のように行う方が安全です。とにかく再マッピングが必要な場合は、次のとおりです。
map <Esc>[A <Up>
map <Esc>[B <Down>
map <Esc>[C <Right>
map <Esc>[D <Left>
Grubbyの詳細:
Vimとscreenはどちらもncursesライブラリを使用して端末を管理します。VT100対応端末を制御するときにncursesが行うことの1つは、矢印キーを「アプリケーションモード」に切り替えることです。これにより、出力されるコードが変更されます。たとえば、上矢印キーはEsc [AからEsc O Aに変わります。これを行うために出力するVT100制御コードはEsc [?1時間 Command + Rによって送信されるターミナルリセットコマンドは、カーソルキーをデフォルトにリセットします。
画面を切り離して再接続すると、ncursesが端末の制御を取り戻します。これにより、好きな設定がすべて再適用されます。これはおそらく、物事を通常に戻す最もポータブルで信頼性の高い方法です。
VT100制御コード:http : //www.handshake.de/infobase/dfue/prgrmmer/t322.htm