これをどうやって解き放ちますか?なぜなら、ブラウザーをリロードするために常にコマンドrを押し続けることになり、しばしばターミナルにいるからです。
矢印キーを再度有効にする方法がわからないので、現在すべての画面を強制終了して画面を再起動しますが、これは苦痛です。
これをどうやって解き放ちますか?なぜなら、ブラウザーをリロードするために常にコマンドrを押し続けることになり、しばしばターミナルにいるからです。
矢印キーを再度有効にする方法がわからないので、現在すべての画面を強制終了して画面を再起動しますが、これは苦痛です。
回答:
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
h
です。Command + Rによって送信されるターミナルリセットコマンドは、カーソルキーをデフォルトにリセットします。
画面を切り離して再接続すると、ncursesが端末の制御を取り戻します。これにより、好みの設定がすべて再適用されます。これはおそらく、物事を通常に戻す最もポータブルで信頼性の高い方法です。
VT100制御コード:http : //www.handshake.de/infobase/dfue/prgrmmer/t322.htm