「ED」の意味や使い方 わかりやすく解説 Weblio辞書 (original) (raw)

このページの名前に関して「ed (テキストエディタ)」への改名が提案されています。議論はノート:EDを参照してください。(2020年9月)
この項目では、テキストエディタについて説明しています。ED、Ed、edの他の用法については「ED」をご覧ください。

ed(イーディー)は、UNIXオペレーティングシステム上の標準的なテキストエディタである。オリジナルの作者はケン・トンプソンで、世界初の正規表現の実装のひとつでもある(それ以前には正規表現は数学の論文に出ていただけであった)。edはケン・トンプソンの出身校であるカリフォルニア大学バークレー校QEDから影響を受け、その後ex(英語版)およびそこから派生したviに影響を及ぼした。UNIXコマンドgrepsedはedのよく使われる使い方に影響されており(例えば使用例の置換コマンドはsedの使用法にそっくりである)、これらの影響はプログラミング言語AWKの中にもよく見て取れる。

目次

概要

edはその簡潔さで有名で、結果を表示するということがほとんどない。例えば、edがエラー検出時やセーブせずに終了してよいか確認するときに生成するメッセージは単に"?"である。現在のファイル名や行番号は表示されず、要求されない限りテキストに変更を加えた結果すら表示しない。このような簡潔さは初期のUNIXにとっては適切であった。というのも、コンソールはテレタイプ端末だったし、モデムは低速で、ハードディスクメモリは高価だったからである。その処理の遅さは、文書の文字が表示される過程が見える程である。技術進歩によってこれらの制約がなくなるにつれて、より視覚的なエディタが標準となっていった。

最近ではedを対話的に使用することは滅多に無いが、シェルスクリプトで使われることはある。対話的使用に関しては、1980年代にsam、viEmacsに取って代わられた。edは事実上全てのバージョンのUNIXとLinuxに装備されており、様々なバージョンのUNIXで作業する人にとっては便利である。問題が発生したとき、edは使用可能な唯一のエディタである場合もある。そのような場合に限ってedは対話的に使用される。

edのコマンド群は他のラインエディタで模倣されている。例えば初期のMS-DOSEDLINは似たような文法を採用しているし、多くのMUD(LPMudなど)のテキストエディタもed風の文法を採用している。しかし、これらのエディタはedよりも一般に機能が限定されている。

2008年8月23日GNUプロジェクトの開発によるedがバージョン1.0を迎えた[1]

使用例

以下に ed を使用した例を示す。

a ed is the standard Unix text editor. This is line number two. . 2i   . 1,$l ed is the standard Unix text editor.$ $ This is line number two.$ 3s/two/three/ 1,$l ed is the standard Unix text editor.$ $ This is line number three.$ w text 65 q

以上の結果として作成されるテキストファイルの内容は次の通りである。

ed is the standard Unix text editor.   This is line number three.

空ファイルの状態で開始し、a コマンド(ed のコマンドは全て1文字)でテキストの追加(append)を行う。これにより ed は入力状態(input mode)となり、その後の入力文字列をファイルに追加していき、1つのドットだけからなる行を入力することで終了となる。この例ではドットで入力を終了するまでに2行のテキストが入力された。2i コマンドも入力状態に移行するコマンドであり、2行目の前にテキストを挿入する(この例では空行を入力)。コマンドには数値を前につけることができ、操作するテキストの行番号を指定する。

1,$l の l はリスト(List)コマンドである。このコマンドは範囲指定が前に付けられており、二つの行番号をカンマで区切って指定する(_$_ は最終行を意味する)。このコマンドを入力するとこれまでの入力内容が全て表示される。各行はドルマークで終わっており、各行末に空白が存在しても即座にわかるようになっている。

3行目の間違いは、置換(substitution)コマンド 3s/two/three/ で訂正できる。ここで 3 は訂正する行を示し、コマンドの後には置換元の文字列と置換先の文字列を指定する。再度全体を表示するために 1,$l を使用すると、内容が修正されている。

