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

Revision 4395, 59.5 KB checked in by munepi, 13 years ago (diff)

「Emacs ガイド」を更新。Vine Linux 6 における vine-default の解説を最低限書きました。

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