web-dev-qa-db-ja.com

コンソールでCTRL +矢印キーを使用して次または前のWordにジャンプするにはどうすればよいですか?

端末エミュレーションアプリケーションでは、 CTRLLeftRight 矢印は、ある単語から前または次の単語にジャンプします。 Linuxコンソールでも、テキストモードでもフレームバッファーモードでも同じ機能を使用できますか?

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

11
Pedro Palhoto

これは、端末が異なるエスケープシーケンスを送信する場合にのみ可能です。 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+VCtrl+Left シェルで;これは(私のマシンに)挿入します^[O5D どこ ^[はエスケープ文字です。キーマップファイルでは、\033はエスケープ文字を表します。

エスケープシーケンスをデコードするようにターミナルでアプリケーションを構成することは、別の問題です。

Emacsスタイルのショートカット Altf、 Altb シェルのようなすべての readline -poweredコマンドラインプログラムでデフォルトで動作します。

24
alex

Vimをコマンドラインエディターとして設定し、ESCキーを押してvimスタイル(進む、戻る、終了、$、0など)をジャンプできます。

2
HelloWorld