cat -vte
+を押したときにターミナルエミュレータが送信したエスケープコードを見たことがあります。altright
❯ cat -vte
^[[1;3C
その後、lesskeyファイルにこのエスケープコードを追加しました~/.less
。
\e[1;3C forw-scroll
最後に、次を開始しますless
。
LESSKEY=~/.less less some_file
altしかし、+を押すとright機能しません。
答え1
手動状態:
lesskeyソースファイルを生成して、独自のlessコマンドを定義できます。 [...]
環境変数の場合レカイン設定すると、lessはそれをlesskeyソースファイルの名前として使用します。それ以外の場合、lessは標準の場所でlesskeyソースファイルを探します。Unix システムでは、less は「$XDG_CONFIG_HOME/lesskey」または「$HOME/.lesskey」という lesskey ファイルを探します。。 [...]
以前のバージョンのless(v582より前)は、lesskeyプログラムによって生成されたバイナリ形式のlesskeyファイルを使用していました。もはやlesskeyプログラムを使用する必要はありません。。
そして変数の定義は次のとおりですLESSKEY
。
LESSKEY
デフォルトの lesskey バイナリの名前です。 (「$LESSKEYIN」がある場合は使用されません。)
したがって、私が理解したのは、あなたのバージョンがLESSKEY
582以降であるため、変数を定義する必要はありません。プレーンテキスト~/.lesskey
ファイルだけで十分です。 (PS環境変数はで定義する必要がありますexport VARIABLE=value
。)
これで、次の設定を使用して正常に機能しましたAlt(コマンドをRight arrow使用した後ですが必要ありません)。~/.lesskey
lesskey
#command
^[[ forw-scroll
...しかし、他の矢印キーでも動作します。
矢印キーの代わりに文字をバインドできます。既存の機能をオーバーライドできることを覚えておいてください。
動作しないm
キャラクターを選択したとしましょう。^[\kr
まず、次のようにして8進数値を見つけます。
$ echo m | od -b | head -n1 | cut -d' ' -f2
155
それから.lesskey
:
#command
^[\155 forw-scroll
Alt今すぐ+を押すと、m目的の結果が得られます。
less
私のバージョンは551なので、バージョン590に対してテストされていません。