🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: fj.editor.vi
Article #46

Re: Emacs vs vi

#46
From: Junn Ohta
Date: Mon, 21 Jun 2004 16:30
64 lines
4264 bytes
fj.editor.viの記事<m3acyx5c9m.fsf@kzin.dip.jp>で
	co_mon@ybb.ne.jpさんは書きました。
> そういや terminfo のマニュアルに vi でのテスト方法が載ってたっ
> けなぁと思って、手もとのマシンで man terminfo したら、まだあ
> りました。
> ...
> このへんが、けっこうめんどうな調整をする時のコツだったりする
> んですかね?(やったこと無いんで単なる疑問です)

描画ルーチンにとって、大量の(当時では:-)メモリ転送
が発生する行挿入・削除というのはかなりの負担になる
ので、それで間に合うように調整すればほかのたいてい
の処理は大丈夫、という意味でしょう。

ただ、行のスクロールはリングバッファを使ってメモリ
転送を減らせるので、実際のメモリ書き換えが大量に発
生する処理のほうがきびしいかもしれません。termcap/
terminfoでは画面クリアには待ち時間を設定できるので
よいのですが、Emacsや最近のviのように行長の制限が
あまりないものでは、非常に長い行の先頭付近を1文字
ずつ連続して削除するような処理をすると画面が乱れる
ことになりそうです。当時のviは行の最大長が511バイ
ト程度だったのであまり問題にはなりませんでしたが...。

ところで、VT100は実際には行の挿入・削除という画面
制御機能を持っておらず、かわりにスクロール領域の変
更という機能を使っていました。行の挿入・削除は現在
行から画面最下行までを一時的にスクロール領域として
スクロール操作をすることで実現していたわけです。私
はこのスクロール領域変更機能が大好きだったのですが、
ANSI X3.64では採用されず、それ以降のANSI端末エミュ
レータもこの機能をもつものは多くありませんでした。

行の挿入・削除機能だけを使ってエディタを実装すると、
たとえばEmacsの反転行のように画面下部に位置が固定
された領域があるとき、画面の一部をスクロールするに
はカーソル行で行を削除したあと固定領域の直前に行を
挿入しなくてはならず、固定領域がガタガタ動くのがと
ても気になります。

> ところで、vi を使っているっていう方は、どういう vi を使って
> るんでしょうかね?
> 私は vi か nvi しかまともに使えません。
> vim は set compatible(だったかな?)してもストレスがたまります。

私はvimですね。

むかしPC-9801のMS-DOSでviを使いたくて、機能の小さ
いviクローンだったstevieを日本語化し、さらに改良し
ていました。それでサブセット慣れしてしまったことと、
vimはstevieの末裔なので、やはりどこか微妙なふるま
いが似ているところがあるのでした。

> elvis (スペルはこうでしたっけ?) だったか、Emacs のモー
> ドラインみたいなのがつくようなのだと、10秒と持ちません。

それってMicroEMACSか何かをvi風に改造したやつではな
かったですか? elvisにはモードラインはなかったと思
います。とはいえ、長い行が折り畳まれず横スクロール
するのと画面更新の方針がオリジナルviと異なるのが気
になって、elvisもあまり好きではなかったですが。
-- 
太田純(Junn Ohta) (株)リコー/新横浜事業所
ohta@sdg.mdd.ricoh.co.jp
Technical Details
Message-ID: <cb72et$cc8$1@ns.src.ricoh.co.jp>
Path: arc1-ca.pugleaf.net!g2news1.google.com!news1.google.com!newsfeed.stanford.edu!newsfeed.news.ucla.edu!newsfeed.media.kyoto-u.ac.jp!np0.iij.ad.jp!news.iij.ad.jp!ricohgwy.ricoh.co.jp!news.src.ricoh.co.jp!ohta
References: <xzyuc.29$Rq.18@news7.dion.ne.jp> <YAS.04Jun11195829@kirk.is.tsukuba.ac.jp> <3989846news.pl@insigna.ie.u-ryukyu.ac.jp> <caceoh$qi6$1@ns.src.ricoh.co.jp> <m3acyx5c9m.fsf@kzin.dip.jp>

Show Full Headers
Complete Article Headers
X-Google-Language: Japanese,JIS
X-Google-Thread: f7c9f,7ad620ba0f64e58f
X-Google-Attributes: gidf7c9f,public
Path: arc1-ca.pugleaf.net!g2news1.google.com!news1.google.com!newsfeed.stanford.edu!newsfeed.news.ucla.edu!newsfeed.media.kyoto-u.ac.jp!np0.iij.ad.jp!news.iij.ad.jp!ricohgwy.ricoh.co.jp!news.src.ricoh.co.jp!ohta
From: ohta@src.ricoh.co.jp (Junn Ohta)
Newsgroups: fj.editor.vi
Subject: Re: Emacs vs vi
Date: 21 Jun 2004 16:30:21 GMT
Organization: RICOH Co., Ltd., TOKYO, JAPAN
Lines: 64
Message-ID: <cb72et$cc8$1@ns.src.ricoh.co.jp>
References: <xzyuc.29$Rq.18@news7.dion.ne.jp>
 <YAS.04Jun11195829@kirk.is.tsukuba.ac.jp>
 <3989846news.pl@insigna.ie.u-ryukyu.ac.jp>
 <caceoh$qi6$1@ns.src.ricoh.co.jp>
 <m3acyx5c9m.fsf@kzin.dip.jp>
NNTP-Posting-Host: snoopy.src.ricoh.co.jp
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-2022-JP
X-Trace: ns.src.ricoh.co.jp 1087835421 12680 133.139.210.3 (21 Jun 2004 16:30:21 GMT)
X-Complaints-To: usenet@news.src.ricoh.co.jp
NNTP-Posting-Date: 21 Jun 2004 16:30:21 GMT
X-Newsreader: mnews [version 1.22PL4] 2000-05/28(Sun)