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

11. Meadow 関連の少し高度な知識 (2005/02/28)

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


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

高度といっても大したことはありません.基礎知識より少し進んだ知識を紹介していきま す.

この範囲ぐらいは常識として扱われるので,覚えておくといいでしょう.



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

11.1 文字コードと改行コード − Meadow での変換方法 (2004/01/19)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=charset"
"MeadowMemo/文字コードと改行コード−Meadowでの変換方法"へのコメント(無し)
検索全文Elisp

文字化けと改行が消える現象

文字化け画面

ブラウザなどで一度は目にしたことがあるでしょう.文字化けです.

改行が消えた画面

こちらは頻度が低いかもしれません.「,」の後にある「・」は本当なら改行なのです. しかし,メモ帳で開くと,改行が消え一行になってしまいました.

どうしてこんなことが起こるのでしょうか.

文字コードとは何か

英語だけを書くというならともかく,日本語を読み書きする上で避けては通れないのが文 字コードです.

パソコンの内部ではすべての情報は 2 進数 (0 と 1) で表されます.当然,日本語も 2 進数に変換されます.この変換をするために,すべての文字に番号がつけられています. この番号を文字コードといいます.

この文字コードは日本語と英語を共存させるために種々の方法が考えられてきました.そ の結果現在では,主に EUC , Shift-jis, JIS (ISO-2022-JP) という 3 種類の方法が使 われています.

一般に unix では EUC , Windows では Shift-jis と使い分けられています.さらに, 最近では Unicode という文字コードも使われるようになってきました.

このように,複数の文字コードがあるため,テキストエディタは正しく文字コードを判断 する必要があります.ここで,文字コードの判断を間違えると文字化けになるわけです.

さらに厄介なことに,改行を表すコード (番号) である改行コードも OS によって異なって います.例えば, Windows では CR/LF 改行, Mac では CR 改行, UNIX では LF 改行 とばらばらなのです.

このため, EUC に対応していないソフト (メモ帳など) で EUC のファイルを開くと文字 化けし, MAC のファイルをメモ帳で開くと改行が消えるわけです.

Meadow での文字コード変換方法

文字化けはデータの表示方法をソフトが間違っただけです.したがって,データそのもの が壊れたわけではありません.文字化けしたファイルも正しく文字コードや改行コードを 指定するとちゃんと読むことができます.

このためには,各種文字コードに対応し,文字コードや改行コードを指定できる機能が必 要になります. Meadow ならこれらすべの文字コードと改行コードを自由に指定できます。

実際の文字コードや改行コードの変更方法は以下のようになります.

.emacs に日本語の設定項目を書く時には, iso-2022-jp でないと文字化けしま すので,必ず文字コードを変更する必要があります.



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

11.2 Meadow の設定の仕方 (2004/01/20)

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

基本的な設定方法とその設定を有効にする方法について紹介します.

11.2.1 Emacs Lisp の設定とは (2004/01/20)  
11.2.2 パッケージを置くところ − ロードパス load-path (2004/01/20)  
11.2.3 設定ファイルの読み込み ― load, require, auto-load (2004/01/20)  
11.2.4 Emacs Lisp での設定方法 (2004/01/19)  



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

11.2.1 Emacs Lisp の設定とは (2004/01/20)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=emacs%20defun"
"MeadowMemo/EmacsLispの設定とは"へのコメント(無し)
検索全文Elisp

Meadow では様々な関数を M-x で実行できるということは既に紹介しました.

Meadow に標準で附属しているものであれば,何もしなくても M-x から実行できます.し かし,自分で後から入れるものではそうはいきません.

パソコンの中にどんな Elisp があるかなんて Meadow は知りようがないで すから,当然ですね.

そのため,外部の Emacs Lisp を導入する場合には, Meadow にその情報を教えてあげる 必要があります.

そのためには, Emacs Lisp の場合,大体以下のような流れで作業を行います (詳細は後で 述べます) .

それでは,上から順番に方法を紹介していきます.



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

11.2.2 パッケージを置くところ − ロードパス load-path (2004/01/20)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=load%20path"
"MeadowMemo/パッケージを置くところ−ロードパスload-path"へのコメント(無し)
検索全文Elisp

