回答:
これは、端末がCtrl+ Leftvs に対して異なるエスケープシーケンスを送信する場合にのみ可能です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 Ctrl+ Leftシェルで。これは(私のマシン^[O5D
で^[
は)エスケープ文字を挿入します。キーマップファイルで\033
、エスケープ文字を表します。
エスケープシーケンスをデコードするようにターミナルでアプリケーションを構成することは、別の問題です。
showkey
プログラムを使用します。1;
パーツは他のパーツと変わりません"\033[1;5B"
。
keycode 105
を使用して見つけることができますshowkey
。しかし、どこで入手しましたF100
か?
vimをコマンドラインエディターとして設定し、Escキーを押してvimスタイル(進む、戻る、終了、$、0など)をジャンプできます。
"\033O5D"
コードの入手方法を説明するだけで、keycode 105
とF100
コードの入手先は完全に省略しています。その上、ctrl + DownとCtrl + Up を取得^[[1;5B
し^[[1;5A
ます。どのように1;
部品を処理すればよいですか?