[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

10. Meadow の基礎知識 (2003/11/24)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=basic%20knowledge"
"MeadowMemo/Meadowの基礎知識"へのコメント(無し)
検索全文Elisp


この章で紹介していること

ここでは, Meadow を使っていく上で最低限知っておくべきことを紹介します.



[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

10.1 Meadow を起動してみよう (2003/11/24)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=start%20meadow"
"MeadowMemo/Meadowを起動してみよう"へのコメント(無し)
検索全文Elisp
要約

モードラインには現在編集しているファイルの情報が表示されます.表示されるのは,読 み取り専用かどうかなどです.

モードラインとミニバッファ

インストールは終わりましたか? では,起動してみましょう.うまく何かの画面が出れば 問題ありません.

さて,少し用語の説明をします.

起動時の画面の下の方に

モードライン

のようなものがあります.この青色の部分が「モードライン」,その下の行が「ミニバッ ファ」と呼ばれます.

ミニバッファはファイルを開く時,文字を検索する時などにユーザの入力を受け付けたり, エラーを表示したりするのに使われます.

また,起動時には,上記のようなモードラインですが,ファイルを開くと,例えば

-S\--  text.txt         (Fundamental)--L30--All----------------------------

のようになります.

左から順に説明すると,「 S 」が文字コードを示しています.この例だと「 Shift_jis 」になっています.「--」は今開いているファイルなどが変更されていないことを現わし ています.これが,「**」となっていると変更されたことになります,読み込み専用のファ イルなら「%%」となり,変更後に読み込み専用に変えると「%*」になります.

「 text.txt 」はバッファ名 (以下で説明します) です.「 Fundamental 」は今のファ イルが「 Fundamental 」というモードになっていることを表しています. Meadow では このように,ファイルを開くと常に何らかのモードになります.これにより,例えばプロ グラムを書く時には色付けやオートインデントなど,そのファイルに最適な環境になりま す.

このように,モードラインには現在編集しているファイルに関する基本的な情報が表示さ れるのです.

余談ですが,このモードラインを右クリックで適当に突っつくと,これらの状態を変更で きます.



[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

10.2 代表的なキーバインド ― チュートリアルで基本操作を学ぶ (2003/11/24)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=use"
"MeadowMemo/代表的なキーバインド―チュートリアルで基本操作を学ぶ"へのコメント(無し)
検索全文Elisp
要約

チュートリアルで Meadow の基本的なキーバインドを学ぶことのできる.

キーバインドの練習方法

注意:C-x とは Ctrl キーを押しながら x を押すことを意味します. また, M-a とは ESC キーを押してから a を押す, または Alt キーを押しながら a を押すことを意 味しています.

Meadow はもともとが UNIX のソフトですので, 一般的な Windows のテキストエディタと は操作感が全く違います. よく使うキーは以下の通りです.

これらの基本的な操作は一度やってみることが大事です. Meadow のメニュー : Help → Emacs Tutrial を選ぶと, 基本的な操作が学べますので, Meadow や Mule, Emacs を触ったことがなければ一度やってみるといいでしょう.

チュートリアルでは

>>  では C-v (次の画面を見る) をタイプして次の画面に進んで下さい。
	(さあ、やってみましょう。コントロールキーを押しながら v です)
	以降、一画面を読み終えるたびに同様にして次の画面に読み進んで下さい。

前の画面と次の画面とでは、表示される内容に何行かの重なりがあります。こ
れは、表示されている内容が連続していることがすぐ判るようにするためです。

まずは、ファイルの中を移動して行く方法を知る必要があります。 C-v によっ
て先に進むことはもう判りました。元に戻るには、 M-v (メタキーを押しなが
ら v 、もしくは <ESC> を押して離して v) です。

>> M-v と C-v を使って、前後に移動することを何回か試して下さい。

という風に,実際に操作しながら練習することができます.

一応,頻繁に使うキーを挙げておきます.適当なファイルで試してみてください.

また,ファイル名やディレクトリ名はすべて入力しなくても Tab あるいは SPACE と入力すると一覧が出力されます. ファイルを開く時以外にも, TabSPACE を押すと, 候補が出てくることがあって, この補完が非常に便利で す. この補完機能は様々なところで使えますので,ミニバッファへカーソルが移動したら, とりあえず TAB を押してみましょう.



[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

10.3 変な動作をした時に ― 中止方法 (2003/11/24)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=c-g"
"MeadowMemo/変な動作をした時に―中止方法"へのコメント(無し)
検索全文Elisp
要約

暴走時にコマンドを中止させることができます.

Meadow で困った時には

設定がおかしかったり, Meadow にバグがあったりすると,動作が変になる時があります. 例えば,いつまで待っても文字を入力できないとかです.

こんな時には

とりあえず C-g

をしましょう.C-g は実行中のものを中止する機能です.そのため,これを実行す ると,例え実行途中でも処理が中止されます.

ということで,おかしいなと思った時には,迷わず C-g を押すということを覚え ておきましょう.



[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

10.4 コマンドの入力 (2003/11/24)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=m-x"
"MeadowMemo/コマンドの入力"へのコメント(無し)
検索全文Elisp
要約

Meadow ではコマンドにより様々な機能を実現しています.コマンドの実行方法は M-x コマ ンド名とします.

コマンドとは何か

Windows のソフトでは,メニューやツールバー,ショートカットキーなどを利用して,様々 な機能を実行します.

Meadow でも同じようにメニューで様々な機能を実行できます.この時,実行される機能は すべてコマンドといい, 1 つ 1 つに名前がついています.そして,その名前を直接呼ぶこと で,メニューを介さずにコマンドを実行できます.

コマンドの実行方法

コマンドを実行するために,使われるのが「 M-x 」です.これは「 ESC を押して から x 」あるいは「 ALT を押しながら x 」とします.

すると,ミニバッファへカーソルが移動します.ここで,「TAB」を押してみてく ださい.

そうすると,

Click <mouse-2> on a completion to select it.
In this buffer, type RET to select the completion near point.

Possible completions are:
2C-associate-buffer                2C-command
2C-split                           2C-two-columns
5x5                                5x5-crack
5x5-crack-mutating-best            5x5-crack-mutating-current
5x5-crack-randomly                 5x5-crack-xor-mutate
Buffer-menu-1-window               Buffer-menu-2-window
Buffer-menu-backup-unmark          Buffer-menu-bury
Buffer-menu-delete                 Buffer-menu-delete-backwards
Buffer-menu-execute                Buffer-menu-mark
Buffer-menu-mouse-select           Buffer-menu-not-modified

のように表示されます.これらが,すべて実行できる命令 (コマンド) なのです.

メニューで実行できるコマンドはこのうちの極一部にすぎません.

ま,ここでは,「 M-x 」でいろいろなコマンドを実行できるということを覚えておいて ください.

10.4.1 関数への引数 ― C-u (2003/11/24)  



[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

10.4.1 関数への引数 ― C-u (2003/11/24)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=about%20c-u"
"MeadowMemo/関数への引数―C-u"へのコメント(無し)
検索全文Elisp
要約

関数の中には C-u を使うと動作が変わるものがあります.これは引数があるかないかで コマンドの動作が変化するからです.

引数と C-u について

コマンドの中には引数を受け取ることのできるものがあります.例えば,C-u 10 下 カーソル とすると,カーソルは 10 行下に移動します.

この 10 が引数と呼ばれます.つまり,引数とはコマンドに対して与えられる何らかの情報 なのです.

そして, C-u は直後に続く数字を引数としてコマンドに与える役割を持っています.ただ し,C-u 下カーソル のように数字を入力しないと C-u 4 下カーソル と同 じ意味になります.さらに,C-u C-u 下カーソル と 2 回連続して入力すると, 4 × 4 で 16 を与えたことと同じ意味になります.

引数で変化するコマンド

引数で変化するコマンドには 2 種類のタイプがあります. 1 つは引数があるかないかで動作 が変わるタイプです.このタイプでは「引数があるかないか」しか見ていないので, C-u M-x コマンド名 とするだけで十分です.

このタイプの例として,M-x help-for-help i があります.このコマンドは C-uを入力してから, M-x help-for-help i とするとファイル名が指定でき ます. 他に C-x d も入力前に C-u とすると, ls の引数が指定できるよう になります.

2 つめのタイプは与えられる数字によって動作が変わるタイプです.このタイプでは必要 に応じて適当な数字を与える必要があります.

このタイプの例として,M-x hanoi があります.このコマンドは C-u 10 M-x hanoi とすれば, ハノイの塔が 10 段になります.

他にカーソル移動や文字の入力に関するコマンドもこのタイプであることが多いです.例 えば,C-u 100 aとすれば, a を 100 個入力できますし,C-u 10 C-bとすれ ば, 10 個カーソルを戻すこともできます. C-u 10 ←でも同じです.

この C-u は結構使いますので, 覚えておくと便利です.



[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

10.5 ファイルの編集 (2003/11/24)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=edit%20file"
"MeadowMemo/ファイルの編集"へのコメント(無し)
検索全文Elisp

要約

Meadow ではファイルを編集する時にも,新規に作成する時にも同じ流れで作業を行います. つまり,新規ファイルでも先にファイル名を入力する必要があるのです.

ファイルの編集

Meadow でファイルを編集する時には

ファイルを開く→編集する→保存する

という操作を行います.

これはファイルを新規に作成する場合でも変わりません.必ず最初にファイル名を入力す る必要があります.

ここが,普通のテキストエディタと異なるので,最初はとまどうかもしれません.



[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

10.6 バッファについて (2003/11/24)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=about%20buffer"
"MeadowMemo/バッファについて"へのコメント(無し)
検索全文Elisp
要約

ファイルを編集する際には,ファイルのコピーが取られます.ユーザはこのコピーを編集 し,保存するまで元ファイルは変化しません.このコピーがバッファと呼ばれます.

ファイルバッファ

バッファの説明図

この図を見てください. Meadow のウィンドウ外に「~/.emacs 」というファイルがあり ます.それを, Meadow で開いています.

そうすると, Meadow は「~/.emacs 」を編集するために,ある場所を用意します.それ がバッファと呼ばれます.

少し分かりにくいですね.そこで,「この文書を変更しなさい」と言われ,ある文書を渡 されたことをイメージしてみてください.そう言われたあなたはオリジナルをいきなり変 更しないでしょう.まず,コピーを取りそれを変更します.そして,変更したもので問題 なければオリジナルを置き換えることを考えるでしょう.

Meadow では,このコピーした文書にあたるものをバッファと言います.

したがって,

バッファ≠元のファイル

になります.そのため,バッファをいくら編集しても,元のファイルには一切影響ありま せん.保存して始めて編集が適用されるのです.つまり,「バッファはファイルに関連付 けられてはいるが,ファイルそのものではない」わけです.

ちなみに,ファイルを開いてできたバッファのように,ファイルに関連付けられたバッファ をファイルバッファと呼びます.

ファイルに関連付けられていないバッファ

次に右の方を見てください.「 M-x gnus 」というのがあります.これは, Meadow の拡 張機能の一つです.このように,拡張機能を実行してもバッファができます.

しかし,ファイルを開いたわけではないので,ファイルに関連付けられてはいません.

ファイルバッファだけでなく,このようにファイルに関連しないバッファもあります.

他にファイルに関連付けられていないバッファとしては,起動時のバッファ (*scratch* バッファ) などがあります.

カレントバッファ

現在,編集したり作業をしたりしているバッファのことをカレントバッファといいます.

特殊なバッファ

さらに,特殊なものとしてスペースで始まるバッファがあります.これらは通常ユーザが 見ることはなく,ソフトの一時的な作業領域として使われます.例えばメールソフトであ る gnus では pop や smtp との通信時に用いられています.これを見るには,C-x C-b の後でスペースを入力してから,TAB を押すと補完候補が出て,選択できま す.

ローカル変数とグローバル変数

上で挙げた画像を見ると「変数」というものがありますね. Meadow では多くの情報を変 数に設定して管理しています.

例えば「ファイル名」という変数があります.これは,「.emacs を編集するためのバッ ファ」では「.emacs 」になりますし,「 gnus を実行したバッファ」では「」 (何も入っ ていない) になっています.

このように,バッファによって値が変わる変数をローカル変数と呼びます (図で言うと, .emacs の中にある変数) .

一方, Meadow 全体で与えられる変数もあります.例えば, Meadow のバージョンです. これは,バッファが変わっても変わるわけがありませんね.

そういう変数では Meadow 全体で同じ変数の値が使われます.それが,グローバル変数で す.



[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

10.7 リージョンについて (2003/11/24)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=what%20region"
"MeadowMemo/リージョンについて"へのコメント(無し)
検索全文Elisp
要約

メモ帳ではマウスなどで範囲を選択できます.このような範囲を Meadow ではリージョンと 呼び,メモ帳などとは異なる方法で選択します.

リージョンの選択方法

メモ帳で範囲を選択した画面

メモ帳や Word などで文章を選択する時,上の画像のように範囲を選択すると思います. このように選択された領域のことを, Meadow ではリージョンと呼びます. Meadow では, このリージョンの選択をキーボードで行います.

その方法は,まず, C-SPC を押して, 今カーソルがある位置にマークをつけま す. そして, カーソルを移動させます. この時マークした点と今カーソルがある間のこと をリージョンになります.

この操作をしても見た目は全く変わりませんが,例えば C-w を押すとリージョン 内の文字が切り取られ,リージョンが選択できていることが確認できます.

リージョンの破棄は C-g で可能です.

このようにして, Meadow ではリージョンを設定し, コピーや切り取りなどを行います.

ちなみに Windows の C-a のような全範囲選択は C-x h でできます.



[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

10.8 Meadow で複数のファイルを編集する (2003/11/24)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=mdi%20sdi"
"MeadowMemo/Meadowで複数のファイルを編集する"へのコメント(無し)
検索全文Elisp
要約

Meadow で複数のファイルを開いても Meadow の画面は 1 個のままです.しかし,裏にはその ファイルが蓄えられ,編集される時を待っています.

複数のファイルを開いてみると

Meadow を起動し,ファイルをドラッグ・アンド・ドロップで Meadow 上にどんどん持っ ていってみてください.そうすると,ドラッグ・アンド・ドロップしたファイルが表示さ れますね.

そして,次のファイルをドラッグ・アンド・ドロップすると,次のファイルが表示され, 前のファイルは見えなくなってしまいます.

これは別に消えたわけではありません.C-x C-bとして見てください.ドラッグ・ アンド・ドロップしたファイルの一覧が表示されるはずです.

Meadow はこんな風に一つのフレーム (画面のこと) で複数のファイルを編集することがで きます.

以下は余談です.

ちなみに,このような操作ができるものを MDI と呼びます.例えば, Excel なども MDI アプリになります.

MDI の逆は SDI です.これは Word のように別のファイルを開くたびにウィンドウがで きるものです.



[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

10.9 ヘルプ (Info ファイル) の基本的な使い方 (2003/11/24)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=about%20help"
"MeadowMemo/ヘルプ(Infoファイル)の基本的な使い方"へのコメント(無し)
検索全文Elisp
要約

Meadow には様々なヘルプ機能があります.キーバインドからマニュアルまで様々です.

ヘルプを読む

Meadow のヘルプ機能を紹介します.これも Windows とは随分と違うので,最初はなかな か馴染めないと思いますが,慣れれば非常に便利です.

Meadow ではヘルプを見るために M-x help-for-helpとする必要があります.これ は面倒だし, Windows と揃えた方が分かりやすいので,.emacs に

 
(global-set-key [f1] 'help-for-help)

のように追加して,f1 でヘルプが見られるようにしておくと便利です.

これで,f1 i(あるいは M-x help-for-help iとすると, Meadow に附属の ヘルプを見ることができます.

SPCでスクロール, RETでリンク先へ, uで一つ上のノードへ, npで前後のノードへ, ぐらいを知っていれば便利に読むことができます.



[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

10.10 Meadow の設定方法 (2003/11/24)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=configuration"
"MeadowMemo/Meadowの設定方法"へのコメント(無し)
検索全文Elisp
要約

Meadow では変数に値を設定することで多くの設定を行います.そのために用いられるの が, setq というコマンドです.

値の設定

Meadow では Emacs Lisp を用いて設定を行います.設定は~/.emacs に追加していきます.

イメージとしては

Windows の設定画面と Elisp

といった感じでしょうか.つまり,

(setq debug-on-error t)

のような設定を~/.emacs にどんどん追加していくわけです.

どの変数にどの値を設定するかは,このページを参考に探してみてください.

ここではこんなイメージだけ持っておいてください.

ちなみに, setq に対して「説得」なんて漢字を使っている文書もあります. setq の機能を うまく表していて,分かりやすいかもしれません.


[ << ] [ >> ]           [表紙] [目次] [索引] [検索] [上端 / 下端] [?]