source: projects/Vine-manual/trunk/emacs-guide.xml @ 1762

Revision 1762, 52.8 KB checked in by iwaim, 14 years ago (diff)

emacs-guide: using footnote element in emacs-ime-list

Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
3"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
4<!--DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V5.0//EN" "http://www.oasis-open.org/docbook/xml/5.0/docbookx.dtd"-->
5<book id="emacs-guide" lang="ja">
6 <bookinfo>
7  <title>Emacs 利用ガイド</title>
8  <authorgroup>
9   <author>
10    <firstname>Munehiro</firstname>
11    <surname>Yamamoto</surname>
12   </author>
13   <editor>
14    <firstname>Masaharu</firstname>
15    <surname>Iwai</surname>
16   </editor>
17  </authorgroup>
18
19  <abstract>
20   <para>
21    Vine Linux 5.X の Emacs(以下、Emacs は GNU Emacs を指す)環境は、
22    Vine Linux 4.2 までのそれと比べて、大幅に変更されています。
23   </para>
24   <para>
25    このドキュメントは、新しく搭載された system-wide な設定および
26    vine-default を中心に解説します。
27   </para>
28  </abstract>
29 </bookinfo>
30
31 <chapter id="outline">
32  <title>Vine Linux 5.x の Emacs</title>
33   <para>
34    Vine Linux 5.X の Emacs は、
35    Vine Linux 4.2 など従来の Vine Linux のEmacs と比べて大幅に変更されました。
36    従来の Vine Linux では、システム全体での設定 (system-wide な設定) を
37    RPM パッケージに含まれている設定と異なるものにする場合、
38    その RPM パッケージがアップデートされるたびに修正する必要がありました。
39   </para>
40                 <para>
41    Vine Linux 5.0 で導入された仕組みにより、
42    個別の RPM パッケージに含まれている設定
43    (distribution-wide な設定) とシステム全体での設定 (system-wide な設定)
44    を別のファイルに記述するようになりました。
45    システム全体での設定 (system-wide な設定) を変更していた場合、
46    RPM パッケージをアップデートしても内容をそのまま保持するようになっています。
47   </para>
48   <para>
49    Vine Linux 5.X では、次の順で設定が読み込まれます。
50   </para>
51   <orderedlist>
52   <listitem><para>個別の RPM パッケージでの設定 (distribution-wide な設定)</para></listitem>
53   <listitem><para>システム全体での設定 (system-wide な設定)</para></listitem>
54   <listitem><para>ユーザごとの設定</para></listitem>
55  </orderedlist>
56                <para>
57   同一の設定項目について、それぞれで設定している場合は後から読み込まれる設定が有効となります。
58   また、システム全体での設定 (system-wide な設定) は
59   RPM パッケージのアップデートで置き換えられてしまうことはありません。
60   そのため、個別の RPM パッケージでの設定 (distribution-wide な設定) を
61   system-wide な設定で上書きすることが可能となっています。
62  </para>
63 </chapter>
64 <chapter id="system-wide">
65  <title>system-wide な設定</title>
66  <para>
67   Vine Linux 5.0 以降の Emacs では、
68   従来よりも、システム全体の設定 (system-wide な設定) をより記述しやすくなりました。
69  </para> 
70
71  <para>
72   system-wide な設定ファイルは、
73   Emacs のメジャーバージョンが XX の場合、
74   /etc/emacs/emacs-XX-local.el に配置されています。
75   Emacs-XX を起動したとき、もし /etc/emacs/emacs-XX-local.el が存在すれば、
76   site-start.el の一番最後に読み込まれます。
77   したがって、distribution-wide な設定よりも emacs-XX-local.el が優先されます。
78  </para>
79 </chapter>
80
81 <chapter id="vine-default">
82  <title>Vine Linux のデフォルト設定:vine-default</title>
83  <para>
84   Vine Linux の Emacs では、
85   Emacs 上で動作するアプリケーションの RPM パッケージに初期設定が含まれています。
86   そのため、
87   ユーザ初期設定ファイル <filename>~/.emacs.el</filename> に何も設定を記述しなくても、
88   そのアプリケーションがある程度使えるようになっています。
89   この Emacs における Vine Linux のデフォルト設定を
90   vine-default と呼んでいます。
91  </para>
92
93  <sect1>
94   <title>使い方</title>
95   <para>
96    vine-default は、/usr/share/emacs-23.x/site-lisp 以下に格納されています。
97    <itemizedlist>
98     <listitem>
99      <para>
100       vine-default-base.el:Emacs の基本的な設定
101      </para>
102     </listitem>
103     <listitem>
104      <para>
105       vine-default-faces.el:Emacs のフォントやカラーの設定
106      </para>
107     </listitem>
108     <listitem>
109      <para>
110       <emphasis>package</emphasis>/vine-default-package.el:<emphasis>package</emphasis> の設定
111      </para>
112     </listitem>
113    </itemizedlist>
114   </para>
115
116   <para>
117    Emacs を起動すると、
118    デフォルトで vine-default の boolean が t になっているので、
119    vine-default を読み込みます。
120   </para>
121
122   <para>
123    もし vine-default をすべて無効にしたい場合は、<filename>~/.emacs.el</filename> に
124    <screen>
125(setq vine-default nil)</screen>
126    を設定します。
127    この場合は、メニューバーと言語ロケール以外は何も設定されていません。
128   </para>
129
130   <para>
131    vine-default のうち、いくつかの設定を無効にすることができます。
132    各 vine-default は、vine-default-<emphasis>name</emphasis> の
133    boolean が定義されていて、
134    デフォルトでは t になっています。
135   </para>
136
137   <para>
138    例えば、
139    vine-default-base,
140    vine-default-faces,
141    vine-default-yatex,
142    vine-default-mew
143    を無効にしたい場合は、
144    <filename>~/.emacs.el</filename> に
145    <screen>
146(setq vine-default-base nil
147      vine-default-faces nil
148      vine-default-yatex nil
149      vine-default-mew nil
150    )</screen>
151    を設定します。
152   </para>
153
154   <para>
155    いくつかの Emacs Lisp パッケージのみを有効にしたいときは、
156    一旦すべての vine-default を無効にした上で、
157    いくつかの vine-default を有効にしてください。
158   </para>
159
160   <para>
161    例えば、
162    vine-default.yatex,
163    vine-default-tamago
164    のみを有効にしたい場合は、
165    <filename>~/.emacs.el</filename> に
166    <screen>
167(setq vine-default nil)
168(requires 'vine-default-yatex)
169(requires 'vine-default-tamago)</screen>
170    を設定します。
171   </para>
172  </sect1>
173
174  <sect1>
175   <title>設定されている vine-default の閲覧</title>
176
177   <para>
178    Emacs 上からインストールされている
179    elisp パッケージにあらかじめ設定されている
180    vine-default の設定を閲覧できます。
181   </para>
182
183   <para>
184    Emacs 上で
185    <screen>
186M-x show-vine-default</screen>
187    を実行すると、
188    起動している Emacs のバージョンに対応した
189    vine-default の設定を閲覧できます。
190   </para>
191  </sect1>
192
193  <sect1 id="advanced-usage">
194   <title>高度な使い方</title>
195
196   <para>   
197    vine-default での設定を上書きしたい場合はフックを使います。
198   </para>
199
200   <para>
201    例えば、vine-default で
202    set-frame-font には次のように「Monospace 12」が設定されていたとします。
203    <screen>
204(if window-system
205    (set-frame-font "Monospace 12"))</screen>
206    これを <filename>~/.emacs.el</filename> で変更したい場合は
207    after-vine-default-setup-hook をフックしてください。
208    <screen>
209(add-hook 'after-vine-default-setup-hook
210          (lambda ()
211            (if window-system
212                (set-frame-font "Monospace 10"))))</screen>
213   </para>
214
215   <para>
216    上記はあくまで一例として紹介しましたが、
217    フォントの設定を変更したい方は、現実的には、
218    vine-default-faces 自体を使わないと思われますので、<filename>~/.emacs.el</filename> に
219    <screen>
220(setq vine-default-faces nil)
221(unless vine-default-faces
222    (if window-system (set-frame-font "DejaVu Sans Mono 10")))</screen>
223    のように、
224    vine-default-faces を無効にしておいてフォントの設定をしても良いです。
225   </para>
226
227   <para>
228    また、各 vine-default で設定されていない項目についてはフックせずに、
229    そのまま <filename>~/.emacs.el</filename> に記述しても有効です。
230   </para>
231
232   <para>
233    vine-default で何が設定されているのかをよく理解していない場合は、
234    とりあえず after-vine-default-setup-hook
235    へフックしてしまっても問題ありません。
236   </para>
237
238   <para>
239    そのため、別のファイル .emacs-misc.el にまとめてしまい、
240    以下のようにして <filename>~/.emacs.el</filename> でフックして読み込ませてしまっても良いです。
241    <screen>
242(add-hook 'after-vine-default-setup-hook
243          (lambda ()
244            (load (expand-file-name "~/.emacs.misc.el") nil t nil)
245            ))</screen>
246   </para>
247
248   <para>
249    この仕組みの詳細については
250    <xref linkend="settings-under-vine-default"/>を参照してください。
251   </para>
252  </sect1>
253 
254  <sect1>
255   <title>IME</title>
256   <para>
257    Vine Linux の Emacs 上におけるデフォルトの IME は、
258    X 上におけるそれと連動して、<command>setime</command>コマンドなどで設定される環境変数 EMACS_IME で決定されます<footnote>
259                <para>Vine Linux 5 の初期設定では、各ユーザのホームディレクトリに作成される
260                <filename>~/.Xresources</filename><varname>Emacs*useXIM</varname>の値として
261                <literal>false</literal>が設定されているため、XIMは使われません。</para>
262                </footnote><footnote>
263                <para>Vine Linux 5 での初期設定では、tamago パッケージがインストールされている場合は
264                tamago の Anthy インタフェースが使われます。
265                tamago パッケージをインストールしていない場合は emacs パッケージに同梱されている
266                LEIM (Library of Emacs Input Method) が使われます。
267                LEIM では Vine Linux 5 標準のかな漢字変換システム Anthy を使いませんので、
268                変換効率が低くなってしまいます。</para>
269                </footnote>
270   </para>
271
272   <para>
273    環境変数 EMACS_IME と異なる IME を使いたい場合は、<filename>~/.emacs.el</filename> で
274                <varname>emacs-ime</varname> の値に指定してください。anthy-el パッケージに含まれる
275                <filename>anthy.el</filename> を使うときは次のように設定します<footnote>
276                <para>指定する値は<xref linkend="emacs-ime-list"/>を参照してください。</para>
277                </footnote>
278    <screen>
279(setq emacs-ime "anthy-el")</screen>
280   </para>
281  </sect1>
282
283  <sect1>
284   <title>Vine Linux 4 の .emacs.my.el</title>
285   <para>
286    Vine Linux 4.2 までの <filename>~/.emacs.el</filename> には、
287    ユーザ用初期化ファイル ~/.emacs.my.el があれば、
288    それを読み込む仕組みがありました。
289   </para>
290
291   <para>
292    Vine Linux 5.x では、vine-default に移行したため、
293    .emacs.my.el を読み込む仕組みは廃止しました。
294   </para>
295
296   <para>
297    もし過去の .emacs.my.el を流用したい場合は、
298    以下のように after-vine-default-setup-hook にフックして、
299    ~/.emacs.my.el を読み込ませることができます。
300    <screen>
301(add-hook 'after-vine-default-setup-hook
302          (lambda ()
303            (if (file-exists-p (expand-file-name "~/.emacs.my.el"))
304                (load (expand-file-name "~/.emacs.my.el") nil t nil))
305            ))</screen>
306   </para>
307
308   <para>
309    ただし、Emacs 23 と Emacs 22 以前は随分仕様が変わっているので、
310    Vine Linux 4の Emacs 22 などで使っていた
311    ~/.emacs.my.el をそのまま流用できるとは限りません。
312   </para>
313  </sect1>
314
315  <sect1>
316   <title>仕組み</title>
317   <para>
318    vine-default は、各デフォルト設定を読み込む *-init.el を、
319    vine-default-setup 内で読まれる
320    vine-default-setup-hook にひっかけて一旦ストックしておき、
321    after-init-hook にひっかけた vine-default-setup を実行することにより、
322    Vine Linux のデフォルト設定が読み込まれます。
323   </para>
324
325   <para>
326    具体的には、site-start.el と *-init.el
327    に以下のような関数とフックを定義しています。
328    <screen>
329;;; Emacs default settings for Vine Linux
330(defcustom emacs-ime (getenv "EMACS_IME")
331  "A variable of default Input Method Editor"
332  :type 'string)
333(if (null emacs-ime)
334    (setq emacs-ime "scim"))
335
336(defcustom vine-default t
337  "A boolean for all Vine Linux default settings"
338  :type 'boolean)
339(if (equal (getenv "LOGNAME") "root")
340    (setq vine-default nil))
341
342(defcustom vine-default-base t
343  "A boolean for vine-default-base"
344  :type 'boolean)
345
346(defcustom vine-default-faces t
347  "A boolean for vine-default-faces"
348  :type 'boolean)
349
350(defvar vine-default-setup-hook nil
351  "*List of functions to be called at vine-default-setup")
352
353(defvar after-vine-default-setup-hook nil
354  "*List of functions to be called at the end of vine-default-setup")
355
356(defun vine-default-setup ()
357  "a function for setup to default configurations of Vine Linux."
358  (if vine-default
359      (progn
360        (if vine-default-base (require 'vine-default-base))
361        (if vine-default-faces (require 'vine-default-faces))
362        (run-hooks 'vine-default-setup-hook)
363        (run-hooks 'after-vine-default-setup-hook)
364        )
365    )
366  )
367
368(add-hook 'after-init-hook 'vine-default-setup)
369;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
370
371(mapc 'load (directory-files "/etc/emacs-23.1/site-start.d" t "\\.el\\'"))</screen>
372   </para>
373
374   <para>
375    Emacs の関連パッケージに対しては、例えば YaTeX の場合は、
376    50yatex-init.el に以下のような設定を追加しています。
377    <screen>
378(defcustom vine-default-yatex t
379  "A boolean for vine-default-yatex"
380  :type 'boolean)
381
382(add-hook 'vine-default-setup-hook
383          (lambda()
384            (if vine-default-yatex
385                (require 'vine-default-yatex))))</screen>
386   </para>
387
388   <para>
389    vine-default-yatex.el には、
390    YaTeX のデフォルト設定を記述し、
391    (provide 'vine-default-yatex) を提供するようにします。
392   </para>
393  </sect1>
394
395  <sect1 id="settings-under-vine-default">
396   <title>vine-default の下での ~/.emacs.el の設定</title>
397
398   <para>
399    vine-default の下での Emacs の設定は、
400    大きくわけて以下の 3 つの設定パートに分かれています。
401   </para>
402   <para>
403    (a) vine-default
404   </para>
405   <para>
406    (b) vine-default が上書きしない設定
407   </para>
408   <para>
409    (c) vine-default が上書きする設定
410   </para>
411
412   <para>
413    (a) は <filename>~/.emacs.el</filename> を読み込んだ直後に、
414    /usr/share/emacs-23.x/site-lisp 以下の
415    vine-default-*.el を然るべき順序で読み込まれます。
416   </para>
417
418   <para>
419    (b), (c) は、必要であれば
420    <filename>~/.emacs.el</filename> に(あるいは、.emacs.el から読み込む別の *.el に)設定します。
421   </para>
422
423   <para>
424    (b) を直接 <filename>~/.emacs.el</filename> に設定して構いませんが、
425    (c) を直接 <filename>~/.emacs.el</filename> に設定していると、
426    (a) により vine-default が優先されてしまいます。
427   </para>
428
429   <para>
430    例えば、以下のように <filename>~/.emacs.el</filename> にフォントを設定していても、
431    後から読まれる vine-default-faces.el により
432    「Monospace 12」に上書きされていまいます。
433    <screen>
434(if window-system
435    (set-frame-font "Monospace 10"))</screen>
436    </para>
437
438    <para>
439     このような vine-default を上書きする設定は、
440     after-vine-default-setup-hook をひっかけます。
441     詳細は <xref linkend="advanced-usage"/> を参照してください。
442    </para>
443  </sect1>
444
445</chapter>
446
447        <chapter id="emacs-buffer">
448                <title>バッファ</title>
449                <para>Emacs では、編集中の文書はバッファと呼ばれるメモリ領域に読み込まれ、このバッファの内容に対して書き込みや修正を行います。ファイルに保存する命令を実行した時にはじめて、バッファの内容はディスク上のファイルに書き込まれます。</para>
450                <para>バッファの内容はウィンドウに表示されます。ウィンドウは複数用意することができ、そこに複数のバッファの内容や、同じバッファの違う部分を表示して編集を行うことができます。</para>
451                <para>バッファの編集状況等の情報は、ウィンドウの最下部のモードラインに表示されます。</para>
452               
453                <note><title>ウィンドウという言葉について</title>
454                        <para>一般的な「ウィンドウ」という言葉と、emacs での「ウィンドウ」は異なります。</para>
455                        <para>一般的なウィンドウは emacs ではフレームといい、一つのフレームの中を分割したものをウィンドウと呼びます。</para>
456                        <!--para>下の図では、フレームが一つで、ウィンドウが二つあります。</para>
457
458                        <figure id="emacs-frame-and-window">
459                                <title>emacsのフレームとウィンドウ</title>
460                                <graphic fileref="images/emacs-window.png" />
461                        </figure-->
462                </note>
463
464        </chapter>
465
466        <chapter id="emacs-entry">
467                <title>文字入力</title>
468                <para>ウィンドウにカーソルがある時、キーボードから入力した文字はカーソル位置に挿入され、カーソルが進みます。日本語を入力する時には、'C-\'で日本語切替えモードになります。 もう一度'C-\'を押すとアルファベットの入力モードに戻ります。</para>
469                <para>日本語入力システムについては、<ulink url="desktop-guide.html">デスクトップユーザーズガイド</ulink><ulink url="gnome-basic.html#input-ja">GUI環境での日本語入力</ulink>を参照して下さい。</para>
470
471                <para>TABキーを押すと行のインデントの調整となってしまい、TAB文字を入力出来ないことがあります。そのような時には、C-q TAB のように、C-q のあとでキーを押してください。</para>
472
473                <para>また、C-q C-j とすると、改行記号を入力できます。Enter キーの代わりに利用することで、<xref linkend="emacs-search" /> などの時に改行を含んだ文字列を扱うことができます。</para>
474        </chapter>
475       
476        <chapter id="emacs-cursol">
477                <title>カーソル移動</title>
478                <para>編集中のカーソルの移動は矢印キーの他、以下のようなキーで移動できます。</para>
479                <table id="keybind-for-move-cursor">
480                        <title>カーソル移動</title>
481                        <tgroup cols="2">
482                                <thead>
483                                        <row><entry>キー操作</entry><entry>意味</entry></row>
484                                </thead>
485                                <tbody>
486                                        <row><entry>C-b または ←</entry><entry>一文字左へ </entry></row>
487                                        <row><entry>C-f または →</entry><entry>一文字右へ</entry></row>
488                                        <row><entry>C-p または ↑</entry><entry>一文字上へ</entry></row>
489                                        <row><entry>C-n または ↓</entry><entry>一文字下へ</entry></row>
490                                        <row><entry>C-v または PgDn</entry><entry>次の画面に進む</entry></row>
491                                        <row><entry>M-v または PgUp</entry><entry>前の画面に戻る</entry></row>
492                                        <row><entry>C-d</entry><entry>カーソル位置の文字を削除</entry></row>
493                                        <row><entry>C-k</entry><entry>カーソル位置から行末までの文字を削除</entry></row>
494                                        <row><entry>C-e</entry><entry>行の一番右へ</entry></row>
495                                        <row><entry>C-a</entry><entry>行の一番左へ</entry></row>
496                                        <row><entry>M-f</entry><entry>一単語右へ</entry></row>
497                                        <row><entry>M-b</entry><entry>一単語左へ</entry></row>
498                                        <!--row><entry>M-g &lt;行番号&gt;</entry><entry>指定行へ移動 (xemacsのみ)</entry></row-->
499                                        <row><entry>M-x goto-line</entry><entry>指定行へ移動</entry></row>
500                                        <row><entry>C-space または C-@</entry><entry>現在のカーソル位置にマークをつけ記憶させる</entry></row>
501                                        <row><entry>C-x C-x</entry><entry>現在のカーソル位置にマークをつけ、前回マークをつけた位置まで戻る(繰り返すと二点を交互に行き来します)</entry></row>
502                                </tbody>
503                        </tgroup>
504                </table>
505        </chapter>
506
507        <chapter id="emacs-delete">
508                <title>文字削除</title>
509                <para>カーソル位置の文字の削除は C-d を用います。その他単語の削除や行末の削除等のキーもあります。</para>
510                <table id="keybind-for-delete-characters">
511                        <title>文字削除</title>
512                        <tgroup cols="2">
513                                <thead>
514                                        <row><entry>キー操作</entry><entry>意味</entry></row>
515                                </thead>
516                                <tbody>
517                                        <row><entry>C-d</entry><entry>カーソル位置の文字を削除</entry></row>
518                                        <row><entry>M-d</entry><entry>カーソル位置から一単語削除</entry></row>
519                                        <row><entry>C-k</entry><entry>カーソル位置から行末までの文字を削除</entry></row>
520                                        <row><entry>M-k</entry><entry>カーソル位置から文末までの文字を削除</entry></row>
521                                </tbody>
522                        </tgroup>
523                </table>
524        </chapter>
525
526        <chapter id="emacs-search">
527                <title>文字列検索・置換</title>
528                <para>カーソル行以降の文字列検索には、C-s を用います。C-s を入力するとミニバッファに
529                        <screen>I-search:</screen>
530                        と表示されるので、検索したい文字列を入力して下さい。検索の終了は C-g を押します。</para>
531                <para>一度入力した文字列を続けて検索したい時には、C-s を続けて2回押します。C-s の代わりに C-r を用いるとカーソル位置より前にある検索文字列を表示します。日本語の文字列を検索する場合<footnote><para>migemoという便利なツールがあります。<xref linkend="dot.emacs.my.el" />を参照してください。</para></footnote>は、C-sの後にEnterを押してから、C-\;でかな漢字変換モードにしてから入力して下さい。</para>
532                <para>確認付きの文字列の置換を行うには M-% を用います。M-% を入力すると
533                        <screen>Query-replace:</screen>
534                        とミニバッファに表示されますので、まず置換したい文字列を入力します。例えば, C言語プログラムでint を long にしたいときには、M-%の後に int と入力し、Enterキーを押します。ミニバッファの表示が以下のように代わるので、ここで long を入力し, Enterキーを押します。</para>
535                <screen>Query-replace int with: long</screen>
536                <para>置換する文字列 int があるとそこで、以下のように表示されます。</para>
537                <screen>Query-replace int with long: (? for help)</screen>
538                <para>ここで、スペースキーか'y'を押せば置換が行われ、'n'を押すと置換は行わず、次の候補に移動します。終了するときには、Enterキーか'q'を入力します。上に表示されている通り '?' を入力すればコマンドのリストが表示されます。</para>
539                <para>文字列の置換を確認なしに一括して行いたいときには、まず一括置換を開始したい場所にカーソルを移動し、M-x を押します。このとき、ミニバッファの表示は以下のようになります。</para>
540                <screen>M-x</screen>
541                <para>ここで、<userinput>replace-string</userinput> と入力し、<keycap>Enter</keycap>キーを押します。</para>
542                <screen>M-x replace-string</screen>
543                <para>その後は、確認のある場合の文字列置換の場合と同様に、置換のための文字列を入力すれば、一括置換が行われます。</para>
544                <para>emacs には replace-string の他、非常にたくさんのコマンドがあり、M-x は、このコマンドを入力するのに使われます。コマンドの名前はTabキーで補完しながら入力することができます。候補のコマンドが複数あるときには、候補一覧が表示されます。</para>
545                <table id="keybind-for-search-and-replace">
546                        <title>文字列検索・置換</title>
547                        <tgroup cols="2">
548                                <thead>
549                                        <row><entry>キー操作</entry><entry>意味</entry></row>
550                                </thead>
551                                <tbody>
552                                        <row><entry>C-s</entry><entry>文字検索 (カーソル行以降で検索)</entry></row>
553                                        <row><entry>C-r</entry><entry>文字検索 (カーソル行より前で検索)</entry></row>
554                                        <row><entry>M-%</entry><entry>文字列置換(確認あり)</entry></row>
555                                        <row><entry>M-x replace-string</entry><entry>文字列置換(確認なし)</entry></row>
556                                </tbody>
557                        </tgroup>
558                </table>
559        </chapter>
560
561        <chapter id="emacs-undo">
562                <title>アンドゥ (取消)</title>
563                <para>実行したコマンドを取り消して、バッファを元の状態に戻すには、C-x u (または C-_ )を用います。連続して C-x u を用いると、実行した回数だけ前の状態に戻ります。</para>
564                <table id="keybind-for-undo">
565                        <title>アンドゥ (取消)</title>
566                        <tgroup cols="2">
567                                <thead>
568                                        <row><entry>キー操作</entry><entry>意味</entry></row>
569                                </thead>
570                                <tbody>
571                                        <row><entry>C-x u または C-_</entry><entry>アンドゥ(実行したコマンドの取消)</entry></row>
572                                </tbody>
573                        </tgroup>
574                </table>
575        </chapter>
576
577        <chapter id="emacs-edit">
578                <title>カット/コピー/ペースト</title>
579                <para>編集中のバッファの一部分を別の場所にコピーするには以下のような手順で行います。</para>
580                <orderedlist>
581                        <listitem><para>コピーしたい部分の先頭にカーソルを移動します。</para></listitem>
582                        <listitem><para>C-Space (または C-@)を入力します(これで現在のカーソルの位置が記憶されます)。</para></listitem>
583                        <listitem><para>コピーしたい部分の終りまたは始めにカーソルを移動します。</para></listitem>
584                        <listitem><para>M-w を押す(これで先頭位置(C-Spaceを押した位置)からこの終りの部分までが記憶されます。この部分をリージョン(region:領域)と呼びます。)</para></listitem>
585                        <listitem><para>コピー先にカーソルを移動します。</para></listitem>
586                        <listitem><para>C-y を入力します。これでペースト(Emacsではyank(ヤンク)といいます)完了です。</para></listitem>
587                </orderedlist>
588                <para>一部分を削除したい時には、上のコピーの手続きで、M-w を入力するかわりに、C-w を入力すれば、設定したリージョンは削除され、記憶されます。</para>
589                <para>一部分を移動したい時には、上の手続きで削除を行った後、移動先へカーソルを持って行きコピーの場合と同様に C-y を入力すれば、記憶されているリージョンがそこに出力されます。</para>
590
591                <table id="keybind-for-kill-and-yank">
592                        <title>カット/コピー/ペースト</title>
593                        <tgroup cols="2">
594                                <thead>
595                                        <row><entry>キー操作</entry><entry>意味</entry></row>
596                                </thead>
597                                <tbody>
598                                        <row><entry>C-space または C-@</entry><entry>始点のマーク</entry></row>
599                                        <row><entry>M-w</entry><entry>始点から現在のカーソル位置までを記憶(コピー)</entry></row>
600                                        <row><entry>C-w</entry><entry>始点から現在のカーソル位置までを削除して記憶(カット)</entry></row>
601                                        <row><entry>C-y</entry><entry>記憶内容をカーソル位置に貼付け(ペースト)</entry></row>
602                                </tbody>
603                        </tgroup>
604                </table>
605        </chapter>
606
607        <chapter id="emacs-window">
608                <title>ウィンドウ操作</title>
609                <para>複数のファイルを編集する場合には、ウィンドウを複数開いて、各ウィンドウに、同じバッファの異なる位置を表示したり、複数のバッファを表示したりして編集することができます。</para>
610                <para>例えば C-x 2 を入力するとカーソルのあるウィンドウが上下2つに分割されます。もとの通り分割されたウィンドウを一つに戻すには、C-x 1 を入力すれば、カーソルのあるほうのウィンドウのみの表示になります。分割したウィンドウ間のカーソル移動には C-x o を用います。分割したウィンドウの境界はマウスでドラッグすれば移動することもできます。</para>
611                <para>また、C-x 5 2 を入力すると、新しいフレーム(参照<xref linkend="emacs-buffer" />)がつくられます。複数のフレーム間のカーソル移動には C-x 5 o を用います。</para>
612                <para>現在のウィンドウに表示するバッファを変更したい時には C-x b を入力すると, 以下のように表示されます。</para>
613                <screen>Switch to buffer: (default test.txt)</screen>
614                <para>ここで、ウィンドウに表示したいバッファ名を入力し、Enterキーを押せば表示バッファが切り替わります。ここで、候補のバッファの一つが上のように default の後ろに表示されます。この候補でよいときには単にEnterキーを押して下さい。</para>
615                <table id="keybind-for-window-and-frame">
616                        <title>ウィンドウ操作</title>
617                        <tgroup cols="2">
618                                <thead>
619                                        <row><entry>キー操作</entry><entry>意味</entry></row>
620                                </thead>
621                                <tbody>
622                                        <row><entry>C-x 2</entry><entry>ウィンドウを上下に分割</entry></row>
623                                        <row><entry>C-x 3</entry><entry>ウィンドウを左右に分割</entry></row>
624                                        <row><entry>C-x o</entry><entry>分割したウィンドウ間をカーソル移動</entry></row>
625                                        <row><entry>C-x 0</entry><entry>分割したウィンドウのうちカーソルのあるほうを閉じる</entry></row>
626                                        <row><entry>C-x 1</entry><entry>分割したウィンドウのうちカーソルの無いほうを閉じる</entry></row>
627                                        <row><entry>C-x +</entry><entry>分割したウィンドウの高さ、幅を均等にする</entry></row>
628                                        <row><entry>C-x 5 2</entry><entry>新しいフレームを開く</entry></row>
629                                        <row><entry>C-x 5 o</entry><entry>フレーム間でカーソル移動</entry></row>
630                                        <row><entry>C-x 5 0</entry><entry>カーソルのあるフレームを閉じる</entry></row>
631                                        <row><entry>C-x b</entry><entry>現在のウィンドウに表示するバッファを指定する</entry></row>
632                                </tbody>
633                        </tgroup>
634                </table>
635        </chapter>
636
637        <chapter id="emacs-filelist">
638                <title>ファイル一覧ウィンドウでの操作</title>
639                <para>C-x C-b で編集中のバッファの一覧が表示されます。この一覧表示をしてるウィンドウに C-x o で移動すると、各バッファについていろいな操作を行えます。カーソルの移動は、編集時と同様に C-n, C-p なども使えますが、この一覧表示のバッファでは単に n や p でも移動できます。</para>
640                <para>ウィンドウに表示したいバッファ名の位置にカーソルを移動し、1 を入力するとウィンドウにはそのバッファの内容が表示されます。その他、削除マークや保存マーク等をつけて、一括して削除や保存と言った作業も行えます。できる操作の一覧は「?」で表示されます。</para>
641                <table id="keybind-for-buffer-menu">
642                        <title>ファイル一覧ウィンドウでの操作</title>
643                        <tgroup cols="2">
644                                <thead>
645                                        <row><entry>キー操作</entry><entry>意味</entry></row>
646                                </thead>
647                                <tbody>
648                                        <row><entry>n</entry><entry>カーソルを次の行へ進める</entry></row>
649                                        <row><entry>p</entry><entry>カーソルを前の行へ戻す</entry></row>
650                                        <row><entry>1</entry><entry>カーソル行のバッファを現在のウィンドウいっぱいに表示する</entry></row>
651                                        <row><entry>f</entry><entry>カーソル行のバッファを現在のウィンドウに表示する</entry></row>
652                                        <row><entry>d</entry><entry>カーソル行のバッファに削除マークをつける</entry></row>
653                                        <row><entry>s</entry><entry>カーソル行のバッファに保存マークをつける</entry></row>
654                                        <row><entry>x</entry><entry>削除マークのあるバッファを削除し、保存マークのあるバッファをファイルに保存する</entry></row>
655                                        <row><entry>u</entry><entry>バッファについているマークを消します。</entry></row>
656                                </tbody>
657                        </tgroup>
658                </table>
659        </chapter>
660
661        <chapter id="emacs-customize">
662                <title>Emacs のカスタマイズについて</title>
663                <para>Emacs をカスタマイズしていくには、Emacs が持っているカスタマイズの仕組みを利用するのと、自分で設定ファイルに設定や関数などを書いていくという二つの方法があります。</para>
664
665                <!--para>Emacs,XEmacs の設定ファイルは <filename>~/.emacs</filename> で、そこから分岐して、Emacs では <filename>~/.emacs.el</filename> を、XEmacs では <filename>~/.xemacs/init.el</filename> を読み込むようになっています。</para-->
666                <para>Emacs の設定ファイルは <filename>~/.emacs</filename> でそこから<filename>~/.emacs.el</filename> を読み込むようになっています。</para>
667                <para>Emacs の設定ファイル<filename>~/.emacs.el</filename> は、さらに、さまざまなファイルを読み込むようになっています。</para>
668
669                <para>フォントや色の設定のために、<filename>~/.emacs-faces.el</filename> と <filename>~/.emacs-fontset.el</filename> を読み込んでいます。</para>
670
671                <para>Mew の設定のために、<filename>~/.mew.el</filename> を読み込んでいます。</para>
672                <para>Mew については、<ulink url="mew.html">メールクライアント Mew</ulink> を参照してください。</para>
673
674                <para>その他の設定のために、<filename>~/.emacs.my.el</filename> を読み込みます。</para>
675
676                <para><filename>~/.emacs.el</filename> , <filename>~/.emacs-faces.el</filename> , <filename>~/.emacs-fontset.el</filename> , <filename>~/.mew.el</filename> は、あらかじめ用意されているものを書き換える、といった方法でカスタマイズしていきます。</para>
677                <para><filename>~/.emacs.my.el</filename> は、用意されていません。自分で作成し、その他の設定や、関数の定義などを記述していきます。</para>
678
679                <sect1 id="utils-1-10-1">
680                        <title>設定ファイルに書き込んでいく場合 1</title>
681
682                        <example id="dot.emacs-faces.el">
683                                <title>Emacsのフォントの設定</title>
684
685                                <para>フォントの大きさの設定をするには、<filename>~/.emacs-faces.el</filename> を編集します。</para>
686                                <para>11行〜17行のところにフォントやウィンドウサイズの設定があります。(行頭の数字は説明のためにつけた行番号です。参照<ulink url="#emacs-filename-with-linenumber">行番号をあらかじめ指定してファイルを開く</ulink>)</para>
687                                <screen>11              (load "~/.emacs-fontset.el")
68812              (setq default-frame-alist
68913                    (append
69014                     '((font . "<emphasis><replaceable>fontset-14</replaceable></emphasis>") ;; デフォルトフォントセット
69115                       ;(width . 80) (height . 40) ;; ウィンドウサイズ
69216                       )
69317                     default-frame-alist))))</screen>
694                                <para>14行目の fontset-14 という部分の 14 のところを 10 12 14 16 18 20 22 24 の中から選ぶことができます。(これらは、<filename>~/.emacs-fontset.el</filename> の中で定義されています。)</para>
695                                <para>fontset-18にするには、次のようにします。</para>
696                                <screen>                     ;'((font . "<emphasis>fontset-14</emphasis>") ;; デフォルトフォントセット
697                     '((font . "<emphasis>fontset-18</emphasis>")</screen>
698                                <para>14行目の最初に ; をつけてコメント(無効)にします。そのあと、次の行に fontset-18 に書き換えた行を追加します。</para>
699
700                                <para>15行目のウィンドウサイズの設定の部分はコメント(無効)となっています。前回終了時のウィンドウサイズを記録しておく機能が GNOME などにはあるのでコメントのままでよいと思います。「;」をのぞいて有効にすると、毎回、起動時に指定したサイズに調整されるようになります。</para>
701
702                                <para>また、コンソールやGNOME端末内で起動する際には、同じファイル(<filename>~/.emacs-faces.el</filename>) の 54行〜58行の部分に設定があり、背景色と文字色の設定ができます。</para>
703                                <screen>54        (if (not window-system)
70455            (progn
70556              ;; 非X環境での色設定
70657              (set-face-background 'default "<emphasis><replaceable>000000</replaceable></emphasis>")
70758              (set-face-foreground 'default "<emphasis><replaceable>ffffff</replaceable></emphasis>")))</screen>
708                                <para>000000 や ffffff のところを必要に応じて書き換えてください。</para>
709
710                                <para>設定ファイルを書き換えたら、M-x eval-current-buffer と入力すると、現在開いているバッファ(設定ファイル)を評価することができます。文法のチェックや設定の適用などが行われるので、保存する前後で確認しておくと良いでしょう。</para>
711
712                        </example>
713                </sect1>
714
715                <sect1 id="utils-1-10-2">
716                        <title>設定ファイルに書き込んでいく場合 2</title>
717
718                        <para>設定や定義する関数などを、コメントと一緒に <filename>~/.emacs.my.el</filename> に記述していきます。</para>
719                        <para>Emacs を起動したら C-x C-f と入力し、ミニバッファーに Find file: と表示されたら ~/.emacs.my.el と入力し Enter キーを押してください。</para>
720                       
721                        <para>ブラウザなどで下の例をドラッグして選択(コピー)しておき、Emacs で C-y として yank(ペースト)します。</para>
722                        <para>注釈のために 6ヶ所、行末に 1から6までの数字がありますが、その数字は消してください。</para>
723                        <para>C-x C-s で保存します。</para>
724                       
725                        <example id="dot.emacs.my.el">
726                                <title>Emacs の設定ファイル ~/.emacs.my.el の例</title>
727
728                                <screen>;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; <co id="comment" />
729;;                       Time-stamp: &lt;&gt; <co id="time-stamp" />
730;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
731
732;; 設定の例
733
734;; 起動時に splash-screen を表示しないようにする。
735;; emacs --no-splash
736;; M-x display-splash-screen で表示。
737(setq inhibit-startup-message t) <co id="no-splash" />
738
739;; M-x shell での ls 等の color での表示のための設定
740(add-hook 'shell-mode-hook 'ansi-color-for-comint-mode-on)
741
742;; migemo を有効にする
743(load "migemo") <co id="load" />
744
745;; 複数のマーク地点 (C-Space,C-@) を利用するための設定 Emacs-22以上で利用可能
746;; C-x C-@ や C-x C-Space でさらに前のマーク地点にまで戻れる。
747(if (string-match "22." emacs-version)
748    (setq set-mark-command-repeat-pop t)
749  )
750
751;; 関数などのヘルプを参照した時に、
752;; lisp ファイルではなく Emacs自体のソースで定義されている場合に
753;; ソースを参照するための設定 Emacs-22以上で利用可能
754;; emacs の src.rpm をインストールし、rpmbuild -bp *spec まで実行しておく。
755;; 以下は root で emacs22-22.0.50-0.20060403vl2.src.rpm をインストールした場合のパス。
756(if (string-match "22." emacs-version)
757    (setq find-function-C-source-directory "/usr/src/vine/BUILD/emacs-22.0.50.20060403/src")
758  )
759
760;; 関数定義の例
761
762;; migemo の on/off 切替えと isearch-forward の実行 "\C-,"
763(defun my-search-toggle-migemo-isearch-forward () <co id="defun" />
764  "migemo-toggle-isearch-enable と isearch-forward の実行"
765  (interactive)
766  (migemo-toggle-isearch-enable)(isearch-forward)
767  )
768(global-set-key (kbd "C-,") 'my-search-toggle-migemo-isearch-forward) <co id="global-set-key" />
769
770;; migemo の on/off 切替えと isearch-backward の実行 "\C-."
771(defun my-search-toggle-migemo-isearch-backward ()
772  "migemo-toggle-isearch-enable と isearch-backward の実行"
773  (interactive)
774  (migemo-toggle-isearch-enable)(isearch-backward)
775  )
776(global-set-key (kbd "C-.") 'my-search-toggle-migemo-isearch-backward)
777
778;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
779;; Local Variables: <co id="local_variables" />
780;; mode: emacs-lisp
781;; encode: euc-jp-unix
782;; End:</screen>
783
784                                <calloutlist>
785                                        <callout arearefs="comment">
786                                                <para>Emacs の設定ファイルでは、「;」という文字があると、その行の ; 以降の部分はコメントとされ、無視されます。</para>
787                                        </callout>
788                                        <callout arearefs="time-stamp">
789                                                <para>Time-stamp: &lt;&gt; という部分は、ファイルを保存すると &lt;&gt; の部分に日時とユーザ名が入り、保存する度に自動的に更新されます。このファイル(<filename>~/.emacs.my.el</filename>)の更新日時を自動的に記録するというだけで、他のファイル等への影響はありません。</para>
790                                        </callout>
791                                        <callout arearefs="no-splash">
792                                                <para>(setq inhibit-startup-message t) という部分で、起動時の splash screen を表示しないようにしています。</para>
793                                                <para>これで、Emacs を起動した時に、すぐにファイルの内容が表示されるようになります。</para>
794                                                <para>Emacs で用いられている lisp という言語では、t と nil が 真(肯定) と 偽(否定) として用いられます。もともとは nil となっているものなので t の部分を nil と書き換えると、起動時に splash screen が表示されるようになります。</para>
795                                        </callout>
796                                        <callout arearefs="load">
797                                                <para>load というものを使って、migemo というものを読み込んでいます。</para>
798                                                <para>migemo は、ローマ字で入力すると日本語も検索<footnote><para>「tatoeba」と入力すると「tatoeba」という文字だけでなく、「たとえば」「タトエバ」「例えば」といったようなものも検索することができます。migemo というパッケージをインストールする必要があります。</para></footnote>できるツールで、load しておくと、C-s と C-r での検索時に migemo での検索が用いられるようになります。</para>
799                                        </callout>
800                                        <callout arearefs="defun">
801                                                <para>Emacs では defun というものを使って関数を定義することが出来ます。</para>
802                                                <para>ここでは migemo を用いた検索と、通常の検索を切り替え、切り替えた後に検索を開始するという関数 my-search-toggle-migemo-isearch-forward を定義しています。</para>
803                                        </callout>
804                                        <callout arearefs="global-set-key">
805                                                <para>ここでは、defun で定義した my-search-toggle-migemo-isearch-forward という関数に、global-set-key というものを使って C-, というキーバインドを割り当てています。</para>
806                                        </callout>
807                                        <callout arearefs="local_variables">
808                                                <para>ここには、このファイルの形式などの情報を書いておきます。</para>
809                                                <para>Local Variables: から End : までの部分は、このファイルを Emacs で開いたときに参照されます。</para>
810                                        </callout>
811                                </calloutlist>
812                        </example>
813                       
814                </sect1>
815
816                <sect1 id="utils-1-10-3">
817                        <title>Emacsが持っているカスタマイズの仕組みを利用する場合</title>
818
819                        <note>
820                                <para>設定ファイル<filename>~/.emacs.el</filename> <filename>~/.emacs-faces.el</filename> <filename>~/.mew.el</filename> などに書かれている項目を設定する場合は、設定ファイルを直接編集してください。</para>
821                        </note>
822
823                        <para>Emacs を起動して、M-x customize と入力すると<xref linkend="emacs-M-x-customize"/>のようなカスタマイズの画面になります。</para>
824
825                        <para>TABキーを押すことで、アンダーラインのある部分、ボタンになっている部分(Set for Current Session や Go to Group など)、文字の入力が可能な部分にカーソルが移動します。Shift+TAB でカーソルが逆方向(上)に移動します。Enterキーで選択、確定です。Finish を選択すると、閉じます。</para>
826
827                        <figure id="emacs-M-x-customize">
828                                <title>EmacsのCustomize画面</title>
829                                <graphic fileref="images/emacs-M-x-customize.png" />
830                        </figure>
831
832                        <para>ここで操作して設定した内容は、<filename>~/.emacs.el</filename> に書き込まれます。</para>
833                       
834                        <para>あらかじめ <filename>~/.emacs.el</filename> の最後のほうに次のように記述しておくと、設定を書き出す専用のファイルを用意することができます。</para>
835                       
836                        <screen>;; customize の出力先
837(setq custom-file "<filename>~/.emacs.my.custom.el</filename>")
838(if (file-exists-p (expand-file-name "~/.emacs.my.custom.el"))
839    (load (expand-file-name custom-file) t nil nil))</screen>
840               
841                        <para><filename>~/.emacs.my.custom.el</filename> は、用意されていませんので、自分で作成します。</para>
842               
843                        <para>次のようなファイルを作成しておくとよいでしょう。</para>
844                        <screen>;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
845;;                       Time-stamp: &lt;&gt;
846;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</screen>
847
848                        <para>Time-stamp などはなくてもいいです。空のファイルでもかまいません。</para>
849
850                        <para>なお、customize は、細分化されていて、M-x customize     の他に、M-x customize-face , M-x customize-group , M-x customize-variable などと様々なものがあります。M-x customize と入力して TABキーを押してみるとよいでしょう。</para>
851                       
852                        <example id="customize-variable">
853                                <title>Emacs の TAB の幅を設定する</title>
854                                <para>ここでは、M-x customize-variable を利用して TABの幅 を設定してみます。</para>
855                                <para>M-x customize-variable と入力し Enterキーを押します。(TABキーで補完ができます。M-x cus くらいまで入力したら TABキーをおしてみてください。M-x customize となるはずです。さらに -v と入力して TABキーを押すと M-x customize-variable と補完されると思います。)</para>
856                                <para>画面最下部のミニバッファに Customize variable: と表示されたら、tab-width と入力し Enterキーを押します。(これも TABキーで補完が出来ます。)</para>
857                               
858                                <para><xref linkend="emacs-M-x-customize-variable" />のように画面が切り替わります。
859
860                                <figure id="emacs-M-x-customize-variable">
861                                        <title>emacsの customize-variable の画面</title>
862                                        <graphic fileref="images/emacs-M-x-customize-variable.png" />
863                                </figure>
864        </para>
865
866                                <para>TABキーを押して、8 という数字が表示されているところまでカーソルを移動し、C-d で8という文字を削除し、数字を入力します。たとえば 4 とすると、TAB の幅が元の幅の半分になります。</para>
867                                <para><guibutton>Set for Current Session</guibutton> というボタンのところまで移動し、Enterキーを押すと、一時的に設定を有効にした状態になります。数値は保存されないので、次回起動時には元の値 8 にもどります。</para>
868                                <para><guibutton>Save for Future Sessions</guibutton> のボタンで Enterキーを押すと、この数値が、設定ファイルに書き込まれて保存され、次回 Emacs を起動した時に利用できるようになります。</para>
869                                <para><guibutton>Reset</guibutton> のボタンで、入力した数値がもとにもどります。</para>
870                                <para><guibutton>Reset to Saved</guibutton> のボタンで、前回保存した時の値にもどります。</para>
871                                <para><guibutton>Erase Customization</guibutton> のボタンで、設定した数値が取り消され、設定ファイルにあった記述も削除されます。</para>
872
873                                <para>数値を入力し、<guibutton>Set for Current Session</guibutton> のボタンを押してテストして、適当な値になるまで customize を行うという作業を繰り返して、それから <guibutton>Save for Future Sessions</guibutton> で保存するという作業をします。</para>
874                               
875                                <para>ここでは、<guibutton>Save for Future Sessions</guibutton> で保存してしまっていいと思います。</para>
876                               
877                                <para>保存したら、<guibutton>Finish</guibutton> のボタンをクリックします。M-&lt; でページの先頭まで戻ると早いです。</para>
878
879                                <para><guibutton>Save for Future Sessions</guibutton> で保存すると、customize の出力先として設定したファイル(<filename>~/.emacs.my.custom.el</filename>)に、設定していなければ <filename>~/.emacs.el</filename> に次のように書き込まれます。</para>
880
881                                <screen>(custom-set-variables
882  ;; custom-set-variables was added by Custom -- don't edit or cut/paste it!
883  ;; Your init file should contain only one such instance.
884 '(server-switch-hook (quote (raise-frame)))
885 '(tab-width 4))
886(custom-set-faces
887  ;; custom-set-faces was added by Custom -- don't edit or cut/paste it!
888  ;; Your init file should contain only one such instance.
889 )</screen>
890
891                                <para>don't edit or cut/paste it! と書かれているので、この設定値を変更する時には、直接編集するのではなく M-x customize などを使って再度設定するようにしてください。</para>
892                        </example>
893               
894                </sect1>
895
896        </chapter>
897
898 <appendix id="vine4-emacs">
899  <title>Vine Linux 4.2 の Emacs</title>
900   <para>
901    Vine Linux 4.2 の Emacs では、
902    Emacs Lisp の RPM パッケージに含まれていた site-start.el に
903    Emacs Lisp の設定を記述していました。
904    つまり、Vine Linux 5.0 以降でいう
905    「個別の RPM パッケージに含まれている設定 (distribution-wide な設定)」
906    と
907    「システム全体での設定 (system-wide な設定)」
908    が分離されていませんでした。
909    そのため、RPM パッケージで設定されている内容を変更するために
910    site-start.el ファイルを編集した場合、
911    RPM パッケージがアップデートされると再び設定を実施する必要がありました。
912   </para>
913   <para>
914    Vine Linux 5.0 以降では、
915    「distribution-wide な設定」
916    と
917    「system-wide な設定」
918    を分離することにより、この問題を解決しています。
919   </para>
920 </appendix>
921 <appendix id="emacs-ime-list">
922  <title>emacs-ime に設定できる値の一覧</title>
923  <para>
924   Vine Linux 5.x で emacs-ime に設定できる値は次の通りです。
925   ただし、現在はよく使われるもののみを記載しています。
926  </para>
927  <table frame="all">
928   <title>emacs-ime に設定できる値の一覧 (抜粋)</title>
929   <tgroup cols="3">
930    <thead>
931     <row>
932      <entry>使うIME</entry>
933      <entry>emacs-ime に設定する値</entry>
934      <entry>Vine Linux 5.x でのパッケージ名</entry>
935     </row>
936    </thead>
937    <tbody>
938     <row>
939      <entry>Anthy (japanese-egg-anthy) <footnote id="emacs-ime-list-leim"><para>LEIMを使用。</para></footnote></entry>
940      <entry>scim、SCIM、anthy、Anthy、egg-anthy、tamago-anthy</entry>
941      <entry>tamago パッケージ</entry>
942     </row>
943     <row>
944      <entry>Anthy (anthy-el)</entry>
945      <entry>anthy-el、Anthy-el</entry>
946      <entry>anthy-el パッケージ</entry>
947     </row>
948     <row>
949      <entry>SCIM</entry>
950      <entry>scim-bridge、scim-bridge-el</entry>
951      <entry>scim-bridge-el パッケージ</entry>
952     </row>
953     <!-- uim-el >= 1.6.0-2
954     <row>
955      <entry>UIM</entry>
956      <entry>uim、uim-el</entry>
957      <entry morerows="1">uim-el パッケージ</entry>
958     </row>
959     <row>
960      <entry>UIM (japanese-anthy-utf8-uim)<footnoteref linkend="emacs-ime-list-leim"/></entry>
961      <entry>uim-leim</entry>
962     </row>
963     -->
964     <row>
965      <entry>ibus</entry>
966      <entry>ibus-el、IBus-el</entry>
967      <entry>ibus-el パッケージ</entry>
968     </row>
969     <row>
970      <entry>SKK (Daredevil SKK)</entry>
971      <entry>skk</entry>
972      <entry>skk パッケージ</entry>
973     </row>
974     <row>
975      <entry>T-Code (tc2)</entry>
976      <entry>tc2、tc-el</entry>
977      <entry>tc-el パッケージ</entry>
978     </row>
979     <row>
980      <entry>ATOK</entry>
981      <entry>iiimecf、IIIMECF、atokx、atokx2、atokx3</entry>
982      <entry>IIIMECF パッケージ</entry>
983     </row>
984     <row>
985      <entry>Wnn、FreeWnn (japanese-egg-wnn)<footnoteref linkend="emacs-ime-list-leim"/></entry>
986      <entry>wnn、Wnn、wnn6、Wnn6、wnn8、Wnn8</entry>
987      <entry>tamago パッケージ</entry>
988     </row>
989     <row>
990      <entry>wnn ななたまご (Wnn7egg)</entry>
991      <entry>wnn7egg、wnn7、Wnn7</entry>
992      <entry>wnn7egg パッケージ</entry>
993     </row>
994    </tbody>
995   </tgroup>
996  </table>
997 </appendix>
998</book>
999
1000
Note: See TracBrowser for help on using the repository browser.