ロードパスの説明

まずは,入手した Emacs Lisp を適当なところへ置く必要があります.不適当なところへ 置くと, Meadow はそのファイルを探すことができず,エラーになってしまいます.

では,どこへ置けばいいのでしょう.

一言で言えば

ロードパスの通ったところへ置く

です.では,ロードパスとは何でしょうか.

例えば, Meadow に対して 「 namazu.el を読みこみなさい」という設定を追加した場合, いくつかのディレクトリの中に namazu.el というファイルがないかを探していきます.

この時,ファイルがないか検索するディレクトリの一覧のことをロードパスといいます.

デフォルトのロードパス

このロードパスはデフォルトでは

の各ディレクトリとそのサブディレクトリすべてになっています.

そのため,このフォルダの下にディレクトリを作れば, Meadow を再起動するとそのフォ ルダもロードパスに入り, Meadow はそのフォルダの中から, namazu.el というファイ ルを探し,読み込みます.

普通, Meadow/2.00/lisp は標準で付属しているもの, Meadow/2.00/site-lisp は Meadow のバージョンに依存するようなもの, Meadow/site-lisp がユーザがインストールするも の (バージョンに依存せず,共通で使われる) になっています.

したがって,新しい Emacs Lisp をダウンロードした時には, Meadow/site-lisp にディ レクトリを作り,そこに入れておけばいいでしょう.

ロードパスの追加

これらのディレクトリ以外に設定ファイルを入れたい時には,ロードパスの追加を追加す る必要があります.その方法は

 
(setq load-path
      (append
       (list (expand-file-name "~/mylisp")) load-path))

という設定を .emacs に追加します.

こんな風に適当なフォルダにロードパスを通し,自分の設定ファイルをまとめて置いても いいでしょう.

ただし,この設定でロードパスが通るのは ~/mylisp のみです.サブディレクトリにはロー ドパスが通りませんので,注意が必要です.



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

11.2.3 設定ファイルの読み込み ― load, require, auto-load (2004/01/20)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=load%20elisp"
"MeadowMemo/設定ファイルの読み込み―load,require,auto-load"へのコメント(無し)
検索全文Elisp

Emacs Lisp をロードパスの通ったところへ置いたら,それを Meadow に教えてあげる必要が あります.ここでは,その方法について紹介していきます.

load の説明

まずは最も単純なものです.それは,「 Emacs Lisp を読み込む設定」です.

コマンドは 2 つあり,「 load 」 と 「 load-library 」 です.名前は違いますが,ほぼ同じ ものです (load-library は M-x でも使えるという違いだけです) .

使い方は

 
(load "namazu")

のようにして使います. namazu に当たる部分を自分が読み込みたいファイルの名前に変え て (拡張子は不要) ,.emacs に追加すると,起動時に読み込まれます.

こうしておくと, namazu.elc があれば namazu.elc を, namazu.elc がなければ namazu.el を読み込んでくれます.

自分の設定ファイル (.emacs) を分割したい時にも使うことができます.設定を複数に分 けて,ロードパスの通ったところへ置き,

 
(load "my-gnus-config")

のように.emacs に追加すればいいわけです.ただし,ファイル名が重複していると,読み 込ませたいファイルを読み込ませることができません.ファイル名に my-をつけるなど工 夫が必要です.

この load は設定ファイル内に同じ設定が 2 箇所あれば 2 回同じファイルを読み込みま す.

require の説明

