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

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



久保田です。

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

直接には関係がないことですが...
xterm,kterm と rxvt,krxvt とで BS キーと Delete キーの動作が
異なることに気がつきました。

xterm,kterm では、
BS キーは 0x8
Del キーは 0x7f
の文字を入力します。(ncurses の getch() 関数を使って試しました。)
一方、rxvt,krxvt では、
BS キーは 0x7f
Del キーは 0x1b 0x5b 0x33 0x7e
の文字を入力します。
ちなみに、Eterm は rxvt 式、gnome-terminal や hanterm は xterm 式
でした。

なにも設定なしだと、kterm 上で BS キーが効かない (文字どおりの
^H が入力されてしまう) ことがありますが (たとえば、cat と入力
した場合)、これは stty erase ^H と設定するとうまくいきます。
# ただし、emacs を kterm 上で動かした場合、BS で ヘルプになって
# しまいます。これが好きな人もけっこういるのでしょうが...
# rxvt だと、BS はカーソルの左の文字、Del はカーソル位置の文字が
# 消されます。もちろん、C-h はヘルプです。私はこれが好きなの
# ですが、どうしてもこれが kterm で実現できません。

xterm 式と rxvt 式の 2 種類の流儀があるのは、どうしてなんでしょうか?
なにか、歴史的な事情があるのでしょうか。
どちらかに統一したほうがいいのにな、と思うのは素人考えなんでしょうか?

# カーソルキーは、kterm も krxvt も 0x1b 0x5b 0x43 (右矢印の場合)
# でした。

ちなみに、この相違は terminfo が原因ではない (もしくは、termiinfo
をいじることによって状況を変えることはできない) のですよね?

/***********************************************************
 * 久保田智広  Tomohiro KUBOTA
 * tkubota@xxxxxxxxxxx / kubota@debian.or.jp
 * http://surfchem0.riken.go.jp/~kubota/
 ***********************************************************/