Merge branch 'MacVim'
[MacVim/KaoriYa.git] / runtime / doc / gui_x11.jax
blob72798245f89aa4b668b227262da2709529488e33
1 *gui_x11.txt*   For Vim バージョン 7.2.  Last change: 2009 Oct 28
4                   VIMリファレンスマニュアル    by Bram Moolenaar
7 Vimのグラフィカルユーザインタフェース                    *gui-x11* *GUI-X11*
8                                                         *Athena* *Motif*
9 1. X11 GUIの開始           |gui-x11-start|
10 2. GUIリソース                      |gui-resources|
11 3. シェルコマンド              |gui-pty|
12 4. 各種事項                 |gui-x11-various|
13 5. GTKバージョン             |gui-gtk|
14 6. GNOMEバージョン           |gui-gnome|
15 7. KDEバージョン             |gui-kde|
16 8. コンパイル                        |gui-x11-compiling|
17 9. X11セレクション            |x11-selection|
19 他の重要なドキュメント:
20 |gui.txt|       GUIの一般的な項目について。
22 {Vi にはこれらのどのコマンドもない}
24 ==============================================================================
25 1. X11 GUIの開始                                   *gui-x11-start* *E665*
27 これらのどちらの方法でもVimのGUIバージョンを実行することができる:
28     gvim [options] [files...]
29     vim -g [options] [files...]
31 であるから、実行可能な"gvim"を呼ぶか、あるいは"gvim"を実行可能なものとしてリン
32 クさせるならば、GUIバージョンが自動的に使用されるだろう。例えば"gvim-5"のよう
33 に、追加の文字が"gvim"の後に追加されてもよい。
35 これらのコマンドの1つを使用してターミナルバージョンの中からGUIを起動してもよ
36 い:
37         :gui [++opt] [+cmd] [-f|-b] [files...]                  *:gu* *:gui*
38         :gvim [++opt] [+cmd] [-f|-b] [files...]                 *:gv* *:gvim*
39 "-f"オプションはフォアグラウンドで実行する。
40 "-b"オプションはバックグラウンドで実行する(これがデフォルト)。
41 |++opt|と|+cmd|も参照してください。
43                                                         *gui-fork*
44 GUIが開始されるときには、fork()して現在のプロセスを終了する。gvimがシェルから
45 開始されたときには、これでシェルが更にコマンドを受け入れられるようになる。これ
46 を望まない(例えば、メールプログラムでgvimを使用しているときにgvimが終了するの
47 を待つ)ならば、"gvim -f", "vim -gf"でかあるいは":gui -f"を使用して開始する。
48 "-fg"は前景色の指定に用いられるので、"vim -fg"を使用してはならない。
50 "gvim -f"と":gui"を使用するときには、Vimはフォアグラウンドで実行されるだろう。
51 "-f"引数は記憶されているだろう。Vimを強制的にバックグラウンドで実行するには、
52 ":gui -b"を使用するとよい。
54 "gvim --nofork"と"gvim -f"は同じです。
56 GUIをいつもフォアグラウンドで実行したければ、'guioptions'の中に'f'フラグを含め
57 るとよい|-f|。
59 ==============================================================================
60 2. GUIリソース                              *gui-resources* *.Xdefaults*
62 GUIのMotifかあるいはAthenaバージョン(KDE, GTK+やあるいはWin32バージョンについ
63 てではない)を使用しているならば、多くのXのリソースが有効である。これらを設定す
64 るときには、Vimのクラス"Vim"を使用すべきである。それらは以下のようなものである:
66     リソース名               意味              ~
68     reverseVideo        ブール値: reverse videoが用いられるべきか?
69     background          背景色。
70     foreground          通常のテキストの色。
71     scrollBackground    スクロールバーのくぼみ部分の色。
72     scrollForeground    スクロールバーのスライダと矢印部分の色。
73     menuBackground      メニューの背景色。
74     menuForeground      メニューの前景色。
75     tooltipForeground   ツールチップとバルーンの前景色。
76     tooltipBackground   ツールチップとバルーンの背景色。
78     font                通常のテキストに使用されるフォント名。
79     boldFont            ボールドのテキストに使用されるフォント名。
80     italicFont          イタリックのテキストに使用されるフォント名。
81     boldItalicFont      ボールド、イタリックのテキストに使用されるフォント名。
82     menuFond            |+xfontset|が無効なときに使われるメニューのフォント名。
83     menuFontSet         |+xfontset|が有効なときに使われるメニューのフォントセ
84                         ット名。
85     tooltipFont         ツールチップとバルーンに使われるフォント名。
86                         |+xfontset|が有効なときはこれはフォントセット名です。
88     geometry            gvimのウィンドウに用いられる初期サイズ(デフォルトはそ
89                         れを開始したターミナルと同じサイズ)。
90     scrollbarWidth      スクロールバーの厚さ。
91     borderWidth         テキストエリアの周りのボーダの厚さ。
92     menuHeight          メニューバーの高さ(Athenaのみ)。
94 イタリック、ボールド、イタリック・ボールドのテキスト用の特別なフォントはユーザ
95 がリソースを通して指定されたものを持っている場合にだけ用いられるだろう。通常の
96 テキストのフォントに基づいたこれらのためにどのフォントが用いられるべきであるか
97 を推測しようとは試みない。
99 "Normal", "Menu", "Tooltip"と"Scrollbar"グループを使用して、":highlight"コマン
100 ドで色を設定することもできることを覚えておくとよい。 >
101         :highlight Menu guibg=lightblue
102         :highlight Tooltip guibg=yellow
103         :highlight Scrollbar guibg=lightblue guifg=blue
104         :highlight Normal guibg=grey90
106                                                         *font-sizes*
107 注意: (メニューとツールチップ以外では)全てのフォントは同じサイズでなければなら
108 ない!!! こうしなければ、テキストは表示されないか、あるいはめちゃくちゃに表示さ
109 れるだろう。Vimはフォントサイズをチェックしない。同じでなければならないのはス
110 クリ???ンのピクセルにおけるサイズである。いくつかのフォントが同じポイントサイズ
111 を持っていても、同じピクセルサイズを持っているとは限らないということに注意しな
112 くてはならない! さらにフォントの配置は同じ(アセントとディセント)でなければなら
113 ない。"xlsfonts -l {fontname}"でこれをチェックすることができる。
115 これらのことはいずれもVimコマンド、例えば":set guifont=Screen15"で設定されるな
116 らば、Xのリソースを無視するだろう(現在'guifont'がサポートされる唯一のオプショ
117 ンである)。
119 あなたの~/.Xdefaultsファイルに付加したいかもしれないものを例としてここに挙げ
120 る: >
122         Vim*useSchemes:                 all
123         Vim*sgiMode:                    true
124         Vim*useEnhancedFSB:             true
125         Vim.foreground:                 Black
126         Vim.background:                 Wheat
127         Vim*fontList:                   7x13
129 これらの内の始めの3つはMotifアプリケーションをもっとよく見せるシリコングラ
130 フィックス製マシンにおける標準リソースであり、大いに推奨されている!
132 "Vim*fontList"はMotif用のメニューフォントを設定するためのものである。例: >
133         Vim*menuBar*fontList:        -*-courier-medium-r-*-*-10-*-*-*-*-*-*-*
134 Athenaでは: >
135         Vim*menuBar*SmeBSB*font:     -*-courier-medium-r-*-*-10-*-*-*-*-*-*-*
136         Vim*menuBar*MenuButton*font: -*-courier-medium-r-*-*-10-*-*-*-*-*-*-*
138 NOTE: MotifかAthenaでメニューのフォントを決めるのに、移植性が高く、本当に正し
139 いのは、リソースを使うことです。 >
140         Vim.menuFont:        -*-courier-medium-r-*-*-10-*-*-*-*-*-*-*
141 |+xfontset|が有効にされているときは >
142         Vim.menuFontSet:     -*-courier-medium-r-*-*-10-*-*-*-*-*-*-*
144 defaultsの中で"Vim*geometry"を使用してはならない。これはメニューを壊すだろう。
145 代わりに"Vim.geometry"を使用するとよい。
147 "Cannot allocate colormap entry for "gray60"のエラーメッセージを受け取ったなら
148 ば、Vimリソースにこれを(色は好みに変更して)追加してみるとよい。 >
150         Vim*scrollBackground:           Black
151         Vim*scrollForeground:           Blue
153 リソースはvimへの引数で設定することもできる:
155     引数          意味      ~
156                                                         *-gui*
157    -display {display}   {display}上でvimを実行する     *-display*
158    -iconic              vimをアイコン化して開始する *-iconic*
159    -background {color}  背景に{color}を使用する         *-background*
160    -bg {color}          同上                              *-bg*
161                                                         *-foreground*
162    -foreground {color}  通常のテキストに{color}を使用する
163    -fg {color}          同上                              *-fg*
164    -ul {color}          同上                              *-ul*
165    -font {font}         通常のテキストに{font}を使用する *-font*
166    -fn {font}           同上                              *-fn*
167    -boldfont {font}     太字テキストに{font}を使用する      *-boldfont*
168                                                         *-italicfont*
169    -italicfont {font}   斜体のテキストに{font}を使用する
170    -menufont {font}     メニュー項目に{font}を使用する      *-menufont*
171                                                         *-menufontset*
172    -menufontset {fontset} メニュー項目に{fontset}を使用する
173    -mf {font}           同上                              *-mf*
174    -geometry {geom}     初期サイズに{geom}を使用する       *-geometry*
175    -geom {geom}         同上。|-geometry-example|を参照       *-geom*
176    -borderwidth {width} {width}のボーダ幅を使用する       *-borderwidth*
177    -bw {width}          同上                              *-bw*
178                                                         *-scrollbarwidth*
179    -scrollbarwidth {width}      {width}のスクロールバー幅を使用する
180    -sw {width}          同上                              *-sw*
181                                                         *-menuheight*
182    -menuheight {height} {height}のメニューバー高を使用する
183    -mh {height}         同上                              *-mh*
184                         NOTE: Motifではこの値は無視される。メニューの高さは
185                         ちょうど収まるように計算される。
186    -reverse             reverse video を使用する     *-reverse*
187    -rv                  同上                              *-rv*
188    +reverse             reverse video を使用しない    *-+reverse*
189    +rv                  同上                              *-+rv*
190    -xrm {resource}      指定されたリソースを設定する  *-xrm*
192 reverse video についての注意: Vimは実際に暗い背景に明るいテキストになるか結果
193 をチェックする。X11のあるバージョンは色を交換し、あるバージョンはしないからで
194 ある。これらの2つの例はどちらも青い背景に黄色のテキストを提供するだろう:
195     gvim -fg Yellow -bg Blue -reverse
196     gvim -bg Yellow -fg Blue -reverse
198                                                         *-geometry-example*
199 geometry引数の例: >
200     gvim -geometry 80x63+8+100
201 これはウインドウを80カラム、63行で作り、左から8ピクセル、上から100ピクセルの位
202 置に置きます。
204 ==============================================================================
205 3. シェルコマンド                                      *gui-pty*
207 ‘警告’: GUIからの外部コマンドの実行は常に動作するとは限らないだろう。"ls",
208 "grep"とか"make"のような"normal"コマンドはたいていうまく動作する。"less"とか
209 "ispell"のような知的ターミナルを要求するコマンドは動作しないだろう。あるものは
210 ハングさえするかもしれないし、他のターミナルからkillされる必要があるかもしれな
211 い。だから気を付けなくてはならない!
213 シェルコマンドで入出力するには2つの方法がある: パイプと仮想端末(pseudo-tty)で
214 ある。デフォルトは仮想端末を使用する。これは大抵のシステムで最も良く動作するだ
215 ろう。
217 不幸にも、仮想端末の実装はUnixシステム毎に異なっている。そしていくつかのシステ
218 ムはroot権限を要求する。一番予期しないときに仮想端末における問題に出くわすのを
219 避けるには、ファイルを編集していないときにそれをテストをするとよい。開始したコ
220 マンドあるいはVimを"kill"する準備をしなくてはならない。":r !cat"のようなコマン
221 ドはハングするかもしれない!
223 仮想端末を使用して動作しないならば、'guipty'オプションをリセットするとよい: >
225         :set noguipty
227 パイプの使用はいくつかのUnixシステムで動作するだろうが、いくつか不都合がある:
228 - いくつかのシェルコマンドはパイプが使用されていることを通知し、異なった振る舞
229   いをするだろう。例えば、":!ls"はファイルの一覧を1桁で出力するだろう。
230 - ":sh"コマンドは、多少動作するだろうが、プロンプトを表示しないだろう。
231 - ":make"を使用するときには、CTRL-Cで中断できない。
233 外部コマンドを実行している間、先行入力された文字はしばしば失われる。これはパイ
234 プと仮想端末の両方で起こる。これは既知の問題だが、修正できない(かあるいは少な
235 くとも非常に難しい)と思われる。
237                                                         *gui-pty-erase*
238 削除文字が外部コマンドに不適当であるときには、あなたの"~/.cshrc"ファイル、ある
239 いはあなたのシェルを初期化するために用いるどんなファイルででもこれを修正すべき
240 である。例えば、文字を削除するためにバックスペースを使用したいが、バックスペー
241 スを打ち込むことで代わりに"^H"が作り出されるときには、これをあなたの"~/.cshrc"
242 に追加してみるとよい: >
243         stty erase ^H
244 ^Hは本当のCTRL-Hであり、CTRL-V CTRL-Hとタイプする。
246 ==============================================================================
247 4. 各種事項                                         *gui-x11-various*
249                                                         *gui-x11-printing*
250 "File/Print"(訳注: 日本語化されたメニューでは、ファイル/印刷)メニューは単に現
251 在のバッファを"lpr"に送る。オプションや何かは何もない。他に何かしたければ、あ
252 なた自身の印刷コマンドを定義することができる。例えば: >
254   :10amenu File.Print :w !lpr -Php3
255   :10vmenu File.Print :w !lpr -Php3
257                                                         *X11-icon*
258 MotifあるいはAthenaでコンパイルされたときには、Vimはデフォルトで白黒のアイコン
259 を用いる。色付きのVimアイコンは$VIMRUNTIME/vim32x32.xpmとして含まれる。GTK+に
260 ついては、組み込みのアイコンが用いられる。不幸にも、どのようにしてそれをインス
261 トールするかはあなたのウィンドウマネージャに依存する。これを使用するときには、
262 白黒のアイコンを取り除くために、'guioptions'から'i'フラグを取り除くとよい: >
263   :set guioptions-=i
265 fvwm*ファミリのウィンドウマネージャの1つを使用するならば、単にあなたの.fvwm2rc
266 構成ファイルにこの行を追加するとよい: >
268   Style "vim"           Icon vim32x32.xpm
270 アイコンファイルの場所がウィンドウマネージャのImagePath文と一致することを確か
271 めなくてはならない。あなたの.fvwm2rcを修正するか、あるいは事前に定義されたディ
272 レクトリの1つにアイコンをドロップするとよい。 >
274   ImagePath /usr/X11R6/include/X11/pixmaps:/usr/X11R6/include/X11/bitmaps
276 Note: 古いバージョンのfvwmでは"ImagePath"ではなく"IconPath"を使います。
278 CDE "dtwm"(Motifから派生)については、.Xdefaultsにこの行を追加するとよい:
279 >  Dtwm*Vim*iconImage: /usr/local/share/vim/vim32x32.xpm
281 "mwm"(Motifウィンドウマネージャ)については、その行はこうなるだろう: >
282   Mwm*Vim*iconImage: /usr/local/share/vim/vim32x32.xpm
284 X11で利用できるマウスポインタ                                *X11_mouse_shapes*
286 |'mouseshape'|オプションを使うと、Vimがモード(インサートモードやコマンドモー
287 ドなど)を変更するたびに自動的にマウスポインタを変更できる。現在、利用できる
288 ポインタは次の通り:
290         arrow                   左上向きの矢印
291         beam                    「I」のような垂直の棒
292         size                    上下を指す矢印
293         busy                    腕時計
294         blank                   透明なポインタ
295         crosshair               細い"+"印
296         hand1                   左上向きの暗い手のポインタ
297         hand2                   左右向きの明るい手のポインタ
298         pencil                  右下向きのペン型のポインタ
299         question                クエスチョンマーク(?)
300         right_arrow             右上向きの矢印
301         up_arrow                上向きの矢印
303 さらに、インクルードファイルのX11/cursorfont.hで定義された整数を指定して、
304 X11に組み込まれたポインタを使うことができる。
306 他のシステムでは使えても、X11にない名前を指定すると、デフォルトの"arrow"ポイ
307 ンタが使われる。
309 ==============================================================================
310 5. GTKバージョン                                     *gui-gtk* *GTK+* *GTK*
312 GUIのGTKバージョンはほんの少し異なった動作をする。
314 GTKは従来のXのリソース設定に使_わない_。したがって、~/.Xdefaultsや
315 app-defaultsは使われません。
316 伝統的なXコマンドの引数はサポートされません。(例えば -bg, -fg, などの要素)。サ
317 ポートされているのは:
319     コマンドライン引数      リソース名                意味 ~
320     -fn  or  -font          .font               テキストのフォント名
321     -geom  or  -geometry    .geometry           gvimウィンドウのサイズ
322     -rv  or  -reverse       *reverseVideo       黒い背景に白いテキスト
323     -display                                    使用されるディスプレイ
324     -fg -foreground {color}                     前景色
325     -bg -background {color}                     背景色
327 フォントを設定するには、|'guifont'|を参照。GTKについては、これをするメニューオ
328 プションもある。
330 さらに、GTKの内部で扱われるこれらのコマンドライン引数がある。それらがどのよう
331 に用いられるかはGTKのドキュメントを見るとよい。
332         --sync
333         --gdk-debug
334         --gdk-no-debug
335         --no-xshm       (GTK+ 2では使われない)
336         --xim-preedit   (GTK+ 2では使われない)
337         --xim-status    (GTK+ 2では使われない)
338         --gtk-debug
339         --gtk-no-debug
340         --g-fatal-warnings
341         --gtk-module
342         --display       (GTK+の-displayに対応; 同じように動作する。)
343         --screen        (スクリーン番号: GTK+ 2.2ではマルチスレッド対応)
345 これらの引数は|+netbeans_intg|が有効なときは使われません。
346         -xrm
347         -mf
349 色については、Vimの(構文強調表示についての)色の設定はまだ従来のVimの方法でなさ
350 れている。より多くのヘルプについては|:highlight|を参照。
352 残りのguiコンポーネント(例えば、メニューバー、スクロールバー、どんなものでも)
353 の色を設定したければ、GTK特有の設定があり、何かgtkrcファイルの類にそれらを設定
354 する必要がある。どのようにこれをすべきかについて、どんなに小さなものしかなくて
355 も、GTKドキュメントを参照しなければならないだろう。
357                                                 *gtk-tooltip-colors*
358 ツールティップの色を明るい黄色の背景に黒のテキストに設定する例: >
360         style "tooltips"
361         {
362                 bg[NORMAL] = "#ffffcc"
363                 fg[NORMAL] = "#000000"
364         }
366         widget "gtk-tooltips*"          style "tooltips"
368 ~/.gtkrcファイルの中にこれを書くとGTKで用いられるだろう。GTK+ 2では
369 ~/.gtkrc-2.0を使わなければいけないかも知れない。環境による。
371 GTK+プラグインとしてVimを使う                              *gui-gtk-socketid*
373 GTK+版のVimを普通に起動すると、Vimは自身のトップレベルウインドウを作成する(技
374 術的には'GtkWindow')。GTK+はGtkSocket、GtkPlugウィジェットを使った埋め込み機能
375 を提供している。あるGTK+アプリケーションが自分のウインドウにGtkSocketウィジェ
376 ットを作成していると、別のアプリケーションはトップレベルのGtkPlugウィジェット
377 をソケットIDを使って作成し、先のアプリケーションに自身を組み込める。
379 Vimのコマンドラインオプションに'--socketid'と10進数や16進数の値を指定すると
380 、Vimは通常のGtkWindowを使わず、指定された値を使いGtkPlugウィジェットを作成す
381 る。これはVimがGTK+プラグインとして振る舞うことを可能にする。
383 これはプログラマー向けのインターフェースであり、それをサポートするアプリケーシ
384 ョン無しではまったく役に立たない。GTK+ソケットについての詳細は次のURLを参考に
385 すること。
386 http://www.gtk.org/api/
388 Note この機能は最新バージョンのGTKを必要とする。GTK 1.2.10はまだ若干問題があ
389 る。ソケットの機能はまだGTK+ 2ではテストされていない、自己責任でどうぞ。
391 ==============================================================================
392 6. GNOME バージョン                          *gui-gnome* *Gnome* *GNOME*
394 GNOME GUI は GTK+ バージョンと同じように機能する。どのように動作するかは上述
395 の |GTK+| を参照。しかし若干の違いがあり、素の GTK+ GUI では利用できない重要
396 な機能が 1 つ実装されている。それはセッションマネージャとの相互作用である。
397 |gui-gnome-session|
399 見た目の違い:
400 - GNOME ダイアログを使う (GNOME 1 だけ)。GNOME 2 GUI は同じく素敵な GTK+ 2
401   バージョンのダイアログを使う。
402 - GNOME ドックを使う。したがって、ツールバーとメニューバーは上以外の別の場所
403   に移動することができる (例えばツールバーを左や右、上、もしくは下に置け
404   る)。メニューバーとツールバーの位置は GNOME 2 バージョンでのみ記憶される。
405 - これはメニューバーとツールバーのハンドルが戻ってきたということだ! やった!
406   もちろんサイズ変更グリッドもまだ使える。
408 GNOME バージョンは configure が GNOME を認識し、引数--enable-gnome-checkが指定
409 されていればコンパイルされる。
412 GNOME セッションサポート         *gui-gnome-session* *gnome-session*
414 ログアウト時、Vim はバッファのどれかが変更されていると、よく知られた終了確認
415 ダイアログを表示する。[Cancel] をクリックするとログアウトが取り止めになる。
416 そうしなかった場合は、現在のセッションが |:mksession| コマンドを使ってディス
417 クに保存され、次回のログオン時に復元される。
419 GNOME セッションサポートはおそらく KDE セッションマネージャでも機能する。も
420 しあなたが何かの問題に直面したらバグレポートを彼らに送ってください。
422 Note: 自動的なセッションの保存はあなたのセッションファイルやスクリプト、オー
423 トコマンドの衝突を避けるために実に適切に働く。その手段としては:
424 - セッションファイルは別のディレクトリに保存される (普通は $HOME/.gnome2)。
425 - 'sessionoptions' は無視される。代わりにハードコードされた適切なフラグが使
426   用される: >
427         blank,curdir,folds,globals,help,options,tabpages,winsize
428 - 内部変数の |v:this_session| はセッションの保存で変更されない。さらに、再び
429   ログインしたときに元の値に復元される。
431 GUI ウインドウの位置とサイズは保存されない、それはウインドウマネージャの仕事
432 である。しかし、GTK+ 2 サポートを有効にしてコンパイルされていると、Vim はウ
433 インドウの役目を復元して WM がウインドウを識別するのを補佐する (コマンドライ
434 ン引数の|--role| を使う)。
436 ==============================================================================
437 7. KDE バージョン                            *gui-kde* *kde* *KDE* *KVim*
438                                                         *gui-x11-kde*
440 KDE バージョンの Vim は存在しない。Qt ツールキットを使って移植する作業が行われ
441 ていたが、ちゃんと動かなかったので、今は放棄されている。作業は Yzis で継続され
442 ている: www.yzis.org
444 ==============================================================================
445 8. コンパイル                                                *gui-x11-compiling*
447 X11を使用しているならば、VimのMakefileはデフォルトでは最初にシステム上の必要と
448 なるGTK+ファイルを見つけようとするだろう。GTK+ファイルが見つけられなかったなら
449 ば、Motifファイルが検索されるだろう。最終的に、これが失敗するならば、Athena
450 ファイルが検索されるだろう。3つとも全て失敗するならば、GUIは無効になるだろう。
452 GTK+については、VimのコンフィギュレーションプロセスはGTK+が適切にインストール
453 されていることを要求する。つまり、シェルスクリプト'gtk-config'があなたの‘パ
454 ス’にあり、既にGTK+プログラムをコンパイル、ビルド、実行できなければならない。
455 この理由はコンパイラフラグ(CFLAGS)とリンクフラグ(LDFLAGS)が'gtk-config'シェル
456 スクリプトを通して得られるからである。
458 もしもGTK+ 2を使いたいなら./configureの引数に--enable-gtk2-checkを渡してくださ
459 い。--enable-gnome-checkオプションも指定されたときはGNOME 2もサポートされま
460 す。GTK+ 2サポートはまだ試行中なので注意してください。しかしながら多くの人がう
461 まく動いていると報告しています。
463 そうではなくて、MotifあるいはAthenaを使用しているならば、configureが見に行かな
464 いないディレクトリにMotifあるいはAthenaファイルがあるときには、ディレクトリ名
465 を記入するためにMakefileを編集しなくてはならない。Motifのディレクトリを設定す
466 る例については"GUI_INC_LOC"、Athenaについては"CONF_OPT_X"を検索するとよい。
468                                                         *gui-x11-gtk*
469 これを書いている時点では、あなたはGTK+バージョン1.0.6か1.2のどちらかを使用して
470 いるかもしれない。v1.0.6を使用しているならば、Vimの全ての機能が存在する訳では
471 ないので、V1.2を使用することを勧める。例えば、v1.0.6にはティアオフ(tear off)メ
472 ニューが存在しない。GTK+のCVSツリーから持ってきたバージョンを使用すると動作す
473 るかもしれないし、動作しないかもしれない、したがってサポートされないし推奨され
474 ない。
476 GTK+ 2 GUIを試すには、GTK+ 2.0かGTK+ 2.2シリーズの最新版を使うことが推奨されま
477 す。ほとんどの場合でCVSツリーの最新版がうまく動くようです。
479 最後に、GTK+はWin32プラットフォームに恐らく移植されているけれども、これはVim
480 ではテストされていないし、サポートされてもいない。さらに、GTK+ GUI は一般的
481 な X11 のコードを使うのでコンパイルできそうもない。これはいつの日か変更され
482 るかもしれない。特に中心の X11 のコードを取り除くことは GTK+ フレームバッ
483 ファのサポートにも必要なため。
485                                                         *gui-x11-motif*
486 Motifについては、少なくともMotifバージョン1.2と/あるいはX11R5が必要である。
487 Motif 2.0とX11R6はOKである。Motif 1.1とX11R4は動作するかもしれないが保証しない
488 (多少の問題があるかもしれないが、少しの作業でそれをコンパイルし実行させられる
489 かもしれない、もしあなたがそうするなら、どうか私にパッチを送って欲しい)。
490 LessTifの最新リリースも問題なく動作すると報告を受けている。
492                                                         *gui-x11-athena*
493 AthenaバージョンはデフォルトでXaw ウィジットセットを用いる。3Dバージョンを持っ
494 ているならば、代わりにXaw3dでリンクしたいかもしれない。これはメニューを少しよ
495 く見せるかもしれない。Makefileを編集して、"XAW_LIB"を見に行くようにするとよい
496 。スクロールバーは、Vimは既に3Dのそれ自体を持っているので(実際には、それらはも
497 っとMotifのように見える)、同じままだろう。
499                                                         *gui-x11-neXtaw*
500 neXtawバージョンについては、異なるウィジェットを使うだけでほとんどAthenaと変わ
501 らない。
503                                                         *gui-x11-misc*
504 一般的には、異なったGTK+, Motif, AthenaとX11のバージョンからのファイルを混ぜよ
505 うとしてはならない。これは問題を引き起こすだろう。例えば、X11R6用のライブラリ
506 でX11R5用のヘッダファイルを使用しても動作しないだろう(リンクがエラーメッセージ
507 を出さないとしても、Vimは後でクラッシュするだろう)。
509 ==============================================================================
510 9. X11 セレクション                                   *x11-selection*
512 X11 を使っている場合、GUI や、xterm で Vim が X11 を認識している状態のとき、
513 Vim から X11 のセレクションやクリップボードを扱える。それらは "* レジスタと
514 "+ レジスタを使用して取り扱う。
516 X11 は 2 つの基本的な共通記憶域、セレクションとカットバッファを提供してい
517 る。これらは重要な点が異なっている。セレクションはアプリケーションが所有し、
518 Vim などのアプリケーションが終了するとなくなる、すなわちデータは失われる。一
519 方、カットバッファは、X サーバが記憶し、上書きされるか、ログアウトするなどし
520 て X サーバが終了するまで保存される。
522 セレクションの内容はそのアプリケーションによって保存され (コピー)、別のアプリ
523 ケーションがそれを求めたときに渡される (ペースト)。
525 カットバッファの内容はすぐに上書きされ、その元のアプリケーションを介さずに、
526 X サーバから直接読み込まれる。
528                                                         *quoteplus* *quote+*
529 文書化された 3 つの X セレクションがある。プライマリ (Vim のビジュアルモード
530 での選択のような、現在の選択範囲を表す)、セカンダリ (不明瞭である)、クリップ
531 ボード (カット、コピー、ペーストに使われる)。
533 この 3 つの内、Vim は "* レジスタを読み書きするときにはプライマリを使う (X11
534 セレクションが利用可能なとき、Vim は |'clipboard'| にデフォルトとして
535 "autoselect" を設定する)。"+ レジスタを読み書きするときにはクリップボードを
536 使う。Vim はセカンダリを使わない。
538 例: (オプションが標準設定のとき)
539 - Vim のビジュアルモードで URL を選択する。ブラウザの URL 入力欄でマウスのミド
540   ルボタンをクリックする。選択したテキストが入力される (うまくいけば!)。
541   Note: Firefox では、about:config を開き、middlemouse.contentLoadURL を true
542   にすれば、ウィンドウ内をミドルクリックすることで、この URL を開くことができ
543   る。
544 - ブラウザでマウスをドラッグしてテキストを選択する。Vim でマウスのミドルボ
545   タンをクリックすると選択したテキストが入力される。
546 - Vim でテキストを選択して "+y を実行する。ブラウザのテキストエリアでマウス
547   をドラッグしてテキストを選択する。そのまま右クリックしてポップアップメ
548   ニューから "Paste" を選択する。選択したテキストは Vim で選択したテキストに
549   置き換わる。
550 Note "+ レジスタのテキストはビジュアル選択しただけで変更されない。"* レジス
551 タは変更される。つまり選択したテキストを上書きできる。
552                                                         *x11-cut-buffer*
553 既定では 8 つのカットバッファがある。CUT_BUFFER0 から CUT_BUFFER7 まで。Vim
554 は CUTBUFFER0 のみを使う。これは xterm が標準的に使っているものである。
556 Vim が利用不可能な状態 (終了やサスペンド) になり、他のアプリケーションのセレ
557 クションの要求に応答できなくなるときはいつでも、Vim は選択されている内容を
558 CUT_BUFFER0 に書き込む。"+ クリップボードセレクションが Vim のものであると
559 き、それが優先して書き込まれる。そうでなければ、 "* プライマリセレクションが
560 Vim のものであるときに、それが書き込まれる。
562 同様に、Vim が "* や "+ からペーストしようとするとき (明示的、もしくはマウス
563 のミドルボタンをクリックしたときの暗黙的な "* レジスタの使用)、要求した X セ
564 レクションが空もしくは利用不可能なら、Vim は CUT_BUFFER0 の現在の値を読み込
565 む。
567 Note これによってテキストが CUT_BUFFER0 にコピーされるときは、セレクションの
568 型情報 (文字、行、ブロック) は常に失われる。後にそれをペーストするのが Vim
569 であっても。
571 通常、Xterm は、選択したものをプライマリと CUT_BUFFER0 の両方に書き込む。
572 ペースト時には、利用可能であればプライマリが使われ、それができなければ
573 CUT_BUFFER0 が使用される。このため、Vim と xterm の間でのカットやペーストに
574 は "* レジスタを使わなければならない。Xterm はクリップボードを使わないので
575 "+ レジスタは使えない。
577 最近のほとんどのアプリケーションでは範囲選択でプライマリ ("*) を、カット、コ
578 ピー、ペーストの操作でクリップボード ("+) を使用するようになっている。そのた
579 め "* レジスタか "+ レジスタを選択して使用することができる。
582  vim:tw=78:sw=4:ts=8:ft=help:norl: