ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

VT100コミュのなぜ vi のカーソル移動は hjkl に割り当てられたか

  • mixiチェック
  • このエントリーをはてなブックマークに追加
http://www.kagami.org/diary/2005-08-28-1.html
へぇ〜へぇ〜へぇ〜!
ついでにテキストエディタの懐かしい話題もどうぞ。

PDP/RT-11やVAX/VMSには、昔emacsの元になったという噂のtecoというエディタがありましたが、私はついに使いこなせませんでした。

コメント(8)

へぇ〜。
すみません、しばらくこのコミュニティ見てませんでした。
(管理人なのに…)

tecoって、自分の名前を打ち込んで何が起こるか観察するという、ゲームソフトの名前ですよね?(違う)
> tecoって、自分の名前を打ち込んで何が起こるか観察するという、ゲームソフト

違うと思います。
うろ覚えですが、コマンドを特定の形式でしか受け付けてくれない、edlin(また訳のわからん事を...)やedt(知ってる人いる?)をさらに超使い勝手が悪くしたような感じ?の悪いラインエディタだったと思います。

その昔、素(す)のDOSをインストールした直後には、まずはedlinを使ってCONFIG.SYSとAUTOEXEC.BATを修正したものでした。
TECOは検索してみると、マクロのプログラミング言語でもあったようですね、というかそっちが本当の役割かも。

以下、一番詳しそうな説明を
http://www.unixuser.jp/articles/Truth_of_the_Legend/words.html
から引用。

Emacsの前身であったことから、「TECO」という名前をご存じの方も多いかと 思いますが、TECOとは「Tape Editor and COrrector」の略称です。「Tape Editor」のつづりからも分かるように、当初はプログラム入力用の紙テープを編集するために使われていましたが、その後、紙テープが使われなくなってからは 「Text Editor and COrrector」の略称と意味を変え、使われ続けました。 オリジナルの開発者はDan Murphyで、1962年から1963年ごろにPDP-1用のエディタとして開発されたのが起源だとされています。しかし、そのマニュアルだけが無数に複製されて一人歩きしてしまったため、無数のクローンが生み出される結果となりました。ちなみにQEDもTECOをベースにして作成されたようです。 このようにTECOが多くのユーザーを獲得できた1つの理由は、機能を拡張するための柔軟なマクロ機能が備わっていたことにあります。たとえばMITのAI Lab では、多くのスタッフによって便利なマクロが作られ、スタッフ間でマクロの蓄積と共有が行われていました。マクロの多くは「*MACS」などの名前で保存されていました。これらの資産がGuy L. Steele Jr.により選別/整理され、Richard M. Stallmanにより統合されたものがいまのEmacsの原形となりました。ちなみに初期のEmacsのエンジンとなったのはPDP-6(PDP-10)用のTECOだったと 思われます(http://pdp-10.trailing-edge.com/mit_emacs_170_teco_1220/index.htmlでソースが公開されています)。

さて、このようにコンピュータの世界で数々の話題を振りまいてきたTECOですが、下記のWebページなどを見ると「いまだ現役」と感心せざるを得ません。
http://www.almy.us/teco.html
ADM3Aは、カーソル移動が、CTL-H,J,K,Lに割り当てられていました。
ひょっとしたら、その影響かも。
(BerkeleyでUNIXを触っていた連中の端末がADM3Aだったのもとか。viはBSD由来なので)

http://www.classiccmp.org/dunfield/altair/h/adm3a3.jpg
この写真で判るかと。

真横に並んでいるのは、楽に片手で使えて便利ですよね。
たけおかさんの見解が正解でしょうね。たぶん。
いま確認したのですが、私が最初にみたUNIX(V6)ではVT52 だったのですが、VT52にはキーパッドがありましたから。なお、ADM3Aは、VT52よりはるかにやすかったとおもいます。あと、キーホジションは、右手の人指し指から薬指までが、jklになります。人指し指だけうごかせばキーポジションをほとんどうごかさずにカーソル移動が楽になります。これも設計上の背景だとおもますが。

あと、TECOですが、tomさんがかかれた解説(藤田氏の記事。)にあるように、もともとマクロ言語です。M6 などと同じように万能チューニングマシンですね。M6 はマクロ言語の純学問的な言語でしたが。QED(仕様)はラインエディタ(ed, edlinなど)の元になっていますね。たしかQEDは、Multics用に開発されたのではなかったのかな?

なぜ、エディタをマクロ言語で書いたか(正確には、エディタ用マクロ言語を設計したといった方がいいかともおもいますが。)というと、プログラムやデータの編集で同じことの繰り返し修正が多いでしょう。マクロがつかえないと、TSS(MITのPDP-10は、ITSというTSSモニタ - OS -)では大変な作業になるからなんです。

RT-11やVMSの日本のユーザは、VT52を最低でもかっていたのでほとんどつかわなかったとおもいます。DECのキーパッドエディタをつかっていたと思います。
DECのキーパッド・エディタは、RSX11(PDP11)でかなり使いました。懐かしいです。\(^^)/
Gold+.で領域指定開始、Gold+6でカットぐらいでしたっけ?
手で覚えたから、文字にしようとするとうろ覚えでダメですね。
80年代のフリーソフトウェアのVT100エミュレータでDECのキーパッド・エディタが使えたものは少なかったです。(MacのNinjaTermが結構使えた。comp.sourcesに流れていたUNIX用のものは、ほぼだめ)


ちなみに、tecoは、マクロが使えるエディタですが…
ぽそこしさんの言うとおり、
素のtecoに名前を打ち込む遊びは、Hacker's dictionary(JargonFile)にも載っている、由緒正しい使用方法ですよ。
http://catb.org/jargon/html/T/TECO.html
胡桃さん、たけおかさん、どうもです!
やはり自分の名前を入れてみるというのが、tecoの正しい使い方だったんですね!(^-^;)
> たけおかさん、
> ちなみに、tecoは、マクロが使えるエディタですが…

その方が正確ですね。すみませんでした。G氏がやってきて、1200ボーの特仕のモデムをつないで、最初に写真の右に席でTECOがと、ぐじゃぐじゃいったとき、M6と同じじゃんとさからったのを覚えておりんしたので。TECOのマクロ書きはTAOのO氏と、G氏と、S氏がすきでしたね。

ログインすると、みんなのコメントがもっと見れるよ

mixiユーザー
ログインしてコメントしよう!

VT100 更新情報

VT100のメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。