コンソールでCTRL +矢印キーを使用して次の単語または前の単語に移動する方法は?

コンソールでCTRL +矢印キーを使用して次の単語または前の単語に移動する方法は?

ターミナルエミュレーションアプリケーションでCTRL+ Left/Right矢印を押すと、1つの単語から前の単語または次の単語に移動します。テキストモードでもフレームバッファモードでも、Linuxコンソールで同じ機能を使用できますか?

私の設定では、CTRL+矢印キーはエスケープ文字シーケンスに変換されて解釈されません。

答え1

EmacsスタイルのショートカットAlt+ fAlt+はbデフォルトですべて機能します。読書船- シェルなどのサポートされているコマンドラインプログラム。

答え2

Ctrlこれは、端末が+で他のエスケープシーケンスを送信する場合にのみLeft可能ですLeft。 Linuxコンソール(少なくとも私のコンピュータでは)ではデフォルトではそうではありません。キーマップを変更してこれを行うことができます。変更する必要がある正確なファイルは、ディストリビューションによって異なる場合があります。 Debian lenny では、/etc/console/boottime.kmap.gz次の行が必要です。

control keycode 105 = F100
string F100 = "\033O5D"
control keycode 106 = F101
string F101 = "\033O5C"

X 端末エミュレータと同じエスケープシーケンスを選択できます。制御シーケンスが何であるかを調べるには、シェルにCtrl++と入力しますV CtrlLeftこれにより(マイコンピュータでは)^[O5Dエスケープ^[文字が挿入されます。キーマップファイル内の\033エスケープ文字を表します。

エスケープシーケンスをデコードするように端末でアプリケーションを設定することは、別の問題です。

答え3

これはControl +矢印を使用するものではありませんが、Mac端末に入力してEsc B 1単語の後ろに移動し、Esc F1単語の前に移動できます。

答え4

vimをコマンドラインエディタに設定し、ESCを押してvimスタイル(前方、後方、終わり、$、0など)に移動できます。

関連情報