二つ目は require です.これは,

 
(require 'namazu)

として使います.基本的には load と同じですが,これは既に読み込まれていれば読み込 みません.だから,設定ファイル内に同じ設定が 2 回以上あっても読み込まれるのは 1 回のみです.ただし,

 
(provide 'namazu)

のような行がないファイルでは, require を使うことはできません.

公開されている Emacs Lisp の設定でよく使われます.

autoload の説明

三つ目は autoload です.これは

 
(autoload 'namazu "namazu" nil t)

のようにして使います.

こうしておくと, namazu.el の中に namazu という関数があるという情報のみが設定さ れます.

つまり,実際に読み込まれるのは M-x namazu とした時です.だから, Meadow を 起動後 1 度も使わなければ,そのファイルを読み込むことはありません.このため,余 計なファイルを読み込まずに済み,起動時間が短くて済みます.

ただし,中にはファイルを読み込まないと設定できないこともあります.その場合には, load や require に変える必要があります.

11.2.3.1 ファイルを読み込んだ時に設定 ― eval-after-load (2003/06/08)  



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

11.2.3.1 ファイルを読み込んだ時に設定 ― eval-after-load (2003/06/08)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=eval%20after%20load"
"MeadowMemo/ファイルを読み込んだ時に設定―eval-after-load"へのコメント(無し)
検索全文Elisp

ここは付録ですので,最初は分からなくても構いません.読み飛ばしてください.

autoload を使うと余計なファイルを読み込まずに済みますが,その変わり大幅な変更はで きなくなってしまいます.

そこで,ファイルを読み込んだ時に設定できると便利です.そのためのコマンドが 「 eval-after-load 」です.

 
(eval-after-load "mime"
  '(defadvice mime-entity-filename (after eword-decode-for-broken-MUA activate)
     "Decode encoded file name for BROKEN MUA."
     (when (stringp ad-return-value)
       (setq ad-return-value (my-mime-decode-filename ad-return-value)))))

のようにして使います.この例だと, mime.el が読み込まれた後に defadvice というコマン ドが実行されます.

もう一つ例を

 
(eval-after-load "re-builder"
  '(progn
     (set-face-foreground 'reb-match-0 "black")
     (set-face-foreground 'reb-match-1 "black")
     (set-face-foreground 'reb-match-2 "black")
     (set-face-foreground 'reb-match-3 "black")
     ))

こちらの方が分かりやすいでしょうか.

キーバインドの追加なども,この方法でできます.



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

11.2.4 Emacs Lisp での設定方法 (2004/01/19)

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

ファイルをロードパスの通ったところへ置き, Meadow に読み込ませる設定を書いたら,次 はいよいよ設定です.

setq の説明

頻繁に使うのは,変数の値を変更する setq です.これは,前に紹介しましたね.

 
(setq setting-variable t)
(setq setting-variable nil)

こんな風に使います. t が真 (yes) で nil が偽 (no) です.チェックボックスのイメー ジです.

さらに,

 
(setq setting-variable "test")

という風に文字列の代入や

 
(setq setting-variable 100)

のように数字の指定もできます.

そして,

 
(setq setting-variable '(1 2 5 8))

という風にリストも設定できます.

lisp の特徴はこのリストにあるんですが,最初のうちはこういう値のリストも設定でき るということだけ覚えておけばいいでしょう.

setq-default の説明

10.6 バッファについて (2003/11/24)でローカル変数とグローバル変数があることを説明しました.

グローバル変数であれば,特に気にすることなく,「 setq 」で設定できます.しかし,ロー カル変数の場合はそうはいきません.

例えば,タブ幅を設定する「 tab-width 」はローカル変数です.したがって,

 
(setq tab-width 4)

としても,意味がありません.なぜなら,ローカル変数とはそのバッファでのみ有効な変 数だからです.したがって,ローカル変数を設定しても,他のバッファでは有効になりま せん.

そこで,

 
(setq-default tab-width 4)

とします.こうすると,ローカル変数である「 tab-width 」のデフォルト値が「 4 」に変更 されます.これにより,新しくできるバッファでは「 tab-width 」が「 4 」になります.

このように,ローカル変数の場合,「 setq-default 」を使って設定することができます.

ただし,ローカル変数は他のコマンドなどが値を上書きして使うこともよくあります.そ こで,後で述べるフックを利用して設定することの方が多いです.

コメント

もう一つコメントも覚えておきましょう.覚えておくというほどのものでもないですが.

 
;(setq setting-variable t)

のように,設定の最初に「;」があるとその行はコメントになります.つまり,「;」以降 は無視されます.後から見て何の設定なのか分かるようにメモを書いておくと便利です.

ただし,「;」があれば常にコメントになるというわけではありません.

例えば

 
(setq setting-variable ";")

のように「""」で括られていれば,それは文字と見なされます.そのため,この場合には 最後の「"」がコメントにはならず,「 setting-variable 」に「;」という文字が代入さ れます.

長々と書いてしまいましたが,これらの設定方法と 12. モードとキーバインドの基礎と Elisp (2004/02/03) で紹介するフック, キーバインドの変更方法で基本的な設定は大体できるようになります.



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

11.3 再起動なしに設定を評価する (2004/01/20)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=when%20exe"
"MeadowMemo/再起動なしに設定を評価する"へのコメント(無し)
検索全文Elisp

.emacs に書いた設定は Meadow の起動時に読み込まれ, 設定が行われます. そのため, 起動後に設定を行ってもその設定は意味を持ちません. 設定を完了するためには, Meadow を再起動する必要があります.

これは面倒なので,再起動以外に設定を有効にする方法を紹介します.

ただし, 中にはこの方法ではうまく設定できない場合もありますので,その時には .emacs に書いて再起動をしてみてください.

11.3.1 *scratch* バッファを利用する (2004/01/20)  
11.3.2 eval-region, eval-buffer ― 設定を有効にする (2004/01/19)  



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

11.3.1 *scratch* バッファを利用する (2004/01/20)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=scratch%20buff"
"MeadowMemo/*scratch*バッファを利用する"へのコメント(無し)
検索全文Elisp

Meadow を起動した時, 表示されるバッファが *scratch* バッファです. この *scratch* バッファは便利で, 簡単に Lisp を評価することができます.

例えば *scratch* バッファに

 
(setq setting-variable t)

と書き, 行末でC-j を入力してみて下さい. すると

 
(setq setting-variable t)
t

という風に出力されたと思います. これは, setting-variable に t が代入されたことを 意味します.こんな風に *scratch* バッファを利用すれば,起動後の設定や Emacs Lisp の勉強をすることが出来ます.

ついでに,

 
(+ 1000 2000)

と入力して, 同じように C-j を入力してみてください. すると,

 
(+ 1000 2000)
3000

と出力されます. このように簡単な計算もできて,ちょっとした計算に便利です.

ちなみに,

 
(/ 1000 2000)
0
(/ 1000.0 2000)
0.5

のように,割り算など小数点を含む計算では「.0 」をつける必要があります.

11.3.1.1 *scratch*バッファの作成 (2004/01/19)  



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

11.3.1.1 *scratch*バッファの作成 (2004/01/19)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=make%20scratch"
"MeadowMemo/*scratch*バッファの作成"へのコメント(無し)
検索全文Elisp

*scratch* バッファの作り方です

これで完了です. C-j による評価などができるようになります.



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

11.3.2 eval-region, eval-buffer ― 設定を有効にする (2004/01/19)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=eval-region"
"MeadowMemo/eval-region,eval-buffer―設定を有効にする"へのコメント(無し)
検索全文Elisp

*scratch* バッファではなく,設定ファイルの任意の場所を評価したいのであれば, M-x eval-region が便利です. これは, リージョン間の設定を評価してくれま す.

さらに, バッファ全体を評価するのであれば, M-x eval-buffer あるいは M-x eval-current-buffer とします.これで,バッファ全体の設定が有効になりま す.ただし,中には 2 回以上設定するとエラーが出るものもあります.

また,M-x eval-defun とすると,今現在カーソルがある付近の関数や変数設定の みを有効にすることができます. emacs-lisp モードなら M-C-x にバインドされ ています.



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

11.4 様々なヘルプ (2005/02/28)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=related%20help"
"MeadowMemo/様々なヘルプ"へのコメント(無し)
検索全文Elisp

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

ヘルプは頻繁に使うので

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

のように.emacs に追加して,f1 でヘルプが見られるようにしておくと便利です. 以降では,この設定があるものとしています.

11.4.1 ヘルプ機能 ― help-for-help (2005/02/28)  
11.4.2 info を読む − Meadow のヘルプファイル (2003/06/06)  



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

11.4.1 ヘルプ機能 ― help-for-help (2005/02/28)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=help-for-help"
"MeadowMemo/ヘルプ機能―help-for-help"へのコメント(無し)
検索全文Elisp

Emacs/Meadow では,M-x help-for-help という関数でヘルプにアクセスすること ができるようになっています.

実行すると,利用できるヘルプ機能の一覧と,それを実行するためのキーが表示されます. ここで,表示されたキーを入力すると,指定した情報を見ることができます.

例えば,以下のように表示されます.

You have typed, the help character.  Type a Help option:
(Use SPC or DEL to scroll through this text.  Type q to exit the Help command.)

a  command-apropos.  Give a substring, and see a list of commands
    (functions that are interactively callable) that contain
    that substring.  See also the  apropos  command.
b  describe-bindings.  Display table of all key bindings.

これから,例えば,M-x help-for-help RET b と入力すると, 「describe-bindings」という関数が実行され,「Display table of all key bindings.(すべてのキーバインドを一覧表示する)」ことができると分かります.

利用できるヘルプを以下で紹介します.

キーバインドを調べる

M-x help-for-help b(あるいは[f1] b) とします.そうすると,

Key translations:
key             binding
---             -------

C-x             Prefix Command

C-x 8           iso-transl-ctl-x-8-map

Major Mode Bindings:
key             binding
---             -------

C-x             Prefix Command
ESC             Prefix Command
"               texinfo-insert-quote
C-c             Prefix Command
TAB             indent-relative

のようにキーバインドと対応するコマンドの一覧を出力してくれます.

これを参考にしながら,実際に操作してみると,意外な機能が見つかったりします.

また,M-x help-for-help[f1] に割り当ててあると,C-x [f1] と すると, C-x で始まるキーバインドを表示してくれます.C-c [f1]でも同じことが できます.空いているキーを探す時に便利です.

あるキーに割り当てられているコマンドを知る

M-x help-for-help c(あるいは[f1] c) とした後で,適当なキーを入力しま す.そうすると,ミニバッファに割り当てられているコマンドの名前が表示されます.

M-x help-for-help k(あるいは[f1] k) とした後で,適当なキーを入力する と,もっと詳しく表示されます.

コマンドがどのキーに割り当てられているかを知る

M-x help-for-help w(あるいは[f1] w) とした後で,コマンド名を入力しま す.

チュートリアル

M-x help-for-help t(あるいは[f1] t) とします.

ヘルプの表示

M-x help-for-help i(あるいは[f1] i) とします.

これは 10.9 ヘルプ (Info ファイル) の基本的な使い方 (2003/11/24) で既に説明しました.

コマンドの説明を読む

M-x help-for-help f(あるいは[f1] f) の後で,コマンド名を入力します.

キーバインドの割り当て一覧を表示したものの,何なのか分からない時などに使うといい でしょう.多くの場合,英語で説明が表示されます.

コマンド名を断片的にしか覚えていない時には,M-x help-for-help a(あるいは [f1] a) の後で,コマンド名の一部を入力します.

そうすると,その文字を含むコマンドが表示されます.ここで,適当なコマンドにカーソ ルを合わせRETを入力すると,その詳細が表示されます.

また,コマンドの詳細を表示しているバッファではファイル名がアンダーラインがついた リンクになっていて,定義されているファイルへ飛ぶことができます.実際にどのファイ ルでどういう風に定義されているのかを簡単に知ることができます.

変数の説明と値を知る

M-x help-for-help v(あるいは[f1] v) の後で,変数名を入力します.

Meadow では変数に値を設定することで,設定します.しかし, Emnacs Lisp によっては その値を変えてしまうことがあります.

設定したのにどうも効いていないようだ.という時に,確認するのに使います.

現在のバッファの説明を見る

M-x help-for-help m(あるいは[f1] m) とします.

そうすると、例えば以下のように表示されます。

Summary of minor modes:
  Auto Fill minor mode (indicator Fill):
  Encoded-Kbd minor mode (no indicator):
  Font-Lock minor mode (no indicator):
  Global-Font-Lock minor mode (no indicator):
  Line-Number minor mode (no indicator):
  Menu-Bar minor mode (no indicator):
  Mouse-Wheel minor mode (no indicator):
  Msb minor mode (no indicator):
  Transient-Mark minor mode (no indicator):

(Full information about these minor modes
follows the description of the major mode.)

Texinfo mode:
Major mode for editing Texinfo files.

  It has these extra commands:
key             binding
---             -------

ESC             Prefix Command
"               texinfo-insert-quote
C-c             Prefix Command

先頭に下線が引かれた部分があります.ここが,現在のバッファにおけるマイナーモード の一覧です.ここで,RET とすると,そのマイナーモードの説明へ移動できます.

バッファをスクロールしていくと,メジャーモードから順番に,利用できるキーバインド などが表示されます.

最近入力したキーを表示する

M-x help-for-help l(あるいは[f1] l) とします.



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

11.4.2 info を読む − Meadow のヘルプファイル (2003/06/06)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=info%20info"
"MeadowMemo/infoを読む−Meadowのヘルプファイル"へのコメント(無し)
検索全文Elisp

インターネット上でパッケージを入手したりすると, texi という拡張子のファイル, あ るいは info という拡張子のファイル (加えて info-1, info-2, , , がある場合もあり ます) が一緒に入ってる場合があります. これが, ヘルプファイルです. 中にはそのソフ トの使い方や設定方法等が書いてあるため, 非常に重要なファイルですので,困ったら, とりあえずこれを読みましょう.

しかし,読み方が分からないと読むことができません.テキストファイルなので, エディ タで開いても読むことができますが,正しい方法で読むともっと便利に読むことができま す.

info の読み方

info という拡張子になっていたら,読むのは簡単です.C-u M-x help-for-help i に続けてファイル名を入力するだけです.

texi を info に変換する

拡張子が texi ファイルの場合は少し厄介で, info ファイルへ変換する必要があります. 変換の方法は, Meadow によりファイルを開き, M-x texi2info と入力します. す ると, info ファイルを作ってくれます. 後は保存すれば, info ファイルができあがり ます.

dir ファイルへ info を追加

また,毎回ファイル名を入力するのが面倒なら, dir に追加すると便利です.

まず, info ファイルをすべて, Meadow をインストールしたディレクトリの中にある info ディレクトリに移します.

そして, そのディレクトリ内の dir を開きます (私の環境では e:/usr/Meadow2/1.99a6/info/dir にあります). すると, 英語で色んなことが書かれてい ると思います. 例えば以下の様に書かれています.

 
* RefTeX: (reftex).        Emacs support for LaTeX cross-references and citations.
* Widget: (widget).     Documenting the "widget" package used by the
                          Emacs Custom facility.

ここへ, 仮に my-elisp.info, my-elisp.info-1, my-elisp.info-2, my-elisp.info-3 を info ディレクトリに移したとすると,

 
* RefTeX: (reftex).        Emacs support for LaTeX cross-references and citations.
* Widget: (widget).     Documenting the "widget" package used by the
                          Emacs Custom facility.
* myinfo: (my-elisp).   Elisp memo.

という風に追加します. ここで,追加する文字は, my-elisp.info の先頭に書かれてま すので,それをそのままコピーすればいいです.

こうしておくと, M-x help-for-help iで出てくる画面に myinfo が追加され, そ こから辿ることができるようになります.

ただ,これだと Meadow をバージョンアップしたりすると上書きされてしまいます.そこ で,適当なフォルダに個人用の info ファイルを置いておき,そこに dir ファイルを作 成しておきます.

この dir ファイルは, e:/usr/Meadow2/1.99a6/info/dir をもとに作成しておきます. 作り方は, e:/usr/Meadow2/1.99a6/info/dir の

* Menu: The list of major topics begins on the next line.

以降をばっさりとカットして,個人の info ファイルの情報を上記を参考に追加していき ます.

そして,.emacs に

 
(setq Info-directory-list
      (append
       Info-default-directory-list
       (list
        (expand-file-name "~/info")
        (expand-file-name "~/info/gnus-ja")
        "e:/unix/Meadow2/1.99a4/info/"
        )
       ))

という風に dir ファイルのあるディレクトリを追加します.その後, Meadow を再起動 してから,M-x help-for-help i で info を表示すると,作成した dir ファイル の内容が追加されているはずです.

11.4.2.1 他のドキュメント − 設定方法の探し方 (2003/05/30)  



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

11.4.2.1 他のドキュメント − 設定方法の探し方 (2003/05/30)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=search%20info"
"MeadowMemo/他のドキュメント−設定方法の探し方"へのコメント(無し)
検索全文Elisp

ある程度,ソフトが使える人と使えない人との差はドキュメントを探すことができるかど うかです.どこに何が書いてあるのか.それさえ分かれば,頼れる上級者になることがで きます.私はまだまだですが,,,

参考になる info

Meadow の場合,ほとんどのドキュメントは info ファイルにあります. Emacs 関連の info ファイルとしては, GNU Emacs マニュアルなどがあります.これは gnujdocに含まれています.

Emacs Lisp 内の情報

そして, Emacs Lisp ファイルの先頭にもコメントとして多くの情報が書かれています. ここに設定や注意事項が書かれてることも非常に多いので,新しいものを入れたりした時 には一度見てみるといいでしょう.

さらに,*-vars.el というファイルも参考になることが多いです.このファイルには重要 な変数がまとめられていることが多く,設定に必要な変数が簡単に分かります.

ChangeLog

それ以外の物としては, ChangeLog があります.これはプログラムの作成者がファイル を変更した時に書くもので,変更点が分かるようになっています. lisp ディレクトリ内 などにあります.この関数あったはずなのになぁという時に見るといいです.

Meadow で設定を探す方法

Meadow の機能を利用する方法もあります.M-x customize とすると,カテゴリ別 に様々な設定が出てきますので,これをもとに探していくと意外な設定が見つかったりし ます.これだと,.emacs を編集しなくても,簡単に設定ができます.ただし, .emacs に同じ項目の設定があると,.emacs の後ろに書かれた方のみが有効になります.

ある程度,設定する範囲が絞れているのならば,M-x customize-aproposM-x apropos として,キーワードを入力します.そうすると,その単語を含む設定 項目を探し出してくれます.例えば,リージョン関連の設定を探すなら,「 region 」と 入力すると,「 region 」を含む設定項目を表示してくれます.

ただし,起動直後などであまりファイルが読み込まれていない状態でやっても,あまり設 定項目が出てこないかもしれません.そういう場合には,自分が設定したいものを普通に 使ってから,もう一度やってみるとたくさん出てくるようになります.

また,M-x customize-apropos は全部出るまでに少し時間がかかりますので, M-x apropos である程度絞ってからM-x customize-apropos をするのがお勧 めです.

他に,M-x customize-variable と入力してから,TAB を押し,補完候補を 眺めたりといったことも参考になるでしょう.同じように,f1 v TABも参考になり ます.

これ以外にも,いろいろと設定に関する関数は用意されていますので,M-x customize- TABM-x apropos- TAB として出てくる関数をいろいろと試してみ てください.いろいろと使っていくうちに少しずつ分かってくると思います.

その他のドキュメント

他に, etc ディレクトリ内の News や ONEWS , PROBLEMS , emacs.1 ,コマンドメモ など参考になるドキュメントもあります.まぁ,普段見る必要はあまりありませんが.

中でも必読なのは, etc 内にある celibacy.1 , condom.1 , sex.6 , JOKES です. ファイル名から分かるかもしれませんが,単なるジョークです.



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

11.5 unix のインストール流儀など (2004/02/03)

URL="http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=setup%20in%20unix"
"MeadowMemo/unixのインストール流儀など"へのコメント(無し)
検索全文Elisp

Unix では Windows とはインストールのやり方がことなります. Windows しか使っていない と分からないと思いますので,代表的なインストール方法を紹介します.

当然ですが,これはあくまでも基本です.個別には, Readme などの附属ドキュメントを 参照してください.

Emacs lisp に関しては,これらの方法でうまくいかなくてもロードパスの通ったところ へコピーしてしまえばほとんどは動きます.だから,うまくいかなければコピーしてしま えばいいでしょう.


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