source: projects/vine-emacs-guide/trunk/help/vine-emacs-guide.xml @ 5992

Revision 5992, 65.0 KB checked in by munepi, 12 years ago (diff)

vine-default への変更、emacs24 の記述を更新

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    このドキュメントは、Vine Linux 5 以降に新しく搭載された
26    system-wide な設定および Vine Linux のデフォルト設定を中心に、
27    Vine Linux 6 の Emacs 環境を解説します。
28   </para>
29  </abstract>
30 </bookinfo>
31
32 <chapter id="emacs-basic">
33   <title>Emacs を始めよう!</title>
34   <para>
35     Emacs の起動画面を使いながら、Emacs の基本事項や基本操作を説明します。
36   </para>
37
38   <note>
39     <para>
40       とくに断りがないかぎり、本ガイドの Emacs は、
41       Emacs-23.3 を用いているものとします。
42       Emacs-24.0.93 を利用する場合には、適切に読み替えてください。
43     </para>
44   </note>
45
46   <sect1 id="emacs-install">
47     <title>Emacs をインストール</title>
48     <para>
49       Vine Linux 6 の Emacs は、
50       Emacs-23.3 と Emacs-24.0.93 が用意されています。
51       Emacs-23.3, Emacs-24.0.93 は、
52       それぞれ emacs, emacs24 パッケージをインストールすることで、
53       利用できます。
54       <itemizedlist>
55         <listitem>
56           <para>
57             Emacs-23.3
58             <screen>$ sudo apt-get install emacs</screen>
59           </para>
60         </listitem>
61         <listitem>
62           <para>
63             Emacs-24.0.93
64             <screen>$ sudo apt-get install emacs24</screen>
65           </para>
66         </listitem>
67       </itemizedlist>
68     </para>
69   </sect1>
70
71   <sect1 id="emacs-startup-screenshot">
72     <title>Emacs を起動</title>
73     <para>
74       ToDo: Emacs 23.X の起動画面をスクリーンショットする。
75       メニューからバッファ、ミニバッファなどの説明を図説する。
76     </para>
77
78     <figure id="fig-emacs-splashscreen">
79       <title>Emacsの起動画面</title>
80       <graphic fileref="figures/emacs-splashscreen.png" />
81     </figure>
82
83   </sect1>
84   
85   <sect1 id="emacs-buffer">
86     <title>バッファ</title>
87     <para>Emacs では、編集中の文書はバッファと呼ばれるメモリ領域に読み込まれ、このバッファの内容に対して書き込みや修正を行います。ファイルに保存する命令を実行した時にはじめて、バッファの内容はディスク上のファイルに書き込まれます。</para>
88     <para>バッファの内容はウィンドウに表示されます。ウィンドウは複数用意することができ、そこに複数のバッファの内容や、同じバッファの違う部分を表示して編集を行うことができます。</para>
89     <para>バッファの編集状況等の情報は、ウィンドウの最下部のモードラインに表示されます。</para>
90     
91     <note><title>ウィンドウという言葉について</title>
92     <para>一般的な「ウィンドウ」という言葉と、emacs での「ウィンドウ」は異なります。</para>
93     <para>一般的なウィンドウは emacs ではフレームといい、一つのフレームの中を分割したものをウィンドウと呼びます。</para>
94     <!--para>下の図では、フレームが一つで、ウィンドウが二つあります。</para>
95         
96         <figure id="emacs-frame-and-window">
97         <title>emacsのフレームとウィンドウ</title>
98         <graphic fileref="figures/emacs-window.png" />
99         </figure-->
100     </note>
101     
102   </sect1>
103
104   <sect1 id="emacs-entry">
105     <title>文字入力</title>
106     <para>
107       ウィンドウにカーソルがある時、キーボードから入力した文字はカーソル位置に挿入され、カーソルが進みます。日本語を入力する時には、'C-\'で日本語切替えモードになります。 もう一度'C-\'を押すとアルファベットの入力モードに戻ります。
108     </para>
109     <para>
110       日本語入力システムについては、<ulink url="ghelp:vine-desktop-guide">デスクトップユーザーズガイド</ulink><ulink url="ghelp:vine-desktop-guide?input-ja">GUI環境での日本語入力</ulink>を参照して下さい。
111     </para>
112
113     <para>
114       TABキーを押すと行のインデントの調整となってしまい、TAB文字を入力出来ないことがあります。そのような時には、C-q TAB のように、C-q のあとでキーを押してください。
115     </para>
116
117     <para>
118       また、C-q C-j とすると、改行記号を入力できます。Enter キーの代わりに利用することで、<xref linkend="emacs-search" /> などの時に改行を含んだ文字列を扱うことができます。
119     </para>
120   </sect1>
121
122   <sect1 id="emacs-cursol">
123     <title>カーソル移動</title>
124     <para>
125       編集中のカーソルの移動は矢印キーの他、以下のようなキーで移動できます。
126     </para>
127     <table id="keybind-for-move-cursor">
128       <title>カーソル移動</title>
129       <tgroup cols="2">
130         <thead>
131           <row><entry>キー操作</entry><entry>意味</entry></row>
132         </thead>
133         <tbody>
134           <row><entry>C-b または ←</entry><entry>一文字左へ </entry></row>
135           <row><entry>C-f または →</entry><entry>一文字右へ</entry></row>
136           <row><entry>C-p または ↑</entry><entry>一文字上へ</entry></row>
137           <row><entry>C-n または ↓</entry><entry>一文字下へ</entry></row>
138           <row><entry>C-v または PgDn</entry><entry>次の画面に進む</entry></row>
139           <row><entry>M-v または PgUp</entry><entry>前の画面に戻る</entry></row>
140           <row><entry>C-d</entry><entry>カーソル位置の文字を削除</entry></row>
141           <row><entry>C-k</entry><entry>カーソル位置から行末までの文字を削除</entry></row>
142           <row><entry>C-e</entry><entry>行の一番右へ</entry></row>
143           <row><entry>C-a</entry><entry>行の一番左へ</entry></row>
144           <row><entry>M-f</entry><entry>一単語右へ</entry></row>
145           <row><entry>M-b</entry><entry>一単語左へ</entry></row>
146           <!--row><entry>M-g &lt;行番号&gt;</entry><entry>指定行へ移動 (xemacsのみ)</entry></row-->
147           <row><entry>M-x goto-line</entry><entry>指定行へ移動</entry></row>
148           <row><entry>C-space または C-@</entry><entry>現在のカーソル位置にマークをつけ記憶させる</entry></row>
149           <row><entry>C-x C-x</entry><entry>現在のカーソル位置にマークをつけ、前回マークをつけた位置まで戻る(繰り返すと二点を交互に行き来します)</entry></row>
150         </tbody>
151       </tgroup>
152     </table>
153   </sect1>
154
155   <sect1 id="emacs-delete">
156     <title>文字削除</title>
157     <para>
158       カーソル位置の文字の削除は C-d を用います。その他単語の削除や行末の削除等のキーもあります。
159     </para>
160     <table id="keybind-for-delete-characters">
161       <title>文字削除</title>
162       <tgroup cols="2">
163         <thead>
164           <row><entry>キー操作</entry><entry>意味</entry></row>
165         </thead>
166         <tbody>
167           <row><entry>C-d</entry><entry>カーソル位置の文字を削除</entry></row>
168           <row><entry>M-d</entry><entry>カーソル位置から一単語削除</entry></row>
169           <row><entry>C-k</entry><entry>カーソル位置から行末までの文字を削除</entry></row>
170           <row><entry>M-k</entry><entry>カーソル位置から文末までの文字を削除</entry></row>
171         </tbody>
172       </tgroup>
173     </table>
174   </sect1>
175
176   <sect1 id="emacs-search">
177     <title>文字列検索・置換</title>
178     <para>
179       カーソル行以降の文字列検索には、C-s を用います。C-s を入力するとミニバッファに
180       <screen>I-search:</screen>
181     と表示されるので、検索したい文字列を入力して下さい。検索の終了は C-g を押します。
182     </para>
183     <para>
184       一度入力した文字列を続けて検索したい時には、C-s を続けて2回押します。C-s の代わりに C-r を用いるとカーソル位置より前にある検索文字列を表示します。日本語の文字列を検索する場合<footnote><para>migemoという便利なツールがあります。<xref linkend="dot.emacs.my.el" />を参照してください。</para></footnote>は、C-sの後にEnterを押してから、C-\;でかな漢字変換モードにしてから入力して下さい。
185     </para>
186     <para>
187       確認付きの文字列の置換を行うには M-% を用います。M-% を入力すると
188       <screen>Query-replace:</screen>
189       とミニバッファに表示されますので、まず置換したい文字列を入力します。例えば, C言語プログラムでint を long にしたいときには、M-%の後に int と入力し、Enterキーを押します。ミニバッファの表示が以下のように代わるので、ここで long を入力し, Enterキーを押します。
190     </para>
191     <screen>Query-replace int with: long</screen>
192     <para>
193       置換する文字列 int があるとそこで、以下のように表示されます。
194     </para>
195     <screen>Query-replace int with long: (? for help)</screen>
196     <para>
197       ここで、スペースキーか'y'を押せば置換が行われ、'n'を押すと置換は行わず、次の候補に移動します。終了するときには、Enterキーか'q'を入力します。上に表示されている通り '?' を入力すればコマンドのリストが表示されます。
198     </para>
199     <para>
200       文字列の置換を確認なしに一括して行いたいときには、まず一括置換を開始したい場所にカーソルを移動し、M-x を押します。このとき、ミニバッファの表示は以下のようになります。
201     </para>
202     <screen>M-x</screen>
203     <para>
204       ここで、<userinput>replace-string</userinput> と入力し、<keycap>Enter</keycap>キーを押します。
205     </para>
206     <screen>M-x replace-string</screen>
207     <para>
208       その後は、確認のある場合の文字列置換の場合と同様に、置換のための文字列を入力すれば、一括置換が行われます。
209     </para>
210     <para>
211       emacs には replace-string の他、非常にたくさんのコマンドがあり、M-x は、このコマンドを入力するのに使われます。コマンドの名前はTabキーで補完しながら入力することができます。候補のコマンドが複数あるときには、候補一覧が表示されます。
212     </para>
213     <table id="keybind-for-search-and-replace">
214       <title>文字列検索・置換</title>
215       <tgroup cols="2">
216         <thead>
217           <row><entry>キー操作</entry><entry>意味</entry></row>
218         </thead>
219         <tbody>
220           <row><entry>C-s</entry><entry>文字検索 (カーソル行以降で検索)</entry></row>
221           <row><entry>C-r</entry><entry>文字検索 (カーソル行より前で検索)</entry></row>
222           <row><entry>M-%</entry><entry>文字列置換(確認あり)</entry></row>
223           <row><entry>M-x replace-string</entry><entry>文字列置換(確認なし)</entry></row>
224         </tbody>
225       </tgroup>
226     </table>
227   </sect1>
228   
229   <sect1 id="emacs-undo">
230     <title>アンドゥ (取消)</title>
231     <para>実行したコマンドを取り消して、バッファを元の状態に戻すには、C-x u (または C-_ )を用います。連続して C-x u を用いると、実行した回数だけ前の状態に戻ります。</para>
232     <table id="keybind-for-undo">
233       <title>アンドゥ (取消)</title>
234       <tgroup cols="2">
235         <thead>
236           <row><entry>キー操作</entry><entry>意味</entry></row>
237         </thead>
238         <tbody>
239           <row><entry>C-x u または C-_</entry><entry>アンドゥ(実行したコマンドの取消)</entry></row>
240         </tbody>
241       </tgroup>
242     </table>
243   </sect1>
244
245   <sect1 id="emacs-edit">
246     <title>カット/コピー/ペースト</title>
247     <para>編集中のバッファの一部分を別の場所にコピーするには以下のような手順で行います。</para>
248     <orderedlist>
249       <listitem><para>コピーしたい部分の先頭にカーソルを移動します。</para></listitem>
250       <listitem><para>C-Space (または C-@)を入力します(これで現在のカーソルの位置が記憶されます)。</para></listitem>
251       <listitem><para>コピーしたい部分の終りまたは始めにカーソルを移動します。</para></listitem>
252       <listitem><para>M-w を押す(これで先頭位置(C-Spaceを押した位置)からこの終りの部分までが記憶されます。この部分をリージョン(region:領域)と呼びます。)</para></listitem>
253       <listitem><para>コピー先にカーソルを移動します。</para></listitem>
254       <listitem><para>C-y を入力します。これでペースト(Emacsではyank(ヤンク)といいます)完了です。</para></listitem>
255     </orderedlist>
256     <para>一部分を削除したい時には、上のコピーの手続きで、M-w を入力するかわりに、C-w を入力すれば、設定したリージョンは削除され、記憶されます。</para>
257     <para>一部分を移動したい時には、上の手続きで削除を行った後、移動先へカーソルを持って行きコピーの場合と同様に C-y を入力すれば、記憶されているリージョンがそこに出力されます。</para>
258     
259     <table id="keybind-for-kill-and-yank">
260       <title>カット/コピー/ペースト</title>
261       <tgroup cols="2">
262         <thead>
263           <row><entry>キー操作</entry><entry>意味</entry></row>
264         </thead>
265         <tbody>
266           <row><entry>C-space または C-@</entry><entry>始点のマーク</entry></row>
267           <row><entry>M-w</entry><entry>始点から現在のカーソル位置までを記憶(コピー)</entry></row>
268           <row><entry>C-w</entry><entry>始点から現在のカーソル位置までを削除して記憶(カット)</entry></row>
269           <row><entry>C-y</entry><entry>記憶内容をカーソル位置に貼付け(ペースト)</entry></row>
270         </tbody>
271       </tgroup>
272     </table>
273   </sect1>
274
275   <sect1 id="emacs-window">
276     <title>ウィンドウ操作</title>
277     <para>複数のファイルを編集する場合には、ウィンドウを複数開いて、各ウィンドウに、同じバッファの異なる位置を表示したり、複数のバッファを表示したりして編集することができます。</para>
278     <para>例えば C-x 2 を入力するとカーソルのあるウィンドウが上下2つに分割されます。もとの通り分割されたウィンドウを一つに戻すには、C-x 1 を入力すれば、カーソルのあるほうのウィンドウのみの表示になります。分割したウィンドウ間のカーソル移動には C-x o を用います。分割したウィンドウの境界はマウスでドラッグすれば移動することもできます。</para>
279     <para>また、C-x 5 2 を入力すると、新しいフレーム(参照<xref linkend="emacs-buffer" />)がつくられます。複数のフレーム間のカーソル移動には C-x 5 o を用います。</para>
280     <para>現在のウィンドウに表示するバッファを変更したい時には C-x b を入力すると, 以下のように表示されます。</para>
281     <screen>Switch to buffer: (default test.txt)</screen>
282     <para>ここで、ウィンドウに表示したいバッファ名を入力し、Enterキーを押せば表示バッファが切り替わります。ここで、候補のバッファの一つが上のように default の後ろに表示されます。この候補でよいときには単にEnterキーを押して下さい。</para>
283     <table id="keybind-for-window-and-frame">
284       <title>ウィンドウ操作</title>
285       <tgroup cols="2">
286         <thead>
287           <row><entry>キー操作</entry><entry>意味</entry></row>
288         </thead>
289         <tbody>
290           <row><entry>C-x 2</entry><entry>ウィンドウを上下に分割</entry></row>
291           <row><entry>C-x 3</entry><entry>ウィンドウを左右に分割</entry></row>
292           <row><entry>C-x o</entry><entry>分割したウィンドウ間をカーソル移動</entry></row>
293           <row><entry>C-x 0</entry><entry>分割したウィンドウのうちカーソルのあるほうを閉じる</entry></row>
294           <row><entry>C-x 1</entry><entry>分割したウィンドウのうちカーソルの無いほうを閉じる</entry></row>
295           <row><entry>C-x +</entry><entry>分割したウィンドウの高さ、幅を均等にする</entry></row>
296           <row><entry>C-x 5 2</entry><entry>新しいフレームを開く</entry></row>
297           <row><entry>C-x 5 o</entry><entry>フレーム間でカーソル移動</entry></row>
298           <row><entry>C-x 5 0</entry><entry>カーソルのあるフレームを閉じる</entry></row>
299           <row><entry>C-x b</entry><entry>現在のウィンドウに表示するバッファを指定する</entry></row>
300         </tbody>
301       </tgroup>
302     </table>
303   </sect1>
304
305   <sect1 id="emacs-filelist">
306     <title>ファイル一覧ウィンドウでの操作</title>
307     <para>C-x C-b で編集中のバッファの一覧が表示されます。この一覧表示をしてるウィンドウに C-x o で移動すると、各バッファについていろいな操作を行えます。カーソルの移動は、編集時と同様に C-n, C-p なども使えますが、この一覧表示のバッファでは単に n や p でも移動できます。</para>
308     <para>ウィンドウに表示したいバッファ名の位置にカーソルを移動し、1 を入力するとウィンドウにはそのバッファの内容が表示されます。その他、削除マークや保存マーク等をつけて、一括して削除や保存と言った作業も行えます。できる操作の一覧は「?」で表示されます。</para>
309     <table id="keybind-for-buffer-menu">
310       <title>ファイル一覧ウィンドウでの操作</title>
311       <tgroup cols="2">
312         <thead>
313           <row><entry>キー操作</entry><entry>意味</entry></row>
314         </thead>
315         <tbody>
316           <row><entry>n</entry><entry>カーソルを次の行へ進める</entry></row>
317           <row><entry>p</entry><entry>カーソルを前の行へ戻す</entry></row>
318           <row><entry>1</entry><entry>カーソル行のバッファを現在のウィンドウいっぱいに表示する</entry></row>
319           <row><entry>f</entry><entry>カーソル行のバッファを現在のウィンドウに表示する</entry></row>
320           <row><entry>d</entry><entry>カーソル行のバッファに削除マークをつける</entry></row>
321           <row><entry>s</entry><entry>カーソル行のバッファに保存マークをつける</entry></row>
322           <row><entry>x</entry><entry>削除マークのあるバッファを削除し、保存マークのあるバッファをファイルに保存する</entry></row>
323           <row><entry>u</entry><entry>バッファについているマークを消します。</entry></row>
324         </tbody>
325       </tgroup>
326     </table>
327   </sect1>
328
329 </chapter>
330
331 <chapter id="vine6-emacs">
332   <title>Vine Linux 6 の Emacs 環境</title>
333   <para>
334     Vine Linux 6 の Emacs 環境は、
335     Vine Linux 5 で一新された Emacs 環境から、
336     さらに利便性の改善をはかりました。
337     Vine Linux 4.2 以前の Emacs 環境(<xref linkend="vine4-emacs" />)では、
338     システム全体での設定(<xref linkend="system-wide-configuration" />)を
339     RPM パッケージに含まれている設定と異なるものにする場合、
340     その RPM パッケージがアップデートされるたびに修正する必要がありました。
341   </para>
342   <para>
343     Vine Linux 5 で導入された仕組みにより、
344     個別の RPM パッケージに含まれている設定(<xref linkend="distribution-wide-configuration" />)と
345     システム全体での設定(<xref linkend="system-wide-configuration" />)を別のファイルに記述するようになりました。
346     システム全体での設定(<xref linkend="system-wide-configuration" />)を変更していた場合、
347     RPM パッケージをアップデートしても内容をそのまま保持するようになっています。
348   </para>
349   <para>
350     Vine Linux 6 では、次の順で設定が読み込まれます。
351   </para>
352   <orderedlist>
353     <listitem>
354       <para>
355         個別の RPM パッケージでの設定(<xref linkend="distribution-wide-configuration" />
356     </para>
357     </listitem>
358     <listitem>
359       <para>
360         システム全体での設定(<xref linkend="system-wide-configuration" />
361       </para>
362     </listitem>
363     <listitem>
364       <para>
365         <xref linkend="per-user-configuration" />
366       </para>
367     </listitem>
368   </orderedlist>
369   <para>
370     同一の設定項目について、それぞれで設定している場合は、
371     後から読み込まれる設定が有効となります。
372     また、システム全体での設定(<xref linkend="system-wide-configuration" />)は、
373     RPM パッケージのアップデートで置き換えられてしまうことがありません。
374     そのため、個別の RPM パッケージでの設定(<xref linkend="distribution-wide-configuration" />)を
375     <xref linkend="system-wide-configuration" /> で上書きできます。
376   </para>
377
378   <sect1 id="distribution-wide-configuration">
379     <title>distribution-wide な設定</title>
380     <para>
381       <xref linkend="vine-default" /> の導入により、
382       システム標準の設定を、
383       個別の RPM パッケージごとに設定しています。
384       これにより、ユーザは何も設定を記述しなくても、
385       elisp アプリケーションがある程度、使えるようになっています。
386       詳しくは、<xref linkend="vine-default-framework" /> を参照してください。
387     </para>
388   </sect1>
389
390  <sect1 id="system-wide-configuration">
391    <title>system-wide な設定</title>
392    <para>
393      Vine Linux 5 以降の Emacs では、
394      従来よりもシステム全体の設定をより記述しやすくなりました。
395    </para> 
396    <para>
397      system-wide な設定ファイルは、
398      <filename>/etc/emacs/emacs23-local.el</filename><xref linkend="fig-emacs23-local-el" />
399      に配置されています。
400      Emacs-23.3 を起動したとき、
401      もし <filename>/etc/emacs/emacs23-local.el</filename> が存在すれば、
402      <filename>site-start.el</filename> の一番最後に読み込まれます。
403      したがって、<xref linkend="distribution-wide-configuration" /> よりも
404      <filename>emacs23-local.el</filename> が優先されます。
405
406      <figure id="fig-emacs23-local-el">
407        <title>/etc/emacs/emacs23-local.el</title>
408        <screen>
409;;
410;; GNU Emacs 23.3 local configuration file
411;;
412;; This configuration is read at the end of site-start.el.
413;; Emacs configuration files are read
414;;   - distribution wide from site-start.el
415;;   - system wide from this configuration file
416;;   - per user from ~/.emacs.d/init.el,
417;; where per user settings override system wide settings,
418;; and system wide settings override site-start.el.
419
420;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
421
422
423
424
425
426;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
427
428;; Local Variables:
429;; mode: emacs-lisp
430;; End:
431        </screen>
432      </figure>
433    </para>
434  </sect1>
435
436  <sect1 id="per-user-configuration">
437    <title>ユーザごとの設定</title>
438    <para>
439      vine-default 設定ファイル
440      <filename>~/.emacs.d/emacs23-vine-default.el</filename><xref linkend="fig-emacs23-vine-default-el" />
441      および
442      ユーザ初期設定ファイル
443      <filename>~/.emacs.d/init.el</filename><xref linkend="fig-init-el" />
444      から構成されます。
445      詳しくは、<xref linkend="vine-default" /> を参照してください。
446    </para>
447
448    <sect2>
449      <title>vine-default 設定ファイル</title>
450      <para>
451        vine-default 設定ファイルには、
452        <xref linkend="distribution-wide-configuration" />
453        により個別の RPM パッケージごとに設定された vine-default
454        を制御するための設定を記述できます。
455
456        <figure id="fig-emacs23-vine-default-el">
457          <title>~/.emacs.d/emacs23-vine-default.el</title>
458          <screen>
459;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
460;;  -*- coding: utf-8-unix -*-
461;;  FSF Emacs 23 用 vine-default 設定ファイル
462;;   
463;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
464
465;; Vine Linux のデフォルト設定を無効にしたい場合は、
466;; 以下を有効にしてください。
467;; (setq vine-default nil)
468
469;; 環境変数 EMACS_IME と異なる IME を使いたい場合は、
470;; 以下を有効にして設定することができます。
471;; (setq emacs-ime "atokx3");; anthy-el atokx3 ibus-el mozc tamago scim scim-bridge skk wnn7egg
472
473;; マクロサーチパスの追加
474;; 例えば、~/.emacs.d/local 以下にユーザ用の *.el, *.elc を置けます。
475;; (add-to-list 'load-path "~/.emacs.d/local")
476;; (add-to-list 'load-path "~/lib/emacs")
477;; (add-to-list 'load-path "~/.emacs.d/auto-install")
478
479
480;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
481
482;; Local Variables:
483;; mode: emacs-lisp
484;; End:
485          </screen>
486        </figure>
487
488      </para>
489    </sect2>
490
491    <sect2>
492      <title>ユーザ初期設定ファイル</title>
493      <para>
494        ユーザ初期設定ファイルには、
495        Emacs に関わる設定を自由に記述できます。
496
497        <figure id="fig-init-el">
498          <title>~/.emacs.d/init.el</title>
499          <screen>
500;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
501;;  -*- coding: utf-8-unix -*-
502;;  FSF Emacs 初期設定ファイル
503;;   
504;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
505
506
507
508
509
510;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
511
512;; Local Variables:
513;; mode: emacs-lisp
514;; End:
515          </screen>
516        </figure>
517
518        <important>
519          <title>デフォルトのユーザ初期設定ファイルを変更しました!</title>
520          <para>
521            Vine Linux 6 では、デフォルトのユーザ初期設定ファイルとして、
522            <filename>${HOME}/.emacs.d/init.el</filename> を推奨します。
523          </para>
524          <para>
525            Emacs は通常、
526            <filename>~/.emacs</filename>,
527            <filename>~/.emacs.el</filename>,
528            <filename>~/.emacs.d/init.el</filename> の順番に探し、
529            一番最初に見つけたファイルを
530            「デフォルトのユーザ初期設定ファイル」とする挙動をします。
531            したがいまして、Vine Linux 6 の Emacs においても、
532            従来の <filename>~/.emacs.el</filename> を
533            「デフォルトのユーザ初期設定ファイル」として利用することもできますが、
534            推奨しません。
535          </para>
536        </important>
537
538      </para>
539
540    </sect2>
541
542  </sect1>
543
544 </chapter>
545
546 <chapter id="vine-default">
547   <title>Vine Linux のデフォルト設定:vine-default</title>
548   <para>
549     Vine Linux の Emacs では、
550     Emacs 上で動作するアプリケーションの
551     RPM パッケージに初期設定が含まれています(<xref linkend="distribution-wide-configuration" />)。
552     そのため、
553     ユーザ初期設定ファイル
554     <filename>~/.emacs.d/init.el</filename><xref linkend="fig-init-el" />
555     に何も設定を記述しなくても、
556     elisp アプリケーションがある程度使えるようになっています。
557     この Emacs における Vine Linux のデフォルト設定を
558     <emphasis>vine-default</emphasis> と呼んでいます。
559   </para>
560
561   <sect1 id="vine-default-usage">
562     <title>使い方</title>
563     <para>
564       vine-default は、
565       /usr/share/emacs-23.3/site-lisp 以下に格納されています。
566       <itemizedlist>
567         <listitem>
568           <para>
569             vine-default-base.el:Emacs の基本的な設定
570           </para>
571         </listitem>
572         <listitem>
573           <para>
574             vine-default-faces.el:Emacs のフォントやカラーの設定
575           </para>
576         </listitem>
577         <listitem>
578           <para>
579             <emphasis>package</emphasis>/vine-default-<emphasis>package</emphasis>.el:<emphasis>package</emphasis> の設定
580           </para>
581         </listitem>
582       </itemizedlist>
583     </para>
584
585   <para>
586    Emacs を起動すると、
587    デフォルトで vine-default の boolean が t になっているので、
588    vine-default を読み込みます。
589   </para>
590
591   <sect2>
592     <title>vine-default をすべて無効にする</title>
593     <para>
594       もし vine-default をすべて無効にしたい場合は、
595       <filename>~/.emacs.d/emacs23-vine-default.el</filename><xref linkend="fig-emacs23-vine-default-el" />
596       に
597       <screen>(setq vine-default nil)</screen>
598       を設定します。
599       この場合は、メニューバーと言語ロケール以外は何も設定されていません。
600     </para>
601   </sect2>
602
603   <sect2>
604     <title>一部の vine-default を無効にする</title>
605     <para>
606       vine-default のうち、いくつかの設定を無効にすることができます。
607       各 vine-default は、vine-default-<emphasis>name</emphasis> の
608       boolean が定義されていて、
609       デフォルトでは t になっています。
610     </para>
611
612     <para>
613       例えば、
614       vine-default-base,
615       vine-default-faces,
616       vine-default-yatex,
617       vine-default-mew
618       を無効にしたい場合は、
619       <filename>~/.emacs.d/emacs23-vine-default.el</filename><xref linkend="fig-emacs23-vine-default-el" />
620       に
621       <screen>
622(setq vine-default-base nil
623      vine-default-faces nil
624      vine-default-yatex nil
625      vine-default-mew nil
626    )
627       </screen>
628       を設定します。
629     </para>
630   </sect2>
631
632   <sect2>
633     <title>一部の vine-default だけを有効にする</title>
634     <para>
635       いくつかの Emacs Lisp パッケージのみを有効にしたいときは、
636       一旦すべての vine-default を無効にした上で、
637       いくつかの vine-default を有効にしてください。
638     </para>
639
640     <para>
641       例えば、
642       vine-default.yatex,
643       vine-default-tamago
644       のみを有効にしたい場合は、
645       まず、
646       <filename>~/.emacs.d/emacs23-vine-default.el</filename><xref linkend="fig-emacs23-vine-default-el" />
647       に
648       <screen>(setq vine-default nil)</screen>
649       を設定します。つぎに、
650       <filename>~/.emacs.d/init.el</filename><xref linkend="fig-init-el" />
651       の然るべきところに
652       <screen>(require 'vine-default-yatex)</screen>
653       と
654       <screen>(require 'vine-default-tamago)</screen>
655       を設定します。
656     </para>
657   </sect2>
658
659   </sect1>
660
661  <sect1 id="show-vine-default">
662   <title>インストールされている vine-default の設定を閲覧</title>
663
664   <para>
665    Emacs 上からインストールされている
666    elisp パッケージにあらかじめ設定されている
667    vine-default の設定を閲覧できます。
668   </para>
669
670   <para>
671    Emacs 上で
672    <screen>M-x show-vine-default</screen>
673    を実行すると、
674    起動している Emacs のバージョンに対応した
675    vine-default の設定を閲覧できます。
676   </para>
677
678   <note>
679     <para>
680       <command>M-x show-vine-default</command> 
681       で表示される vine-default の設定は、
682       インストールされている vine-default の設定をすべて表示します。
683       したがいまして、
684       ある vine-default-<emphasis>package</emphasis> 
685       の設定を無効にしていたとしても、
686       その設定は、
687       <command>M-x show-vine-default</command> 
688       で表示される設定の中にも現れます。
689     </para>
690   </note>
691
692  </sect1>
693 
694  <sect1 id="emacs-ime">
695    <title>IME</title>
696    <para>
697      Emacs 上におけるデフォルトの IME は、
698      X 上におけるそれと連動して、
699      <command>setime</command> 
700      コマンドなどで設定される環境変数 EMACS_IME で決定されます<footnote>
701      <para>
702        Vine Linux 6 の初期設定では、各ユーザのホームディレクトリに作成される
703        <filename>~/.Xresources</filename> で
704        <varname>Emacs*useXIM</varname> の値として
705        <literal>false</literal>が設定されているため、XIMは使われません。
706      </para>
707      </footnote><footnote>
708      <para>
709        Vine Linux 5 での初期設定では、
710        tamago パッケージがインストールされている場合は
711        tamago の Anthy インタフェースが使われます。
712        tamago パッケージをインストールしていない場合は
713        emacs パッケージに同梱されている
714        LEIM (Library of Emacs Input Method) が使われます。
715        LEIM では Vine Linux 5 標準のかな漢字変換システム Anthy を使いませんので、
716        変換効率が低くなってしまいます。
717      </para>
718      </footnote>
719   </para>
720
721   <para>
722     環境変数 <varname>EMACS_IME</varname> と異なる IME を使いたい場合は、
723     <filename>~/.emacs.d/emacs23-vine-default.el</filename><xref linkend="fig-emacs23-vine-default-el" />
724     で <varname>emacs-ime</varname> の値に指定してください。
725     anthy-el パッケージに含まれる
726     <filename>anthy.el</filename> を使うときは、次のように設定します<footnote>
727     <para>
728       指定する値は<xref linkend="emacs-ime-list"/>を参照してください。
729     </para>
730     </footnote>
731     <screen>(setq emacs-ime "anthy-el")</screen>
732   </para>
733  </sect1>
734
735  <sect1 id="vine-default-framework">
736    <title>vine-default の仕組み</title>
737    <para>
738      vine-default は、以下のようにして
739      Vine Linux のデフォルト設定が読み込まれます。
740     
741      <orderedlist>
742        <listitem>
743          <para>
744            それぞれの elisp アプリケーションの初期設定ファイル
745            <filename>/etc/emacs-23.3/site-start.d/*-init.el</filename> 
746            を然るべき順序で読み込む
747          </para>
748        </listitem>
749        <listitem>
750          <para>
751            vine-default-setup-hook に、
752            各 elisp アプリケーションの
753            vine-default-<emphasis>package</emphasis> 
754            を然るべき順序でひっかけておく
755          </para>
756        </listitem>
757        <listitem>
758          <para>
759            <filename>~/.emacs.d/emacs23-vine-default.el</filename><xref linkend="fig-emacs23-vine-default-el" />
760            を参照して、それぞれの
761            vine-default-<emphasis>package</emphasis> 
762            の挙動がきまる
763          </para>
764        </listitem>
765        <listitem>
766          <para>
767            vine-default-setup を実行することで、
768            vine-default-setup-hook にひっかけていた
769            vine-default-<emphasis>package</emphasis> が
770            <filename>~/.emacs.d/emacs23-vine-default.el</filename><xref linkend="fig-emacs23-vine-default-el" />
771            に応じて、読み込まれる。
772          </para>
773        </listitem>
774      </orderedlist>
775
776      実際に、以下のような順序で vine-default に関するファイルを読み込み、
777      vine-default を実行します。
778      <orderedlist>
779        <listitem>
780          <para>
781            <filename>/usr/share/emacs-23.3/site-lisp/site-start.el</filename>
782          </para>
783        </listitem>
784        <listitem>
785          <para>
786            <filename>/etc/emacs-23.3/site-start.d/XXpackage-init.el</filename> (X ∈ {0, 1, 2,..., 9})
787          </para>
788        </listitem>
789        <listitem>
790          <para>
791            <filename>/etc/emacs/emacs23-local.el</filename>
792          </para>
793        </listitem>
794        <listitem>
795          <para>
796            vine-default 用設定ファイル
797            <filename>${HOME}/.emacs.d/emacs23-vine-default.el</filename>
798          </para>
799        </listitem>
800        <listitem>
801          <para>
802            <command>vine-default-setup</command> を実行:
803            <filename>/usr/share/emacs-23.3/site-lisp/</filename> 以下の
804            <itemizedlist>
805              <listitem>
806                <para>
807                  <filename>vine-default-base.el</filename>,
808                  <filename>vine-default-faces.el</filename>
809                </para>
810              </listitem>
811              <listitem>
812                <para>
813                  <filename>package/vine-default-package.el</filename>
814                </para>
815              </listitem>
816            </itemizedlist>
817          </para>
818        </listitem>
819        <listitem>
820          <para>
821            デフォルトのユーザ初期設定ファイル
822            <filename>${HOME}/.emacs.d/init.el</filename>
823          </para>
824        </listitem>
825      </orderedlist>
826
827      <important id="vine-default-framework-diff-vine5-vine6">
828        <title>Vine Linux 5 から Vine Linux 6 への変更</title>
829        <para>
830          Vine Linux 6 の vine-default の仕組みは、
831          Vine Linux 5 の vine-default からいくつか改良しました。
832          主な変更点は、以下のようになります。
833          <itemizedlist>
834            <listitem>
835              <para>
836                vine-default を呼ぶタイミングを改善するときに、
837                vine-default 設定ファイル
838                <filename>~/.emacs.d/emacs23-vine-default.el</filename><xref linkend="fig-emacs23-vine-default-el" />
839                を設けました。
840                これにより、ユーザ自身の Emacs に関する設定から
841                vine-default に関する設定のみを分離できます。
842              </para>
843            </listitem>
844            <listitem>
845              <para>
846                vine-default を呼ぶタイミングを改善したことにより、
847                after-vine-default-setup-hook を廃止しました。
848                これにより、vine-default に関する設定が、
849                ユーザ初期設定ファイル
850                <filename>~/.emacs.d/init.el</filename><xref linkend="fig-init-el" />
851                に混在しません。
852              </para>
853            </listitem>
854            <listitem>
855              <para>
856                システム全体での設定(<xref linkend="system-wide-configuration" />)を担う設定ファイル名が
857                <filename>/etc/emacs/emacs-23-local.el</filename> 
858                から
859                <filename>/etc/emacs/emacs23-local.el</filename> 
860                へ変更
861              </para>
862            </listitem>
863          </itemizedlist>
864        </para>
865      </important>
866     
867    </para>
868
869    <sect2 id="vine-default-framework-site-start-el">
870      <title>vine-default に関する関数とフック</title>
871      <para>
872        具体的には、
873        <filename>/usr/share/emacs-23.3/site-lisp/site-start.el</filename> 
874        に、以下のような関数とフックを定義しています。
875        <screen>
876(defcustom vine-default t
877  "A boolean for all Vine Linux default settings"
878  :type 'boolean)
879(if (equal (getenv "LOGNAME") "root")
880    (setq vine-default nil))
881
882(defcustom vine-default-base t
883  "A boolean for vine-default-base"
884  :type 'boolean)
885
886(defcustom vine-default-faces t
887  "A boolean for vine-default-faces"
888  :type 'boolean)
889
890(defvar vine-default-setup-hook nil
891  "List of functions to be called at vine-default-setup")
892
893(defun vine-default-setup ()
894  "A function for setup to default configurations of Vine Linux"
895  (when vine-default
896    (message "Starting vine-default-setup ...")
897    (when vine-default-base
898      (message "Loading vine-default-base ...")
899      (require 'vine-default-base))
900    (when vine-default-faces
901      (message "Loading vine-default-faces ...")
902      (require 'vine-default-faces))
903    (run-hooks 'vine-default-setup-hook)
904    ;; (run-hooks 'after-vine-default-setup-hook); obsolete
905    )
906  )
907
908;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
909
910;;; run functions from the /etc/emacs-23.3/site-start.d directory
911;;; Files in this directory ending with ".el" are run on startup
912(mapc 'load (directory-files "/etc/emacs-23.3/site-start.d" t "\\.el\\'"))
913
914;;; load local configuration
915(if (file-exists-p (expand-file-name "/etc/emacs/emacs23-local.el"))
916    (load (expand-file-name "/etc/emacs/emacs23-local.el")))
917
918;;; load vine-default configuration per user before vine-default-setup
919(if (file-exists-p (expand-file-name "~/.emacs.d/emacs23-vine-default.el"))
920    (load (expand-file-name "~/.emacs.d/emacs23-vine-default.el")))
921
922;;; run vine-default-setup
923(vine-default-setup)
924        </screen>
925      </para>
926    </sect2>
927
928    <sect2 id="vine-default-framework-package-init-el">
929      <title>各 elisp アプリケーションの vine-default-<emphasis>package</emphasis></title>
930      <para>
931        例えば、ibus-el の場合は
932        <filename>/etc/emacs-23.3/site-start.d/95ibus-el-init.el</filename> 
933        に以下のような設定をしています。
934        <screen>
935(defcustom vine-default-ibus-el t
936  "A boolean for vine-default-ibus-el"
937  :type 'boolean)
938
939(add-hook 'vine-default-setup-hook
940          (lambda()
941            (when vine-default-ibus-el
942              (message "Loading vine-default-ibus-el ...")
943              (require 'vine-default-ibus-el))))
944        </screen>
945       
946        <filename>/usr/share/emacs-23.3/site-lisp/ibus-el/vine-default-ibus-el.el</filename> には、
947        ibus-el に関するデフォルト設定を記述して、
948        (provide 'vine-default-ibus-el) を提供しています。
949      </para>
950    </sect2>
951   
952  </sect1>
953
954  <sect1 id="vine-default-customize">
955    <title>カスタマイズ</title>
956    <para>
957      vine-default に関するカスタマイズの例を紹介します。
958    </para>
959
960    <sect2 id="vine-default-customize-system-wide-vine-default">
961      <title>/etc/emacs/emacs23-local.el を用いた vine-default の変更</title>
962      <para>
963        システム全体で vine-default をすべて無効にしたい場合は、
964        <filename>/etc/emacs/emacs23-local.el</filename><xref linkend="fig-emacs23-local-el" />
965        に
966        <screen>(setq vine-default nil)</screen>
967        を設定するのもよいでしょう。
968        この設定を施したシステムにおいて、
969        あるユーザが vine-default をすべて有効にしたい場合は、
970        <filename>~/.emacs.d/emacs23-vine-default.el</filename><xref linkend="fig-emacs23-vine-default-el" />
971        に
972        <screen>(setq vine-default t)</screen>
973        を設定します。
974      </para>
975    </sect2>
976
977    <sect2 id="vine-default-customize-add-to-list-load-path">
978      <title>マクロサーチパスの追加</title>
979      <para>
980        <filename>~/.emacs.d/emacs23-vine-default.el</filename><xref linkend="fig-emacs23-vine-default-el" />
981        に、ユーザのマクロサーチパスのディレクトリをまとめて設定しておくと、
982        便利でしょう。
983      </para>
984      <para>
985        例えば、<filename>~/.emacs.d/local</filename> を追加したい場合、
986        <filename>~/.emacs.d/emacs23-vine-default.el</filename><xref linkend="fig-emacs23-vine-default-el" />
987        に
988        <screen>(add-to-list 'load-path "~/.emacs.d/local")</screen>
989        を設定します。
990
991        <note>
992          <para>
993            Vine Linux 6 の Emacs 環境では、
994            従来、ユーザのマクロサーチパスのディレクトリであった
995            <filename>~/lib/emacs</filename> を設けていません。
996            必要であれば、
997            <filename>~/.emacs.d/emacs23-vine-default.el</filename><xref linkend="fig-emacs23-vine-default-el" />
998            に
999            <screen>(add-to-list 'load-path "~/lib/emacs")</screen>
1000            を設定します。
1001          </para>
1002        </note>
1003
1004      </para>
1005    </sect2>
1006
1007    <sect2 id="vine-default-customize-confliction-wl-wl-beta">
1008      <title>wl-2.14.0 と wl-beta-2.15.9 との共存</title>
1009      <para>
1010        Wanderlust の安定版 2.14.0、開発版 2.15.9 は、
1011        それぞれ wl, wl-beta パッケージにより提供されます。
1012        しかしながら、
1013        <command>M-x wl</command> を実行して起動できるバージョンは、
1014        どちらか一方のみです。
1015        そこで wl-beta を常用したい場合は、
1016        <filename>~/.emacs.d/emacs23-vine-default.el</filename><xref linkend="fig-emacs23-vine-default-el" />
1017        に
1018        <screen>
1019(setq vine-default-wl nil)
1020        </screen>
1021        を設定します。
1022      </para>
1023    </sect2>
1024
1025    <sect2 id="vine-default-customize-confliction-auctex-yatex">
1026      <title>AUCTeX と YaTeX の共存</title>
1027      <para>
1028        AUCTeX, YaTeX は、それぞれ auctex, yatex パッケージにより提供されます。
1029        どちらも TeX 入力支援環境ですが、
1030        TeX 関連ファイルに依存するために同一環境でどちらのユーザも存在する場合に、
1031        ファイル関連で衝突してしまいます。
1032      </para>
1033
1034      <sect3 id="vine-default-customize-confliction-auctex-yatex-system-wide">
1035        <title>システム全体での設定で対応</title>
1036        <para>
1037          システム全体での設定(<xref linkend="system-wide-configuration" />)で対応する場合は、以下のような方法が考えられます。
1038          <itemizedlist>
1039            <listitem>
1040              <para>システム全体での設定で AUCTeX と YaTeX に関するデフォルト設定を無効にする</para>
1041            </listitem>
1042            <listitem>
1043              <para>ユーザごとに AUCTeX または YaTeX の設定をする</para>
1044            </listitem>
1045          </itemizedlist>
1046        </para>
1047        <para>
1048          まず、<filename>/etc/emacs/emacs23-local.el</filename><xref linkend="fig-emacs23-local-el" />)に
1049        <screen>
1050(setq vine-default-auctex nil
1051      vine-default-preview-latex nil
1052      vine-default-yatex nil
1053      vine-default-yahtml nil
1054    )
1055        </screen>
1056        を設定します。
1057        </para>
1058        <para>
1059          つぎに、ユーザ初期設定ファイル
1060          <filename>~/.emacs.d/init.el</filename><xref linkend="fig-init-el" />)以降に、
1061          AUCTeX または YaTeX の設定を記述します。
1062          例えば、やてふの設定は、
1063          Vine Linux のデフォルト設定のまま使いたい場合、
1064          <screen>(require 'vine-default-yatex)</screen>
1065          を記述します。
1066        </para>
1067      </sect3>
1068
1069      <sect3 id="vine-default-customize-confliction-auctex-yatex-per-user">
1070        <title>ユーザごとの設定で対応</title>
1071        <para>
1072          YaTeX ユーザは、
1073          <filename>~/.emacs.d/emacs23-vine-default.el</filename><xref linkend="fig-emacs23-vine-default-el" />
1074          に
1075          <screen>
1076(setq vine-default-auctex nil
1077      vine-default-preview-latex nil
1078    )
1079          </screen>
1080          を設定します。
1081        </para>
1082        <para>
1083          AUCTeX ユーザは、
1084          <filename>~/.emacs.d/emacs23-vine-default.el</filename><xref linkend="fig-emacs23-vine-default-el" />
1085          に
1086          <screen>
1087(setq vine-default-yatex nil
1088      vine-default-yahtml nil
1089    )
1090          </screen>
1091          を設定します。
1092        </para>
1093      </sect3>
1094    </sect2>
1095
1096    <sect2 id="vine-default-customize-YaTeX-inhibit-prefix-letter">
1097      <title>YaTeX のデフォルトプレフィックスを従来のものに戻す</title>
1098      <para>
1099        YaTeX 製作者の推奨により、
1100        YaTeX のデフォルトプレフィックスを vine-default-yatex で変更しています。
1101        しかしながら、従来のデフォルトプレフィックスに戻したい場合は、
1102        <filename>~/.emacs.d/emacs23-vine-default.el</filename><xref linkend="fig-emacs23-vine-default-el" />
1103        に
1104        <screen>
1105;; [推奨] デフォルトプレフィックスの変更 [yatex:04567]
1106;; だけど、頑なにデフォルトのままにする
1107(setq YaTeX-inhibit-prefix-letter nil)
1108        </screen>
1109        を設定します。
1110
1111      </para>
1112    </sect2>
1113
1114    <!-- <sect2 id="vine-default-customize-"> -->
1115    <!--   <title></title> -->
1116    <!--   <para> -->
1117    <!--   </para> -->
1118    <!-- </sect2> -->
1119
1120  </sect1>
1121
1122</chapter>
1123
1124 <chapter id="emacs-customize">
1125   <title>Emacs のカスタマイズ</title>
1126
1127   <para>
1128     Emacs をカスタマイズしていくには、
1129     <itemizedlist>
1130       <listitem>
1131         <para>
1132           Emacs が持っているカスタマイズの仕組みを利用する
1133         </para>
1134       </listitem>
1135       <listitem>
1136         <para>
1137           自分で設定ファイルに設定や関数などを書いていく
1138         </para>
1139       </listitem>
1140     </itemizedlist>
1141     という二つの方法があります。
1142   </para>
1143
1144   <sect1 id="emacs-customize-saving-customizations">
1145     <title>設定ファイル</title>
1146     <para>
1147       ユーザ初期設定ファイル
1148       <filename>~/.emacs.d/init.el</filename><xref linkend="fig-init-el" />
1149       は、<xref linkend="vine-default" /> 以外の設定を自由に記述できます。
1150     </para>
1151     <para>
1152       カスタマイズの仕組みを利用して設定した設定は、
1153       デフォルトでユーザ初期設定ファイル
1154       <filename>~/.emacs.d/init.el</filename>
1155       の末尾に追記されます。
1156       これらの設定を別のファイルにまとめたい場合は、あらかじめ
1157       <filename>~/.emacs.d/init.el</filename>
1158       にカスタムファイルを設定します。
1159       例えば、以下のようにカスタムファイルを設定すると、
1160       カスタマイズの仕組みを利用して設定した設定は、     
1161       <filename>~/.emacs.d/custom.el</filename>
1162       に保存されます。
1163       <screen>
1164;; カスタムファイルの指定
1165(setq custom-file "~/.emacs.d/custom.el")
1166(if (file-exists-p (expand-file-name custom-file))
1167    (load-file (expand-file-name custom-file)))
1168       </screen>
1169     </para>
1170   </sect1>
1171
1172   <sect1 id="emacs-customize-from-menu-bar-options">
1173     <title>メニューバーのオプションを利用する</title>
1174     <para>
1175       Emacs の外観に関する基本的な設定は、
1176       メニューバーの [オプション] から設定できます。
1177       いくつか設定を変更した後、
1178       メニューバーの [オプション] → [オプションの保存] をすると、
1179       カスタマイズの仕組みを利用して設定としてが保存されます。
1180       例えば、
1181       <itemizedlist>
1182         <listitem><para>検索で大文字・小文字を区別しない</para></listitem>
1183         <listitem><para>[表示/非表示] -> [ツールバー] のチェックをはずす</para></listitem>
1184         <listitem><para>[標準フォントを設定...] から Ricty Regular 12pt を指定する</para></listitem>
1185       </itemizedlist>
1186       のような変更をすると、以下のように
1187       デフォルトで <filename>~/.emacs.d/init.el</filename> の末尾に、
1188       追記されます。
1189       <screen>
1190;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1191;;  -*- coding: utf-8-unix -*-
1192;;  FSF Emacs 初期設定ファイル
1193;;   
1194;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1195
1196
1197
1198
1199
1200;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1201
1202(custom-set-variables
1203  ;; custom-set-variables was added by Custom.
1204  ;; If you edit it by hand, you could mess it up, so be careful.
1205  ;; Your init file should contain only one such instance.
1206  ;; If there is more than one, they won't work right.
1207 '(case-fold-search nil)
1208 '(tool-bar-mode nil))
1209(custom-set-faces
1210  ;; custom-set-faces was added by Custom.
1211  ;; If you edit it by hand, you could mess it up, so be careful.
1212  ;; Your init file should contain only one such instance.
1213  ;; If there is more than one, they won't work right.
1214 '(default ((t (:inherit nil :stipple nil :background "white" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :height 120 :width normal :foundry "unknown" :family "Ricty")))))
1215;; Local Variables:
1216;; mode: emacs-lisp
1217;; End:
1218       </screen>
1219     </para>
1220   </sect1>
1221
1222   <sect1 id="utils-1-10-3">
1223     <title>カスタマイズの仕組みを利用する</title>
1224     <para>
1225       メニューバーの
1226       [オプション] → [カスタマイズ] → [トップレベルグループ]
1227       を選択する、または、
1228       <command>M-x customize</command> を実行すると、
1229       <xref linkend="fig-emacs-M-x-customize" /> 
1230       のようなカスタマイズの画面になります。
1231     </para>
1232     
1233     <para>
1234       TAB キーを押すことで、
1235       アンダーラインのある部分、
1236       ボタンになっている部分(<guibutton>Set for current session</guibutton> など)、
1237       文字の入力が可能な部分にカーソルが移動します。
1238       Shift+TAB でカーソルが逆方向(上)に移動します。
1239       Enter キーで選択、確定です。
1240       <guibutton>Exit</guibutton> を選択すると、閉じます。
1241
1242       <figure id="fig-emacs-M-x-customize">
1243         <title>カスタマイズの画面</title>
1244         <graphic fileref="figures/emacs-M-x-customize.png" />
1245       </figure>
1246
1247       ここで操作して設定した内容は、
1248       デフォルトで <filename>~/.emacs.d/init.el</filename> の末尾に、
1249       追記されます。
1250     </para>
1251
1252     <para>
1253       なお、customize は、細分化されていて、
1254       <command>M-x customize</command> の他に、
1255       <command>M-x customize-face</command>,
1256       <command>M-x customize-group</command>,
1257       <command>M-x customize-variable</command> 
1258       などとさまざまなものがあります。
1259       メニューバーの [オプション] → [カスタマイズ] 内の項目を見る、
1260       または、
1261       <command>M-x customize</command> 
1262       と入力して TAB キーを押して補完候補を見るとよいでしょう。
1263     </para>
1264
1265     <example id="customize-variable">
1266       <title>TAB の幅を設定する</title>
1267       <para>
1268         ここでは、<command>M-x customize-variable</command> を利用して、
1269         TAB の幅 を設定してみます。
1270         <command>M-x customize-variable</command> 
1271         と入力し Enterキーを押します<footnote>
1272           <para>
1273           TAB キーで補完ができます。
1274           <command>M-x cus</command> くらいまで入力したら、
1275           TAB キーをおしてみてください。
1276           <command>M-x customize</command> となるはずです。
1277           さらに -v と入力して TAB キーを押すと、
1278           <command>M-x customize-variable</command> と補完されます。
1279           </para>
1280         </footnote>
1281         画面最下部のミニバッファに
1282         Customize variable: と表示されたら、
1283         tab-width と入力し Enter キーを押します<footnote>
1284           <para>
1285             これも TAB キーで補完が出来ます。
1286           </para>
1287         </footnote>
1288       </para>
1289 
1290       <para>
1291         <xref linkend="emacs-M-x-customize-variable" />
1292         のように画面が切り替わります。
1293 
1294         <figure id="emacs-M-x-customize-variable">
1295           <title>emacsの customize-variable の画面</title>
1296           <graphic fileref="figures/emacs-M-x-customize-variable.png" />
1297         </figure>
1298
1299         TAB キーを押して、
1300         8 という数字が表示されているところまでカーソルを移動し、
1301         C-d で 8 という文字を削除し、数字を入力します。
1302         例えば、4 とすると、TAB の幅が元の幅の半分になります。
1303       </para>
1304
1305       <para>
1306         <guibutton>Set for current session</guibutton> 
1307         というボタンのところまで移動し、Enter キーを押すと、
1308         一時的に設定を有効にした状態になります。
1309         数値は保存されないので、次回起動時には元の値 8 にもどります。
1310       </para>
1311       <para>
1312         <guibutton>Save for future sessions</guibutton> のボタンで
1313         Enter キーを押すと、この数値が、
1314         設定ファイルに書き込まれて保存され、
1315         次回 Emacs を起動した時に利用できるようになります。
1316       </para>
1317       <para>
1318         <guibutton>Undo edits</guibutton> のボタンで、
1319         入力した数値が元にもどります。
1320       </para>
1321       <para>
1322         <guibutton>Reset to saved</guibutton> のボタンで、
1323         前回保存した時の値にもどります。
1324       </para>
1325       <para>
1326         <guibutton>Erase customizations</guibutton> のボタンで、
1327         設定した数値が取り消され、設定ファイルにあった記述も削除されます。
1328       </para>
1329       <para>
1330         数値を入力し、
1331         <guibutton>Set for current session</guibutton> 
1332         のボタンを押してテストして、
1333         適当な値になるまで customize を行うという作業を繰り返して、
1334         それから <guibutton>Save for future sessions</guibutton> 
1335         で保存するという作業をします。
1336       </para>
1337 
1338       <para>
1339         ここでは、<guibutton>Save for future sessions</guibutton> 
1340         で保存してしまっていいと思います。
1341       </para>
1342 
1343       <para>
1344         保存したら、<guibutton>Exit</guibutton> のボタンをクリックします。
1345         M-&lt; でページの先頭まで戻ると早いです。
1346       </para>
1347 
1348       <para>
1349         <guibutton>Save for future sessions</guibutton> で保存すると、
1350         以下のように
1351         デフォルトで <filename>~/.emacs.d/init.el</filename> の末尾に、
1352         追記されます。
1353       </para>
1354 
1355       <screen>
1356;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1357
1358(custom-set-variables
1359  ;; custom-set-variables was added by Custom.
1360  ;; If you edit it by hand, you could mess it up, so be careful.
1361  ;; Your init file should contain only one such instance.
1362  ;; If there is more than one, they won't work right.
1363 '(tab-width 4))
1364       </screen>
1365
1366       <para>
1367         この設定値を変更する時には、直接編集するのではなく
1368         <command>M-x customize</command> 
1369         などを使って再度設定するようにしてください。
1370       </para>
1371     </example>
1372
1373     <note>
1374       <para>
1375         ユーザ初期設定ファイル
1376         <filename>~/.emacs.d/init.el</filename> 
1377         などに書かれている項目を設定する場合は、
1378         設定ファイルを直接編集するのが無難です。
1379       </para>
1380     </note>
1381
1382   </sect1>
1383   <sect1 id="emacs-customize-managing-multiple-versions">
1384     <title>複数バージョンの管理</title>
1385     <para>
1386       Emacs-23.3 と Emacs-24.0.93 とのユーザ初期設定ファイルを管理するためには、
1387       <filename>~/.emacs.d/init.el</filename> を
1388       Emacs バージョン分岐用ファイルにする必要があります。
1389       この節では、複数バージョンの管理に関する一例を紹介します。
1390     </para>
1391
1392     <example id="emacs-customize-managing-multiple-versions-init-el">
1393       <title>複数バージョン分岐用ファイル ~/.emacs.d/init.el</title>
1394       <para>
1395         以下のような <filename>~/.emacs.d/init.el</filename> に変更すると、
1396         Emacs-23.3, Emacs-24.0.93 のユーザ初期設定ファイルは、それぞれ
1397         <filename>~/.emacs.d/emacs23-init.el</filename>,
1398         <filename>~/.emacs.d/emacs24-init.el</filename>
1399         になります。
1400         また、必要であれば、以下のようにカスタマイズによる設定を、
1401         別ファイルに保存してもよいでしょう。
1402         Emacs-23.3, Emacs-24.0.93 のカスタムファイルは、それぞれ
1403         <filename>~/.emacs.d/emacs23-custom.el</filename>,
1404         <filename>~/.emacs.d/emacs24-custom.el</filename>
1405         になります。
1406         <screen>
1407;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1408;;  -*- coding: utf-8-unix -*-
1409;;  FSF Emacs バージョン分岐用ファイル
1410;;   
1411;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1412
1413;; ユーザ初期設定ファイルの指定
1414(setq user-init-file
1415      (concat "~/.emacs.d/emacs" (number-to-string emacs-major-version)
1416              "-init.el"))
1417
1418;; ;; カスタムファイルの指定
1419;; (setq custom-file
1420;;   (concat "~/.emacs.d/emacs" (number-to-string emacs-major-version)
1421;;        "-custom.el"))
1422
1423(if (file-exists-p (expand-file-name user-init-file))
1424    (load-file (expand-file-name user-init-file)))
1425;; (if (file-exists-p (expand-file-name custom-file))
1426;;     (load-file (expand-file-name custom-file)))
1427
1428
1429;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1430
1431;; Local Variables:
1432;; mode: emacs-lisp
1433;; End:
1434         </screen>
1435       </para>
1436       
1437       <para>
1438         Emacs バージョンによらずに、
1439         共通な設定をまとめて記述しておきたい場合は、
1440         <filename>~/.emacs.d/init.el</filename> 
1441         に直接記述するか、以下の例の
1442         <filename>~/.emacs.d/emacs-common.el</filename> 
1443         のようなファイルを設けてもよいでしょう。
1444         <screen>
1445;; 個人的な設定ファイル: Emacs バージョン共通
1446(setq my-emacs-common-file "~/.emacs.d/emacs-common.el")
1447(if (file-exists-p (expand-file-name my-emacs-common-file))
1448    (load-file (expand-file-name my-emacs-common-file)))
1449         </screen>
1450       </para>
1451     </example>
1452
1453   </sect1>
1454   
1455 </chapter>
1456
1457 <appendix id="vine4-emacs">
1458   <title>Vine Linux 4.2 の Emacs 環境</title>
1459
1460   <sect1 id="vine4-emacs-system-wide-configuration">
1461     <title>「システム全体での設定」の課題</title>
1462     <para>
1463       Vine Linux 4.2 以前の Emacs では、
1464       Emacs Lisp の RPM パッケージに含まれていた
1465       <filename>site-start.el</filename> に
1466       Emacs Lisp の設定を記述していました。
1467       つまり、Vine Linux 5 以降でいう
1468       「個別の RPM パッケージに含まれている設定(<xref linkend="distribution-wide-configuration" />)」
1469       と
1470       「システム全体での設定(<xref linkend="system-wide-configuration" />)」
1471       が分離されていませんでした。
1472       そのため、RPM パッケージで設定されている内容を変更するために
1473       <filename>site-start.el</filename> ファイルを編集した場合、
1474       RPM パッケージがアップデートされると再び設定を実施する必要がありました。
1475     </para>
1476     <para>
1477      Vine Linux 5 以降では、
1478      「<xref linkend="distribution-wide-configuration" />
1479      と
1480      「<xref linkend="system-wide-configuration" />
1481      を分離することにより、この問題を解決しています。
1482     </para>
1483   </sect1>
1484
1485   <sect1 id="vine4-emacs-my-el">
1486     <title>Vine Linux 4.2 以前の ~/.emacs.my.el</title>
1487     <para>
1488       Vine Linux 4.2 以前におけるユーザ初期設定ファイル
1489       <filename>~/.emacs.el</filename> には、
1490       ユーザ用初期化ファイル <filename>~/.emacs.my.el</filename>
1491       <footnote>
1492         <para>
1493           個人用設定を書くためのファイルでした。
1494         </para>
1495       </footnote>
1496       があれば、
1497       それを読み込む仕組みがありました。
1498       Vine Linux 5 以降では、<xref linkend="vine-default" /> に移行したため、
1499       <filename>~/.emacs.my.el</filename> を読み込む仕組みは廃止しました。
1500     </para>
1501     <para>
1502       もし過去の <filename>~/.emacs.my.el</filename> を流用したい場合は、
1503       以下のようにして
1504       <filename>~/.emacs.my.el</filename> 
1505       を読み込ませることができます。
1506       <screen>
1507(if (file-exists-p (expand-file-name "~/.emacs.my.el"))
1508    (load (expand-file-name "~/.emacs.my.el") nil t nil))
1509       </screen>
1510       ただし、Emacs-23.3 と Emacs-22 以前は随分仕様が変わっているので、
1511       Vine Linux 4 の Emacs-22 などで使っていた
1512       <filename>~/.emacs.my.el</filename> 
1513       をそのまま流用できるとはかぎりません。
1514       Vine Linux 6 では、
1515       いままでの <filename>~/.emacs.my.el</filename> の設定を改めて、
1516       <filename>~/.emacs.d/init.el</filename><xref linkend="fig-init-el" />)以下に設定することを推奨します。
1517     </para>
1518   </sect1>
1519
1520 </appendix>
1521
1522 <appendix id="emacs-ime-list">
1523   <title>emacs-ime に設定できる値の一覧</title>
1524   <para>
1525     Vine Linux 5 で emacs-ime に設定できる値は次の通りです。
1526     ただし、現在はよく使われるもののみを記載しています。
1527   </para>
1528
1529   <table frame="all">
1530     <title>emacs-ime に設定できる値の一覧 (抜粋)</title>
1531     <tgroup cols="3">
1532       <thead>
1533         <row>
1534           <entry>使うIME</entry>
1535           <entry>emacs-ime に設定する値</entry>
1536           <entry>Vine Linux 5 でのパッケージ名</entry>
1537         </row>
1538       </thead>
1539       <tbody>
1540         <row>
1541           <entry>Anthy (japanese-egg-anthy) <footnote id="emacs-ime-list-leim"><para>LEIMを使用。</para></footnote></entry>
1542           <entry>scim、SCIM、anthy、Anthy、egg-anthy、tamago-anthy</entry>
1543           <entry>tamago パッケージ</entry>
1544         </row>
1545         <row>
1546           <entry>Anthy (anthy-el)</entry>
1547           <entry>anthy-el、Anthy-el</entry>
1548           <entry>anthy-el パッケージ</entry>
1549         </row>
1550         <row>
1551           <entry>SCIM</entry>
1552           <entry>scim-bridge、scim-bridge-el</entry>
1553           <entry>scim-bridge-el パッケージ</entry>
1554         </row>
1555         <row>
1556           <entry>UIM</entry>
1557           <entry>uim、uim-el</entry>
1558           <entry morerows="1">uim-el パッケージ</entry>
1559         </row>
1560         <row>
1561           <entry>UIM (japanese-anthy-utf8-uim)<footnoteref linkend="emacs-ime-list-leim"/></entry>
1562           <entry>uim-leim</entry>
1563         </row>
1564         <row>
1565           <entry>ibus</entry>
1566           <entry>ibus-el、IBus-el</entry>
1567           <entry>ibus-el パッケージ</entry>
1568         </row>
1569         <row>
1570           <entry>Mozc (japanese-mozc)<footnoteref linkend="emacs-ime-list-leim"/></entry>
1571           <entry>mozc、mozc-el</entry>
1572           <entry>mozc-el パッケージ</entry>
1573         </row>
1574         <row>
1575           <entry>SKK (Daredevil SKK)</entry>
1576           <entry>skk</entry>
1577           <entry>skk パッケージ</entry>
1578         </row>
1579         <row>
1580           <entry>T-Code (tc2)</entry>
1581           <entry>tc2、tc-el</entry>
1582           <entry>tc-el パッケージ</entry>
1583         </row>
1584         <row>
1585           <entry>ATOK</entry>
1586           <entry>iiimecf、IIIMECF、atokx、atokx2、atokx3</entry>
1587           <entry>IIIMECF パッケージ</entry>
1588         </row>
1589         <row>
1590           <entry>Wnn、FreeWnn (japanese-egg-wnn)<footnoteref linkend="emacs-ime-list-leim"/></entry>
1591           <entry>wnn、Wnn、wnn6、Wnn6、wnn8、Wnn8</entry>
1592           <entry>tamago パッケージ</entry>
1593         </row>
1594         <row>
1595           <entry>wnn ななたまご (Wnn7egg)</entry>
1596           <entry>wnn7egg、wnn7、Wnn7</entry>
1597           <entry>wnn7egg パッケージ</entry>
1598         </row>
1599       </tbody>
1600     </tgroup>
1601   </table>
1602 </appendix>
1603 
1604</book>
Note: See TracBrowser for help on using the repository browser.