ラインエディタEDの改良について
著者 柳瀬 龍郎, 水野 広治
雑誌名 福井大学工学部研究報告
巻 34
号 2
ページ 263‑271
発行年 1986‑09
URL http://hdl.handle.net/10098/4126
福 井 大 学 工 学 部 研 究 報 告
第34巻 第2号 昭和61年9月
263
ラインエディタ ED の改良について
柳 瀬 龍 郎 事 水 野 広 治 ・
Irnprovernent of the ED
Tatsuro YANASE and Hiroharu MIZUNO
(Heceived Aug 2
,
1986)The ED is a standard 1ine‑editor on the UNIX operating systern.
However
,
it is word processing oriented rather than charac七er edit. We have irnproved on the 1ine‑edi七or rnain1y about fo11owing three points; 1) be ab1e七o change by a charac七er pointed on any 1ine. ,
2) can use rnerno pads,
3) rnu1tip1e fi1e edit. The prograrn wi11 be running on the new M‑360 cornputer systern in Fukui Univers工七y.1 初 め に
計 算 機 シ ス テ ム で 最 も 頻 繁 に 利 用 さ れ ・ , そ し て 恐 ら く , そ の 計 算 機 シ ス テ ム 民 対 す る イ メ ー ジ を 決 定 的 に し て し ま う ほ ど 重 要 な シ ス テ ム プ ロ グ ラ ム は 編 集 用 プ ロ グ ラ ム , い わ ゆ る ソ ー ス エ デ ィ タ で あ ろ う と 思 わ れ るo ソ ー ス エ デ ィ タ と は す な わ ち プ ロ グ ラ ム , デ ー タ , 文 書 や そ の 他 の 様 々 な 文 字 情 報 を 作 り 出 レ 変 更 す る た め の 道 具 と な る も の で あ る 。 通 常 は メ ー カ ー お 仕 着 せ の , 原 始 的 な 編 集 機 能 を 持 っ た も の を 使 う 羽 自 に な る の で あ る が , そ れ で も 利 用 者 が 文 句 も 言 わ ず に 使 っ て い る の は, Kernighan C 1 Jらの指摘ぞ持つまでもなく,
r
自 分 達 が ど ん な に 慣 を し て い る か 知 ら な い から』であるO
本 報 告 で は , 上 記 の 点 を 考 慮 しUNIXで 利 用 き れ て い る 高 級 な ラ イ ン エ デ ィ タE Dの 機 能 を 増 強 し , 乙 れ を 実 際 児 イ ン プ リ メ ン ト し た 例 に つ い て 報 告 す る 。
$ 情 報 工 学 科
U N工Xは 米 国AT&T社 の ベ ル 研 究 所 で 開 発 さ れ た オ ペ レ ー テ ィ ン グ ・ シ ス テ ム で す 。
2 E Dについて
現在,スクリーンエディット(画面編集)が全盛であるのに,なにゆえわぎわざ,ラインエディット ( 行 編 集 ) な の か と 言 え ば , そ れ は 主 と し て 次 の2つの理由からである。
(J) 複 雑 な ス ク リ ー ン 制 御 コ ー ド を 使 わ な い 。 (2) E Dの文型探索機能が強力。
(1)の事柄から,汎用計算機のTS S端 末 と し て , 専 用 端 末 で は な く 各 社 の マ イ コ ン が 使 わ れ る と い う , 少 な く と も 福 井 大 学 内 で は そ の 傾 向 が う か が え る 最 近 の 状 況 に 柔 軟 に 対 処 で き る と 思 わ れ る 。 ま た , 専 用 端 末 に よ る ス ク リ ー ン エ デ ィ タ の 使 い 易 さ は 論 を ま た な い が , (2)に 掲 げ た 文 型 探 索 の 機 能 が 貧 弱 で あ る 。 ま た , 上 の2つ の 他tc,一 般 的 入 出 力 機 能 が 備 わ っ て い る , 広 域 的 な 操 作 が シ ン プ ル な コ マ ン ド 体 系 で サ ポ ー ト さ れ て い る な ど の 理 由 が あ げ ら れ て い る 。
さて,そのE Dで あ る が , 基 本 的 に は IfJエディタ」であり,編集指令は常にl個 ま た は 数 個 の 行 に 対 し て 作 用 す る 。 も ち ろ ん 行 の 一 部 に 操 作 を 加 え る こ と も で き る よ う に な っ て い る 。 ま た , こ の エ デ ィ タ で は 編 集 し た い フ ァ イ ル の 内 容 を 直 接 操 作 せ ず , そ の コ ピ ー を い っ た ん 作 業 フ ァ イ ル に い れ , そ の 作 業 フ ァ イ ル を 編 集 す る よ う に な っ て い る 。 乙 の た め 編 集 終 了 前tc,書 き 出 し コ マ ン ド に よ っ て , 編 集 を お え た 作 業 フ ァ イ ル 争 意 識 的 に 元 の フ ァ イ ル の 上l乙 重 ね 書 き す る か , も し く は , 新 し い フ ァ イ ル 名 争 つ け て 書 き 出 し し な い か ぎ り , 元 の フ ァ イ ル の 内 容 は , 決 レ て 変 更 さ れ ず , ま た 編 集 し た 結 果 を 残 す こ と が で き な い 。 コ マ ン ド の 実 行 は 作 業 フ ァ イ ル 陀 対 し て の み 行 わ れ る の で あ
る 。 以 下 の 各 節 に お い てE Dの特徴をみることにする。
2.1 使 用 文 字
乙 の エ デ ィ タ で は 英 小 文 字 で の 指 令 も 可 能 で あ る の そ の 他 , 特 別 扱 い の 文 字 と し て , 次 の 様 な メ タ文字が使われている。
?… ・ ⑪ 舎 の ぞ く 任 意 の 文 字 拍・……一行の先行
s
… … … 行 の 末 尾 , ま た は フ ァ イ ル の 最 終 行*…..…・閉包,直前の文型の 0回 以 上 の 繰 り 返 し
@....・H・‑脱出記号
&.…・…・繰り返し記号
/....・H・‑行内操作コマンド区切り記号
@ N… ‑ ⑪
@ T……T A B記 号 2.2 コ マ ン ド の 形 成
エ デ ィ タ へ の 入 力 は コ マ ン ド の 列 で あ り , コ マ ン ド は 一 行 に は 1個 し か 書 け な い 。 各 コ マ ン ド 行 は , 広 域 指 定 部 を 設 け な い 場 合 , 次 の よ う な 形 を し て い る 。
行 1,行2 指 令 追 加 情 報 ⑪
「行1
J
, I行 2J
お よ び 一 部 の 「 追 加 情 報J
は省略可能である。2.3 広 域 指 定 部
広 域 指 定 部 は 指 令 の 実 行 を 複 数 の 行 に わ た っ て 繰 り 返 さ せ る 役 令 す る 。 指 令 はG指 定 の と き は 文 型 に 一 致 し た 各 行 に つ い て , ま たX指 定 の と き は 文 型 に 一 致 し な か っ た 各 行 に つ い て , そ れ ぞ れ 実
265
行 さ れ る の 形 式 は 次 の 通 り 。 〔 以 下 に お い て は (x x x )はxxxを省略しでもよいととを表す〕
( n1(,n2))G/文型/指令 ( nl ,(n2))X/文 型 / 指 令
広 域 指 定 部 2.4 行番号について
文型に一致した各行について 文型に一致しなかった各行について
n1, n2を省略すれば, 1, $として解釈
ファイルの行番号は先頭行から相対的民自然数が対応ずけられており,行レコードに絶対的に付 属しているものではない。したがって挿入や削除陀よってその都度変化する。また,コマンドの前 にある行番号は,コマンドを実施すべきファイルの中の範囲寄与指定する意味を持つ(範囲の両端を 含む)。コマンドにおける行番号は次のような構成要素から作られる。
1 7 10進数 (ピリオド) 現在の行
s
最 後 の 行/ 文 型 / 順方向の文型サーチ
¥文型¥ 逆方向の文型サーチ
乙乙で,文型サーチを行番号の指定応用いるという意味は,発見された文型を含む行の番号をそ の値とすると言う意味である。また,これらの構成要素は+またはーで結合できる。例えば,
. 十 と 1の和
.ー2 と2の 差
行番号はコンマ(, )またはセミコロン( ; )で区切られる。セミコロンがくると先へ進むに先 だって,点. (ピリオド)にそのセミコロンの直前にあらわれた行番号の値が代入される。コマン ドの先頭には任意の個数の行番号を付ける乙とができる(但し一部のコマンドを除く)0 必要に応 じて,乙れらの行番号のうちの最後の一つまたは二つが使われる。行番号が二つ必要なとき,一つ しか与えられなかったならば,その l個の行番号が両方の行番号として使われる。行番号が一つも 与えられていないときには,次陀示す省略時解釈のいずれかが使われる。例えば,
(. ) 現在の行を使う
( . +
1 ) ( .一 1 )(. ,. )
( 1" $ )
次の行を使う 前の行を使う
現在の行を二つの行番号として使う 全部の行を使う
等である。それぞれのコマン,ドについての省略時解釈は,デフォルト(既定値)としてあらかじめ 定められている。
2.5 行操作コマンド
行操作コマンドは行単位での編集ができるように作られており,行追加,行挿入,行変更,行複 写,行移動,行書き出し,行削除,行復活および行表示等のコマンドがある。
2.6 文 型 操 作
指定した文型を含む行を探したり,ある文型壱指定した文字列で置き換えたりするととができる が, E Dでは特陀との文型として使用できる文字列パターン陀特徴があるので,次に詳しくのべる。
2.6.1 文型について
文 型 は 文 型 探 査 ( サ ー チ ),置換指令S,および広域指定部Gとでっかわれ,つぎのものからな る。
文字そのもの
改行符号を除く任意の文字 行の先頭
行 の 先 頭 ( 改 行 符 号 の 直 前 の 空 列 )
文字の類(乙れらの文字の内の任意の一つ) 否定(アンダーライン)付きの文字以外なら何でも 例 [ A ‑ Z 1
*
閉包(直前の文型の0回以上の繰り返し)@c 脱出記号付きの文字(@%, @ [ , @*, @N (⑪), @ / な ど ) C
今会
s
‑lJ
1llJ・
••
•.
•
﹁l'﹂
F i ‑ ‑
﹂
すなわち,文型は形式言語理論における一重カッコの正規表現(従ってサブクラス)が許され,
しかも文脈自由で探索可能である。また,文字が持つ特別の意味は脱出記号が付けられたとき,
[・・・ J, [一..・ 1の中,および次の場合陀は失われる。
*
が先頭にあるときs
が末尾以外にあるとき% が先頭以外にあるとき
文字の類はつぎのような要素をO個 以 上 な ら べ て [Jで閤んだものである。
C 文字そのもの。[でもよい
a‑c 文字の範囲(数字,下段の英字,上段の英字)
@c 脱出記号付きの文字(@一,@←, @@, @ 1 )
先頭にあれば文字の類の否定を表す C ̲ A,̲ c ‑ d )
文字の類の中にあらわれる文字の特別な意味は,脱出記号が付いているときおよび次の場合には 失われる。
が先頭または末尾にあるとき が先頭以外にあるとき
置き換え文字列は次の要素を0個以上並べたものから成る。
c 文字そのもの
& 繰り返し記号。すなわち任意の一致した文字列
@c 脱出記号付きの文字C@& )
脱出記号付きの文字は文字@のあとに l個の文字を付けたものから成る。
@N は 改 行 符 号 ⑪
@ T は 欄 と ば し 符 号 (T A B )
@c はCそのもの(@@をふくむ) をあらわす。
2.6.2 文型操作コマンド
ある文型を探してそれを別の文字列で置き換えるときに使用されるコマンドで,乙のコマンドに
267
お い て サ ー チ す る 文 型 を 指 定 し た 場 合 , そ の 文 型 は 記 憶 さ れ る 。 ま た 文 型 を 省 略 し た 場 合 , 記 憶 さ れ て い る 文 型 が サ ー チ 陀 使 用 さ れ る 。 文 型 変 換 コ マ ン ド は
(nl(,n2))S/(文 型 1 ) /文字列 2 / (G ) ( 2 ) の形をしているo コマンドの意味は, n 1から n2ま で サ ー チ し て 文 型1を文字列2で置き換える。
行 を 指 定 し な か っ た 場 合 , 現 在 行 が 操 作 の 対 象 と な る 。 追 加 情 報 のGを指定した時,その一行中の 該 当 す る 全 て の 文 型 が 文 字 列 2に よ っ て 置 き 換 え ら れ る 。 文 字 列 2の任意の位置では, @ N (⑪改 行符号)の使用も許される。従って, @ N以外の文字を, @ Nで 置 き 換 え れ ば 一 行 が 分 割 さ れ て 複 数 行 に な る 。 ま た Pが 指 定 さ れ た と き は 変 換 を う け た 最 後 の 行 が 表 示 さ れ る 。 そ の ほ か , 単 に 文 型 のサーチをするととも可能で,そのときには,
前 方 サ ー チ ・ ・ ・ "/ (文型)/ "
後 方 サ ー チ ・ ・ ・ " ¥ ( 文 型 ) ¥ "
で , そ の 文 型 を 含 む 行 を 探 す こ と が で き るo
2. 7 フ ァ イル 操作
フ ァ イ ル 操 作 コ マ ン ド と し て は , フ ァ イ ル 読 み 込 み コ マ ン ドR Kより,ファイルの内容を, nま た は 現 在 行 の 後lζ続 い て 読 み 込 む 事 が で き る 。 そ の ほ か , フ ァ イ ル 書 き 出 し コ マ ン ドWによって任 意 の 行 を 書 き 出 し て フ ァ イ ル を 作 る こ と も で き る 。 ま た , 内 部 パ ッ フ ァ を 空 陀 し て か ら , 編 集 を 行 う 新 フ ァ イ ル の 内 容 を バ ッ フ ァ 陀 読 み 込 む コ マ ン ド , ど ん な フ ァ イ ル 名 が 記 憶 さ れ て い る か を 見 る コマンド,ファイルのレコード内容を表示するコマンド等がある。
2.8 その他コマンド
コマンドの使い方の簡単な表示をおこなうヘルプコマンド,メッセ‑0'の表示を制御するコマン ド等がある。
表1f[, E Dの本来のコマンドとその機能を掲げておく。
表 ED本 来 の コ マ ン ド と そ の 機 能 A
O D E ファイル名 F ファイル名
G E I M F
@
Q R ファイル名
S U W ファイル名
X
行 の 次 へ 文 を 付 加 ( あ と は 文 が 続 く ) 文 を 変 更 ( あ と は 文 が 続 く )
文を削除
ファイルの取り込み ファイル名を印刷 広 域 指 定 部 ヘルプ表示
文 を 行 の 前f[挿 入 ( あ と は 文 が 続 く ) 文を移動
文を表示
次 行 表 示 ( ⑪ の み 入 力 ) 終了
フ ァ イ ル の 読 み 込 み ( 行 の あ と へ 付 加 ) 文型置き換え
削除取り止め
フ ァ イ ル の 書 き 出 し ( 状 態 は 不 変 ) 広 域 指 定 部
行 番 号 表 示
3 追 加 さ れ た 機 能
E Dは 高 級 な ラ イ ン エ デ ィ タ で は あ る が , 欠 点 が な い わ け で は な い 。 特 に EDIC欠 け て い る 機 能 と し て 行 内 に お け る 編 集 機 能 が あ げ ら れ る 。 す な わ ち , あ る 文 型 を 含 む 行 を 探 索 す る 機 能 は 強 力 で あ り , か つ 使 い 易 い が , そ の 行 の 望 む 部 分 を 自 由 に 指 定 し 編 集 す る 機 能 が 弱 い 。 ま た , 最 近 の エ デ ィ タ で 装 備 さ れ て い る , 複 数 フ ァ イ ル 編 集 機 能 や , メ モ リ 機 能 な ど も EDICは欠けている。そ 乙で,表2Iζ示す様な機能を新しく追加した。
表2 新 し く 追 加 し た 機 能
〔 機 能 〕 1. 行 内 編 集
2. メモリへの書き出し 3. メモリからの読み出し 4. 編 集 バ ッ フ ァ の 切 り 換 え 5. エ デ ィ ト バ ッ フ ァ の 表 示
ファイルの表示 メモリの表示
6. コマンドファイルの実行
〔コマンド〕
(nl(,n 2 ) )
(nl (, n 2 ) ) B ( n 3 ) ( n 1 ) R R ( n 2 )
# ( E フ ァ イ ル 名 ) ( n 1 ( n 2 ) ) T
寸 (nl(,n 2 ) ) フ ァ イ ル 名 )
T T [ n 1
! < コ マ ン ド フ ァ イ ル 名 >
た だ し , 表2において, nはメモリ番号, ( )は省略可能である。以下において,これらの機能 を詳細に見てゆく。
3. 1 行 内 編 集 機 能
挿 入 の 例 AB:C D d c b a
i
¥苦味料b
1
〆
A D dcba
変 更 の 例
変 更 の 例
A
実行前表示
4 一一一入力行 実行後表示
実行前表示 ー一一入力行
図1 行 内 編 集 例 コマンドは次のような形式となる。
(nl(,n 2 ) ) ( 3 )
最 近 の ス ク リ ー ン エ デ ィ タ の 考 え 方 だ け を 取 り 入 れ , カ ー ソ ル に よ っ て , 編 集 す る 位 置 を 指 定 す る方法である。ただし,図1に 示 す よ う に , カ ー ソ ル は 表 示 さ れ た 被 編 集 行 の 下 を ス ペ ー ス と デ リ ート K E Yに よ っ て , 左 右 に の み 動 か す よ う に な っ て い る 。 そ し て , 挿 入 す る 場 合 は 挿 入 す る 位 置
269
の 後 の 文 字 の 下 で 挿 入 記 号 " ¥ " を 入 力 し , 変 更 ま た は 削 除 す る 場 合 は , 削 除 す る 文 字 列 の 先 頭 の 文 字 と , 最 後 の 文 字 の 次 の 文 字 の 下 へ 削 除 記 号 "/ " を 書 き , そ の 後 へ , 新 し い 文 字 列 を 入 力 し て 最 後 に コ マ ン ド 区 切 り 記 号 "/ " , ま た は , 改 行 を 入 力 す る 。 変 更 さ れ た 行 は そ の つ ど 表 示 し な お さ れ , 改 行 入 力 の み と な る ま で 「 表 示 」 と 「 修 正 入 力Jの 反 復 を 行 う 。 特 徴 と し て は , 入 力 す る 文 字列の中IC,ある定められた方法で,
r
改 行 文 字J, iTABJなどを入力する乙とができること で あ る 。 す る と , こ の 「 改 行 文 字 」 を 入 力 し た と こ ろ で , 元 の 文 字 列 は 切 断 さ れ る こ と に な る 。 複 数行を一行につなぐのは別のコマンドで行う。3.2 メ モ リ と 編 集 バ ッ フ ァ に 関 す る 機 能
最 近 の エ デ ィ タ で は 複 数 個 の フ ァ イ ル が 同 時 に 扱 え る よ う に な っ て い る 。 ま た , 編 集 に お け る 所 謂 , 切 貼 を 簡 単lとするための機能を取り入れた。
日 以 一
/ h l
パ 戸
﹂
① 〆 日
W
編集用ノ1ッファ図 2 フ ァ イ ル , 編 集 用 バ ッ フ ハ 一 時 記 憶 用 メ モ リ の 相 互 関 係
図2IC, 外 部 フ ァ イ ル , 編 集 バ ッ フ ァ お よ び メ モ リ の 関 係 を , デ ー タ の 動 き と 共ζl示しである。
実 線 矢 印 が フ ァ イ ル や , テ キ ス ト の 流 れ を 表 し , そ の 側 に そ の 動 き を 引 き 起 こ す , コ マ ン ド が 示 し である。また,破線矢印は,編集の対象となるバッファの変更を表している。すなわち,①では,
コマンド
(nl) R (n2(,n3))(フ ァ イ ル 名 ) ( 4 ) に よ っ て , フ ァ イ ル 名 で 示 し た 外 部 フ ァ イ ル のn2行からロ 3行 ま で を , 編 集 中 のn1行の後ろへ,
追 加 挿 入 す る 乙 と が で き る 乙 と を 示 し て い る 。 こ の と きn1を 省 略 す れ ば , 現 在 行 の 直 後 に 挿 入 が 行われる。 n 2, n 3を共児省略するとファイル全体が読み込まれ, n 3を省略するとn 2行 以 降 の全ての内容が続み込まれる。またファイル名を省略すると,記憶されている既定値が使用される。
このときファイル名の直前には,必ず1個 以 上 空 白 が な け れ ば な ら な い 。 な お , こ の コ マ ン ド は も ともと一本のファイルの全てを読み込むようになっていたものを,一部だけ読めるように修正した。
②では,メモリへ書き出しを行っており,
(nl(,n2))B( )(n3) (5)
によって,編集中のn 1行からn 2行までがメモリ n 3へ 書 き 出 さ れ る 。 乙 の と き , 以 前 か ら 記 憶
さ れ て い る 内 容 の 後 ろ へ 追 加 さ れ る 。 "! "があれば以前の内容はさとてクリアされる。また,
(1) n 1 , n 2を共に省略した場合,現在行のみが書き出きれ,
(2) n 2を 省 略 し た 場 合 , 第n1行のみが書き出され,
(3) n 3は 0‑‑‑9の 値 を と る こ と に よ っ て 10個のメモリのいずれかを指定することができ,
省 略 し た 場 合 , 自 動 的 にOが指定される。
③では,メモリからの読み出しを行い,
(nl )RR(n2) ( 6 )
でn1行の直後へ,メモリn2の全ての内容を読み出して,挿入を行う。
(1) n 1を省略すると,現在行の後へ挿入が行われ,
(2) n 2を省略すると,自動的にメモリ Oが選ばれて読み出しが行われる。
④では,編集ノてっファの切換を行い,
4キ ( 7 )
で 二 つ の 編 集 バ ッ フ ァ を 交 互 陀 往 来 で き る 。 二 つ の バ ッ フ ァ で の デ ー タ の や り と り は , メ モ リ を 介 し て 行 う 。 二 つ の 編 集 バ ッ フ ァ ⑤ は , パ ッ フ ァ の 切 換 え と 同 時 に , 編 集 フ ァ イ ル を 指 定 し て お り ,
! E ( フ ァ イ ル 名 )
で . 新 し い 編 集 バ ッ フ ァ を 用 意 し て ( フ ァ イ ル 名 ) で 指 定 さ れ た フ ァ イ ル を そ こ で 編 集 す る 乙 と を 指 示 し て い る 。 # を 省 略 す れ ば , 現 在 の 編 集 バ ッ フ ァ を 全 く ク リ ア し て , す な わ ち , 何 か あ っ て も 全 て と 破 算 に し て , フ ァ イ ル 名 で 指 定 し た フ ァ イ ル を 新 し く セ ッ ト し 直 す と と を 示 す 。 い ず れ の 場 合 も , フ ァ イ ル 名 を 省 略 す れ ば , す で に シ ス テ ム で 記 憶 さ れ た フ ァ イ ル 名 が 既 定 値 と し て 使 用 さ れ る 。 バ ッ フ ァ の 数 , す な わ ち , 同 時 編 集 で き る フ ァ イ ル の 数 は , 現 在 の と こ ろ 二 つ に 制 限 し で あ る が , 論 理 的 に は ほ と ん ど 制 限 は な く , パ ラ メ ー タ の 数 を 1つ 変 え る だ け で 変 更 可 能 な よ う に 設 計 し である(前述のメモリ数についても全く同じ)。
3.3 表 示 機 能
Tで 任 意 の フ ァ イ ル の 任 意 の 行 , ま た は , 編 集 バ ッ フ ァ の 任 意 の 行 を 表 示 , T Tで任意のメモリ の内容全てを表示するととが可能である。すなわち,
(1) テ キ ス ト の 表 示 (2) フ ァ イ ル の 表 示
︑ ︑ ︐ ノ 中 ム
ロ〆 ' 也 ︑ ︑ 編 集 テ キ ス ト のn行から最終行まで表示。
(3) メ モ リ 内 容 の 表 示 T T ( n )
T(nl(,n2))(フ ァ イ ル 名 )
ファイルのn1行からn2行まで表示,
n 2を省略すると最終行まで, n 1 , n 2とも 省 略 す れ ば , 全 て の 行 が 行 番 号 付 き で 表 示 さ れ
る。ファイル名陀ついては他の場合と同様。
メモリはOから 9まで 10個 あ り , ど の メ モ リ を 表 示 す る か をnで指定する。 ロを省略すると O が 選 釈 さ れ る 。 メ モ リ の 内 容 は 全 て 表 示 さ れ る 。 い ず れ の 場 合 も , 何 ら か のKEYを打つことによって表示は中止される。
3.4 コ マ ン ド フ ァ イ ル 実 行 機 能
エ デ ィ タ を 起 動 し , 編 集 を 行 っ て い る 途 中 で , 長 い コ マ ン ド 壱 打 ち 込 む 場 合 や , 同 じ コ マ ン ド を 繰 り 返 し た い 場 合 な ど に , フ ァ イ ル か ら コ マ ン ド 入 力 を 行 う こ と が で き るo
271
や り 方 は 簡 単 で , ー 担 , そ の コ マ ン ド 列 を 内 容 と す る 一 つ の フ ァ イ ル を 作 る 。 そ し て そ の フ ァ イ ル 名 の 先 頭 陀 記 号 "! "を付けて入力する。
!ファイル名 ( 9 )
す る と , エ デ ィ タ へ の コ マ ン ド は , 全 て , そ の フ ァ イ ル か ら 入 力 さ れ て 実 行 さ れ , フ ァ イ ル 中 の 全 て の コ マ ン ド を 実 行 し た 後 , ま た , キ ー ボ ー ド か ら の 入 力 持 ち に な る 。 コ マ ン ド フ ァ イ ル の 作 成 は 編 集 バ ッ フ ァ 巻 切 換 え て 行 っ て も よ い し , ま た , 現 在 編 集 中 の フ ァ イ ル の 最 後 か ら 最 初 ま で の ラ イ
ン の 外 側 で 作 っ て 書 出 し コ マ ン ド で , 名 前 を 付 け て 書 き 出 し , そ の 後 , そ の 行 を 消 去 す る な ど , 方 法はいくつか存在する。
4 ま と め
UNIX上 で 動 く ラ イ ン エ デ ィ タ を 改 良 し コ マ ン ド を 追 加 し て , 使 い 易 く し た 例 を 報 告 し た 。 追 加 し た お も な 機 能 は , 行 内 編 集 機 能 , 複 数 フ ァ イ ル 操 作 機 能 , 一 時 記 憶 機 能 , コ マ ン ド フ ァ イ ル 実 行 機 能 , 等 で あ る 。 大 形 コ ン ピ ュ ー タ のTS Sを 利 用 す る 際I[, 専 用 端 末 で は な く , 手 許 に あ る 使 い 慣 れ た マ イ コ ン や パ ソ コ ン を 使 い た い 場 合 が か な り あ る 。 そ ん な と き , 各 種 の ス ク リ ー ン 制 御 コ ー ド を 使 う ス ク リ ー ン エ デ ィ タ よ り も , 制 御 コ ー ド の 簡 単 な ラ イ ン エ デ ィ タ の ほ う が , 端 末 と し て 使 わ れ る 装 置 を 選 ば な い 。 そ の ラ イ ン エ デ ィ タ そ の も の を 改 良 し て 使 い 易 く す れ ば , 端 末 と し て の マ イ コ ン や パ ソ コ ン も そ れ な り に 用 途 が 拡 が る 乙 と に な り , ホ ス ト の 計 算 機 シ ス テ ム も 有 効 に 利 用 されることにもなる。現在, FORTRANとCで 書 か れ た こ つ の パ ー ジ ョ ン が 稼 動 し て い る 。
参 考 文 献
I) Brain W. Kernighan and P.J.P工auger "Software Too工s" ADDISON‑
WESLEY, 1981
(日本語訳 「ソフトウエア作法」木村 泉訳 共 立 出 版 )