[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:18891] LESS=-X and terminfo of kterm



榎田です。

kterm でless を使うと上下矢印キーによる行スクロールが効かないので不便だと
思っていたのですが、(user-jaで設定された)LESS=-Xの時に起こることに気がつ
きました。そして、過去ログを読んで、ktermのterminfoが関係しているとわかり
ました(今さらながら)。

これまでterminfo など触ったことも無かったのですが、ktermのterminfoを、
rxvtのそれを参考に

kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,smkx=\E=,

と変更したところ、LESS=-Xでも上下矢印キーが使えるようになりました。
(他に悪い影響があるかはわかりません)

ちなみにやったことは、kterm上で
$ infocmp > terminfo.kterm
(terminfo.ktermを編集し、上記の変更を行う)
$ mkdir ~/.terminfo
$ tic terminfo.kterm
です。

ついでに、ktermとkrxvtのカーソル動作の違いを大雑把に調べてみました。
(注)terminfoはdebianオリジナルのもの, shellはbash
    押したキー:   k=(ktermの動作)  r=(krxvtの動作)

(1) LESS=-X の時
コマンドライン(プロンプト上)
--------------------------
BS:     k=BS      r=BS
DEL:    k=BS      r=DEL
C-h:    k=BS      r=BS
C-d:    k=DEL     r=DEL
←,→:  k=←,→   r=←,→

less(検索文字入力編集時)
--------------------------
BS:     k="^H"    r=BS
DEL:    k=BS      r=DEL
→:     k="ESC[C" r=→
←:     k="ESC[D" r=←
HOME:   k="ESC["  r=行頭
END:    k="ESC["  r=行末
↑:     k="ESC[A" r=履歴
↓:     k="ESC[B" r=履歴

(2)unset LESS の時
less(検索文字入力編集時)
--------------------------
上記と動作が変わったもの
←,→:  k=←,→
HOME:   k=無反応
END:    k=無反応
↑,↓:  k=履歴

こうしてみると、ktermはちょっとおかしいですね。個人的にはkrxvtを常用して
いますし、terminfoは良くわからないので、手を出そうとは思いませんが、
terminfoに詳しい方、ご自身でカスタマイズして改善されている方はいらっしゃ
いませんか。

-- 
---------------------------
Yukihito ENOKIDA  (toyama)
yeno1013@xxxxxxxxxxxxxxx