w text はバッファの内容を "text" というファイルに書き込み、書き込んだ文字数を示す 65 という表示を出力する。q は ed の使用を終了する。

ビル・ジョイと vi と ed

エディタ戦争において、Emacs信奉者は「ビル・ジョイすら、もうviを使っていない」と言った。1984年のインタビュー[2]において、ビル・ジョイはこのことについて説明している。そこで彼はサン・マイクロシステムズ内では初期のDTPソフトInterleafを使い、サン以外の場所を訪れたときには古いedを使っていたと述べている。viはほとんどどこにでもあったが、それら(独自に修正が加えられた)ローカルバージョンのviは彼にとって期待通りに動くと信頼できなかったのである。一方でedは修正が加えられたことがないので思った通り動作することが期待できた。そこで彼は(しぶしぶながら)viを使わずにedを使ったというわけである。

脚注・出典

  1. ^15年の熟成を経て「GNU ed」がv1.0に” (2008年8月23日). 2008年8月25日閲覧。
  2. ^Interview with Bill Joy” (1984年8月). 2012年2月10日時点のオリジナル[_リンク切れ_]よりアーカイブ。2013年3月22日閲覧。

参考文献

関連項目

ポータル FLOSS

外部リンク

テキストエディタ
その他 EDLIN QED VZ Editor
クロスプラットフォーム Ace(英語版Atom Brackets Emacs (GNU Emacs) ed gedit Geany jEdit Kate KEdit Komodo Edit(英語版KWrite Leafpad Light Table(英語版nano nvi MinEd SciTE Scintilla Scribes sed Sublime Text Text Editor and Corrector UltraEdit(英語版vi Vim Visual Studio Code
Windows用のみ Aprotool TM Editor Apsaly Dana EmEditor J-cref K2Editor gPad MIFES Meadow Mery Notepad2 Notepad++ oedit PerlEditor Space Editor TeraPad TextPad UnEditor Peggy QXエディタ ViVi WZ EDITOR xyzzy サクラエディタ 秀丸エディタ メモ帳
Mac OS/macOS用のみ Aquamacs BBEdit - TextWrangler(英語版CotEditor Jedit mi iText SimpleText Tex-Edit Plus TextMate(英語版VimR WriteRoom(英語版テキストエディット
カテゴリ 一覧
Unixコマンド
ファイルとファイルシステム管理 cat chmod chown chgrp cksum cmp cp dd du df(英語版file fsck fuser(英語版ln ls lsof mkdir mount mv pax pwd rm rmdir size split tee touch type(英語版) umask(英語版
プロセス管理 at bg chroot cron fg kill killall nice pgrep pidof pkill ps pstree(英語版reboot shutdown time top
ユーザ管理/環境 clear env exit(英語版finger history(英語版id logname(英語版) mesg(英語版passwd su sudo uptime talk tput(英語版uname w wall(英語版who whoami write
テキスト処理 awk banner basename comm(英語版) csplit(英語版cut diff dirname ed ex(英語版fmt fold(英語版head iconv join(英語版less more nkf nl(英語版paste printf sed sort spell(英語版strings tail tr uniq vi wc xargs yes
シェルビルトイン alias cd echo test(英語版unset wait
通信 dig host(英語版ifconfig inetd ip (iproute2) netcat netstat nslookup ping rdate(英語版rlogin route ssh traceroute
検索 find grep locate(英語版) whatis(英語版) whereis(英語版
マニュアル apropos(英語版) help(英語版man
その他 bc dc(英語版cal date expr false lp(英語版) lpr(英語版) od(英語版sl sleep stty true tty
Category:UNIXのソフトウェア UNIXユーティリティの一覧
ケン・トンプソン
オペレーティングシステム UNIX Plan 9 from Bell Labs
プログラミング言語 B言語 Bon Go
ソフトウェア Belle(英語版) ed grep Sam(英語版) Space Travel(英語版Thompson Shell
その他 UTF-8