emaCS 入門 % % (diary-parasha) Mar 8 , 1993 のように、その日の年月日か記入されますが、 ・毎週土曜日はバックアップの日 ・毎月 1 日はフルダンプの日 毎年 4 月 1 日はェイプリルフールの日 のように、特定の曜日、特定の日を記入することもできま す。上から順に対応するコマンドと記入されるエントリを 並べると、 特定の年月日 i nsert-di ary-entry 毎週同し曜日 insert-weekly-diary-entry 毎月同じ日 insert-monthly-diary-entry 毎年同じ月日 insert-yearly-diary-entry です。また、図 31 は 1993 年 4 月 1 日にカーソルがある状 態で、上の 4 つのコマンドを順に実行したときの diary バ ッフアの内容です。 予定表のエントリを記入する diary-entry 、 monthly- entry 、 yearly-entry にはユダヤ暦版とイスラム暦版もあ ります。表 8 を見ると、 ユダヤ暦 insert-X X X -hebrew-diary-entry イスラム暦 insert-X X X -islamic-diary-entry となっています。 insert ー xxx コマンドで自動的に日付を記入する代わ りに、表 9 の呪文を直接 diary バッフアに書き込んでも大 丈夫です。 図引予定表の記入形式の例 Apr 1 , 1993 Thursday Apr 1 128 表 9 組込みの日付の指定形式の一覧 omer ) %%(diary-rosh—hodesh) %%(diary-yahrzeit MONTH DAY YEAR) text phases—of—moon) sunnse—sunset) %%(diary-julian-date) astro—day—number) %%(diary-hebrew-date) islamic—date) %%(diary-french—date) iso—date) %%(diary-day-of—year) %%(diary-cyclic N MONTH DAY YEAR) text %%(diary-anniversary MONTH DAY YEAR) text %%(diary-block MI DI YI M2 D2 (2) text % % (diary-float MONTH DAYNAME N) text % % (diary- %%(diary- %%(diary- %%(diary- %%(diary- %%(diary- UNIX MAGAZINE 1993.5 M—x mark-diary-entries を入力するか、 一番簡単なのは、 * Calendar ヾッフアで mark の、 最後に予定表の調べ方を説明しましよう。 をあとから調べられないと、予定表の意味がありません。 この日は何か予定が入っていたか 予定表に記入する方法は分かりましたが、 予定の表示 をじっくり読んでください。 って指定する方法もあります。興味のある方は diary. el 表 9 に示した組込みの日伺指定以外にも、自分で関数を作 う。必要になったときに自分で調べてください。さらに 表 9 に示した指定の意味は、皆さんへの宿題にしましよ ・ insert-block-diary ・ insert-cyclic-diary-entry ・ msert—anniversary—diary—entry バッフアに自動的に記入されます。 については、それぞれ以下のコマンドを実行すれは diary %%(diary—block MI DI YI M2 D2 (2) text %%(diary-cyclic N MONTH DAY YEAR) text % % (diary-anniversary MONTH DAY YEAR) text
emacs 入門 I/A\v,/ the calendar 図 30 insert-diary-entry コマンドは diary バッフアに年月日を記入 For a complete description, type C—h m from vithin Ca1endar Mode : 図 29 describe-mode が表示する Help メッセージ ( 一部 ) 1 describe—calendar—mode Prefix Command Prefix Command show—all—diary—entries viev—diary—entries mark—diary—entries c a1 endar—unmark V スケジューノレ calendar は、カレンダーを表示するだけではありませ ん。もう 1 つの特技、スケジュール管理があります。おお っと、正確にはスケジュールを管理するのは人間なので、 ゞ予定表に記入したり、予定表を見たりするための機能が 備わっています〃 ですね。 予定の記入 ない予定は表示できません。スケジュール機能を知るに は、まず予定の記入から始めましよう。 表 8 は予定を記入するコマンドの一覧です。なにやらたく さんありますが、ふだんは insert-diary-entry さえ知っ ていれば大丈夫。 *Calendar* バッフアで insert diary の、 第 1 , ーい - ! に第新「 跖 r 山 1 四 3 四 31 21 22 23 24 % 27 14 15 16 17 18 19 ? 8 9 10 11 12 13 1 2 3 4 5 6 S M Tu k Th F S 「、 il 1933 S Tu k Th F S 1 2 3 4 5 6 7 8 910 11 12 13 14 15 16 17 18 19 20 21 刀 23 24 26 27 囲四 30 ド 1993 T 朝上ト物に 1 . 31 幻 24 27 四 16 17 18 19 20 21 刀 9 10 11 12 13 14 15 2 3 4 5 6 7 8 1 S Tu Th F S を叩くか、 insert-diary-entry コマンドを実行してくださ い。カレンダー上のカーソル位置の日付が、 diary バッファ に書き込まれていれは成功です ( 図 30 ) 。日付に続けて予定 を書き込んでください。システムの都合上、 1 カラム目は 日付しか記入できません。内容を 1 カラム目には書かない でください。カーソルが diary バッフアにある状態で、別 の日の予定を書くには、 C-c d を叩いてください。新しい 工ントリがもう 1 つ diary バッフアに作られます。 insert-diary-entry コマンドなら、 id 表 8 予定を記入するコマンド コマンド insert-diary-entry ( id ) insert-weekly-diary-entry (iw) insert-monthly-diary-entry (im insert-yearly-diary-entry (iy) insert-hebrew-diary-entry (ihd) insert-monthly-hebrew-diary-entry (ihm ) insert-yearly-hebrew-diary-entry ( ihy) insert-islamic-diary-entry (iid) insert-monthly-islamic-diary-entry ( iim) insert-yearly-islamic-diary-entry (iiy) insert-anniversary-diary-entry (ia) insert-block-diary-entry (ib) insert-cyclic-diary-entry ( ic) UNIX MAGAZINE 1993.5 処理 年月日の記入 曜日の記入 日の記入 月日の記入 特定の範囲の年月日の記入 記念日の記入 イスラム暦で月日の記入 イスラム暦で日の記入 イスラム暦で年月日の記入 ユダヤ暦で月日の記入 ユダヤ暦で日の記入 ユダヤ暦で年月日の記入 特定の年月日からのⅡ日ごとの指定の記入 127
emacs 入門 henkan-quit (C-c 、 C-g 、く DEL>) henkan—inspect—bunsetu (M-i) diced-mode のコマント M-X edit—dict—item M-x diced—add (a) M-x diced-quit (q) M-x diced-delete (d) M-x diced—undelete (u) M-x diced—execute (x) M-x diced—next—line ( Ⅱ、 C-n) M-x diced—scroll—dovn (M-V) M-x diced—end—of—buffer (M->) calendar のコマ、 M-x calendar M-x calendar M-x calendar M-x calendar M-x calendar M-X calendar 、 1- x calendar M-x calendar M- x calendar M-x calendar M-X calendar M-X calendar M-x calendar 、 x calendar M-x calendar M-X c alendar 、 1- x calendar M-x calendar M-x calendar M-X calendar M-x calendar M-x calendar M-x calendar M- X M—X M-x c alendar —other—month ( 0 ) —current—month (c) -exchange-point-and-mark (C-x C-x) —count—days—region (M-=) -set-mark (C-@) —print—day—of-year (pd) —end—of—year (M->) -beginning-of-year ()- く ) -backward-year (C-x [ ) -forward-year (C-x ] ) —end—of—month (M-e) -beginning-of-month (M-a) —backward-month (M-{) -forvard-month (M-}) —end—of—veek (C-e) -beginning-of-veek (C-a) —backvard—veek (C-p) —f orvard—ve ek (C-n) -backward-day (C-b) -forward-day (C-f) ー ca1 endar ー ca1 endar -holidays (x) —goto—mayan—long—count—date (gml) —goto—islamic—date (gi) M-x calendar-goto—astro—day—number (ga) -goto-date (gd) M-x calendar—goto—hebrev—date (gh) M-X calendar—goto—french—date (gf) 、 1- x calendar—goto—iso—date (gc) M-x calendar—goto¯julian¯date (gj) M-x mark—calendar 132 M-x insert-yearly-diary-entry (iy) M-x insert—monthly—diary—entry (im 、 1- x insert—weekly—diary—entry (iw M-x insert—diary—entry (id) スケシュールのコマンド M-X exit—calendar (q) M-X describe—calendar—mode ( ? ) M-X calendar—phases—of—moon (M) M-X calendar—sunrise¯sunset (S) M-x list—calendar—holidays (a) M-x holidays M-X calendar—cursor—holidays ( 五 ) M-x calendar—unmark ( Ⅱ ) henkan-mode を終了して fence-mode に移行 文節の変換情報の表示 diced-mode へ移行 単語の登録 diced-mode の終了 登録済みの単語に削除マークを付ける 単語の削除マークを取り消す 単語の削除を実行 カーソルを 1 行下へ移動 画面を下へスクロール バッフアの最後へカーソルを移動 カレンダーの起動 米国型カレンダーに切替え ヨーロッパ型カレンダーに切替え 翌日へ移動 前日へ移動 翌週の同じ曜日に移動 前週の同じ曜日に移動 その週の日曜日に移動 その週の土曜日に移動 翌月に移動 前月に移動 その月の 1 日に移動 その月の末日に移動 翌年に移動 前年に移動 その年の元旦に移動 その年の大みそかに移動 元旦からの日数とその年の残りの日数を表示 カレンダーにマークを付ける マークとカーソルのあいだの日数を計算 マークとカーソルを取り替える きようの日付に移動 指定した月を表示 指定した日に移動 ュリウス暦で指定した日に移動 ISO 暦で指定した日に移動 天文暦で指定した日に移動 革命暦で指定した日に移動 イスラム暦で指定した日に移動 ユダヤ暦で指定した日に移動 マヤ暦で指定した日に移動 祝日を表示 祝日 / スケジュールのマークを消去 指定した日が祝日かどうかを表示 3 カ月ぶんの祝日を表示 3 カ月ぶんの祝日を表示 日の出 / 日の入り時刻を表示 月の満ち欠けの情報を表示 カレンダーモードの説明 カレンダーモードの終了 年月日の記入 曜日の記入 日の記入 月日の記入 UNIX MÄGAZINE 1993.5
emaCS 入門 図カレンダーの表示 calendar. el cal-french. el cal—mayan. el holidays. el diary. el diary-insert. el lunar. el solar. el Mag 1993 M 容、山 1 四 3 April 1 四 3 S M Tu k Th F S S M Tu H Th F S S MTu kTh F S 1 2 3 4 5 6 1 2 3 4 5 6 7 8 7 8 9 10 11 12 13 4 5 6 7 8 910 ・ 9 10 11 12 13 14 15 14 15 16 17 18 19 20 11 12 13 14 15 16 17 16 17 18 19 20 21 21 22 24 % 27 18 19 20 21 23 24 24 四 28 四 四 31 26 27 四 31 - い 1 にト物を 1 と texinfo で書かれたドキュメント、 calendar. texinfo を手に入れてください。入手方法はいつものごとく、 ・知合いにもらう が一番簡単ですが、あなたの環境に応して臨機応変に対応 March 1993 「、 il 1993 してください。 S Tu Th F S S Tu Th F S 1 2 3 4 5 6 4 5 6 7 8 910 7 8 9 10 11 12 13 14 15 16 17 18 19 20 11 12 13 14 15 16 17 ・ WEnet から入手 21 23 24 新 26 刀 18 19 20 21 22 24 囲四 31 28 四 ・近くの ftp サイトから入手 れてしまうはすです ( 図 15 ) 。一見しただけでは Nemacs また、 Reingold さんも最新版をメールと ftp で提供し 標準のカレンダーが起動したのか、 PDS のカレンダーが ています。メールサーピスを利用する場合には、宛先と 起動したのか判断しづらいですね。でも、モード行の表示 Subject フィールドを次のように指定してください。 がまったく違います。 TO : reingold@emr. cs . uiuc . edu PDS のカレンダー・プログラムを入手したにもかかわら Subj ect : send¯emacs—cal す、 Nemacs 標準のカレンダーが起動してしまった方は、 次に示す手段を用いて PDS のカレンダーを起動してくだ また、 ftp で入手する場合のアドレスとディレクトリを下 に示します。 ・ load-file コマンドで calendar. el をロードする。 アドレス : emr. cs. muc. edu ・ load-library コマンドで calendar. el をロードする。 ディレクトリ : /pub/emacs/calendar/ ・初期化ファイル /. emacs に aut 。 1 。 ad 設定を書く。 カレンダーの起動 calend . el がホームディレクトリ / にあるときは、 カレンダーを起動するには、 M—x load—file -,/calendar . el Load file : M—x calendar を実行してからカレンダーを起動してください。 を実行します。図 14 のような * Calendar * バッフアが現 また、 calendar. el が Emacs Lisp 変数 load-path に れて、きようの日付を中心に前後合わせて 3 カ月ぶんのカ 設定されたディレクトリにあるときは、 load ー file コマン レンダーが表示されます。 ドの代わりに、 でも、あなたの環境で calendar コマンドを実行して も、おそらくは Nemacs 標準カレンダーのはうが起動さ 図 Nemacs 標準のカレンダー :1_17.-1 朝に新 : を 1 ロ r いーー当 1 ーー ーい一に乢ィ : 18 四 LL ー囲 物 6 8 四 3 図 5 1 4 Ⅱ絽 一 1 1 っ 4 2 9 8 り」 : 11 ニ蔔 : に「 0 UNIX MAGAZINE 1993.5 118
を叩いて henkan-quit を実行しましよう。 に戻って、 ーこのかいしやは回とかいがあらそうですこと一 fence¯mode ernacs 入門 /へ、し / N ・番号 を表示するコマンドです。変換途中の文章が、 ー子の会社は人使いが荒そうです子と一 と表示されましたね。それしゃあ、文字列を修正してから もう 1 度変換しなおしてください。 henkan—inspect—bunsetu henkan-inspect-bunsetu は、 る単語の、 ロロⅱロ ・辞書名 第 1 文節 : 変換中の文節を構成す 1 2 3 4 5 6 ならば、文節の数は 6 個です。それぞれの文節で、 うに表示されます。 を入力してこのコマンドを実行すると、エコー行に次のよ M—i 第 2 文節 : 第 3 文節 : 第 4 文節 : 第 5 文節 : 第 6 文節 : 「子」 ( 品詞名詞辞書 : kihon. dic 番号 : 10004 頻度 . 16 ) + 「の」 「会社」 ( 品詞 : 名詞辞書 : kihon. dic 番号 . 17165 頻度 . 1 ) + 「は」 「人」 ( 品詞 . 名詞辞書 : kihon. dic 番号 . 14520 頻度 . 3 ) + 「」 「使い」 ( 品詞・接尾語辞書 : setsuji. dic 番号 . 19 頻度 . 1 ) 十「が」 「荒」 ( 品詞形容詞語幹辞書 : kihon. dic 番号 . 17961 頻度 : 3 ) 十「そうです」 「子」 ( 品詞 . 名詞辞書 :kihon. dic 番号 : 10004 頻度 . 16 ) 十「と」 これを見れは、 Wnn がどのように解釈したかを知るこ とができますね。でも、品詞か分かったからといって、ど う役立てればいいのかは謎です。 普通の文字 毎回 henkan-kakutei コマンドで、「はい、確疋」って お墨付きを必要とするやり方が気に入らなければ、もっと お手軽な確定方法もあります。変換が成功した時点で、そ のまま続けて次の文章の入力をしてください。 たとえば、 henkan-mode で、 ー子の会社は人使いが荒そうです子と一 と表示された状態で a を入力してみてください。いままで のフェンスが外れて、 子の会社は人使いが荒そうです子とーあー のように、新たな文字列がフェンスで囲まれ、 fence-mode UNIX MAGAZINE 1993.5 に移ります。 いったい何を入力すれは次の fence-mode に入るのか、 その仕組みを説明しておきましよう。 henkan-mode では a や b のような普通のアルファベ ットのキーは、 M—x henkan-kakutei-and-self-insert コマンドにバインドされています。これまた長い名前のコ マンドですねえ。でも、このコマンドの働きは読んで字の ごとく、 1. 変換を確定してから、 2. 打ったキーをそのまま入力 という簡単なものです。このコマンドにバインドされてい るキーはすべて、アルファベットのキーと同し動作をします。 diced-mode でできること お待たせの diced-mode です。 diced-mode は辞書に 登録された単語を表示したり、新しい単語を辞書に登録す 109
M-X zenkaku—region M-x zenkaku—paragraph zenkaku—sentence M-X zenkaku—vord roma—kana—regl 0 Ⅱ M-x roma—kana-paragraph roma—kana—sentence M-X roma—ka11J 土ーて egxo Ⅱ (start end) M-x roma-kanj i-paragraph roma—kanj i—sentence M- x dump— egg—mode¯map set—egg—fence—mode—format set—vnn—host—name close—vn.n M- x henkan—reg ion M- x henkan-paragraph henkan— S ent ence set—egg—henkan—mode—format 、 1- x henkan—he 1p— command toroku—reglon 、 1- x special—symbol—input 、 4- X 、 1- x 、 1- x 、 1- X henkan—fence—region (C-@, C- く SPC> 、 C-w) henkan—fence—regxon—or—single—space ( く SPC>) fence—transpose—chars (C-t) fence—kill—line (C-k) fence—backward—delete—char ( く DEL>) fence—delete—char (C-d) fence—beginning—of-line C-a) fence—end—of—line (C-e) f enc e —backward—char ( C-b) fence—forvard—char (C-f) fence-mode のコマンド henkan-mode のコマント fence-toggle-egg-mode ()- l) fence—exit—mode ( C -1 、 C-m) fence-cancel-input (C-c 、 C-g) fence—zenkaku (M->) fence—hankaku ()- く ) f enc e—kat akana ( M-k) fence-hiragana (M-h) j is-code-input (C--) henkan henkan henkan henkan henkan henkan henkan henkan henkan henkan henkan henkan henkan henkan henkan —forward—bunsetu (C-f) —backward—buns etu (C-b) —last—bunsetu (C-e) —first—bunsetu (C-a) —bunsetu—chij ime (C-i) —bunsetu—nobasi (C-O) —saishou—bunsetu ()- く ) —saichou—bunsetu (M->) —ne xt —kouho ( く SPC> 、 C-@ -previous-kouho (C-p) -select—kouho (M-S) -hiragana ( M-h) -katakana (M-k) -kakutei ( C -1 、 C-m) —kakutei—before—point (C-k) henkan—kakutei—and—self—insert UNIX MAGAZINE 1993.5 emacs 入門 //\ノ N リージョンの半角文字を全角文字にする 段落の半角文字を全角文字にする 文の半角文字を全角文字にする 単語の半角文字を全角文字にする リージョンのローマ字をかなに変換 段落のローマ字をかなに変換 文のローマ字をかなに変換 リージョンのローマ字を漢字に変換 段落のローマ字を漢字に変換 文のローマ字を漢字に変換 roma-kana モードマップをファイルへ書き込む fence-mode の表示属性の指定 ホスト名の設定 強制的にサーバーとの接続を切る サーバー接続時に辞書情報を保存しその後接続を切る リージョンをかな漢字変換 段落をかな漢字変換 文をかな漢字変換 henkan-mode の表示属性の指定 henkan-mode の説明を *He1p* ウインドウに表示 リージョンの単語の登録 記号などの入力 直後の文字へ移動 直前の文字へ移動 行末へ移動 行頭へ移動 1 文字削除 直前の 1 文字の削除 行末まで削除 直前の文字と入替え 変換または空白を 1 文字入力 変換 JIS コード入力 ひらがなに変換 カタカナに変換 半角アルファベットに変換 全角アルファベットに変換 入力の取消し 入力をバッフアにコピーして fence - m 。 de を終了 無変換状態へ遷移 直後の文節に移動 直前の文節に移動 最後の文節に移動 最初の文節に移動 カーソルのある文節を 1 文字縮める カーソルのある文節を 1 文字ぶん伸ばす カーソルのある文節を 1 文字の文節にする カーソルの文節から入力文字列の最後までを 1 文節にする 次の候補を表示 1 つ前の候補を表示 変換候補の一覧表示 ひらがなに変換 カタカナに変換 確定 直前の文節までを確定 確定し次の文字を入力 131