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

Revision 2071, 53.7 KB checked in by iwaim, 13 years ago (diff)

add mozc-el, enable uim-el

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