Article View: fj.editor.vi
Article #46Re: Emacs vs vi
From: Junn Ohta
Date: Mon, 21 Jun 2004 16:30
Date: Mon, 21 Jun 2004 16:30
64 lines
4264 bytes
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!ohtaReferences:
<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)