2006-10-11 [長年日記]

ターミナル

しばらくckを使っているのですが、ウィンドウのサイズを大きくすると文字の入力などが極端に遅いという現象に当たってしまいました。80x75で使うとキーリピートについてこないくらい遅くなります。通常の文字入力はともかく、カーソル移動などでも付いて来なくなるのでちょっと辛いです。ソースを見てみると、一文字入力されるごとに行の計算と画面全体の再描画を行っているようで、そこが原因のように見えます。25行程度まで小さくすれば気にならない程度の速度になります。

そこで今度はrxvtを、ja patched rxvt-2.7.10-6 on Cygwinからバイナリをもらってきて試してみました。.Xdefaultsはこんな感じで。

Rxvt.geometry: 80x75-10+0
Rxvt.font: Lucida Console-15
Rxvt.mfont: msgothic-15-jisx0208
Rxvt.multichar_encoding: sjis
Rxvt.visualBell: False
Rxvt.saveLines: 10000
Rxvt.scrollBar_right: True
Rxvt.background: #FFFBD9

フォントを二種類指定できるのは良いのですが、各文字で位置を合わせてくれないので、上記のように横幅の異なるフォントを指定すると日本語の描画位置がむちゃくちゃになってしまいます*1

ckのように複数のバッファをサポートしていないので、screenを入れて使うことにします。screenからバイナリをダウンロードして入れてみました。.screenrcはこんな感じ。

escape ^Ll
defencoding sjis
defscrollback 10000
defshell /bin/bash
caption always "%{= wk} %-w%{=bu db}%n %t%{-}%+w %= %{=b wb}%y/%m/%d(%D) %{=b wb}%c"
startup_message off
vbell off

bind w windowlist -b
bind s colon 'screen ssh '

さらに、.bashrcでプロンプトを設定するときにscreenのタイトルを更新するようにします。

if [ "$TERM" == "screen" ]; then
  PS1='\[\033k\h:\W\033\134\]\u@\h:\w<\!>'
else
  PS1='\[\033]0;\u@\h:\w\007\]\u@\h:\w<\!>'
fi

そして、こんな感じで起動します。

C:\cygwin\bin\bash --login -i -c "rxvt -title rxvt -e screen"

しかし、文字コード自動認識とかマルチバッファの使い勝手とか、ckは手に馴染むと思っていたところなので難しいところです…

*1  これは割と簡単に直せそうな気がします

本日のツッコミ(全2件) [ツッコミを入れる]
# aloe (2006-10-12 13:43)

こんにちは。はじめまして。<br>毎日QMAIL3にお世話になっているものです。<br><br>rxvtのフォントですが<br>http://mix-mplus-ipa.sourceforge.jp/download.html<br>がお勧めです。<br>.Xdefaultには<br><br>Rxvt.font: "M+2VM+IPAG circle-19"<br>Rxvt.mfont: "M+2VM+IPAG circle-19"<br><br>こんなかんじで、日本語表示すると跡が残らないのはもちろん<br>欧文がBitstream Vera Sans Monoなのがいいです。

# snak (2006-10-16 03:22)

ご紹介ありがとうございます。試してみました。が、残念ながら私の環境だとClearTypeがかかったときにヒゲが出てしまってあまり綺麗に表示できませんでした。日本語と英語のバランスは良かったのですけど。


トップ «前の日記(2006-10-10) 最新 次の日記(2006-10-12)»