Merge branch 'MacVim'
[MacVim/KaoriYa.git] / runtime / doc / os_beos.jax
blob31875a3100bdd3ceba0b5d52b53f3cbae251d612
1 *os_beos.txt*   For Vim バージョン 7.2.  Last change: 2005 Mar 29
4                 VIMリファレンスマニュアル    by Bram Moolenaar
7                                                         *BeOS* *BeBox*
8 これはVim 5.1のBeOS Preview Release 2 (PR2として知られている)以降への移植であ
9 る。
10 (訳注:どうやらこのファイルの内容は長いことメンテナンスされていないらしい。BeOS
11 自体が廃れてしまったOSであるから致し方ないところか)
13 このファイルにはBeBox/BeOS向けのVimについての詳細が含まれている。このファイル
14 で議論されていないことについては、VimはUNIX|os_unix.txt|版とほとんど同じように
15 動作する。
17  1. 概要                  |beos-general|
18  2. Vimのコンパイル           |beos-compiling|
19  3. Terminalでのタイムアウト    |beos-timeout|
20  4. Unicode vs. Latin1          |beos-unicode|
21  5. BeOSのGUI                    |beos-gui|
22  6. $VIMディレクトリ          |beos-vimdir|
23  7. ドラッグ&ドロップ           |beos-dragndrop|
24  8. Single Launch vs. Multiple
25     Launch                      |beos-launch|
26  9. フォント                        |beos-fonts|
27 10. メタキー                        |beos-meta|
28 11. マウスキーマッピング  |beos-mouse|
29 12. 色の名前                        |beos-colors|
30 13. Perl機能をコンパイル        |beos-perl|
33 ==============================================================================
34 1. 概要                                                   *beos-general*
36 デフォルトの構文強調は大抵は強調する単位ごとに異なる前景色になる。これは
37 Terminalウィンドウの背景色を暗く、文字色を明るく設定した時に一番見栄えがする。
38 中間くらいの灰色((R,G,B)=(168,168,168)くらいのもの)の背景と黒い文字でも素晴ら
39 しく見栄えがする。デフォルトの明るい背景に暗い文字を使っているならば、前景色と
40 背景色の設定を単純に反転すればより良く見えるようになるだろう。これを行なうに
41 は、次の設定をファイル.vimrcに追加する(例中の<Esc>はエスケープキャラクタで置き
42 換える必要がある): >
44   :if &term == "beos-ansi"
45   :    set t_AB=<Esc>[3%dm
46   :    set t_AF=<Esc>[4%dm
47   :endif
49 ==============================================================================
50 2. Vimのコンパイル                                    *beos-compiling*
52 Advanced Access Preview Release (AAPR) 以降で、Vimは標準のconfigureスクリプトで
53 構成できるようになった。コンパイラを取得し、正しいフラグを設定するために次のコマンドをシェルで実行する(カット&ペーストすることができる)。
55 CC=$BE_C_COMPILER CFLAGS="$BE_DEFAULT_C_FLAGS -O7" \
56     ./configure --prefix=/boot/home/config
58 $BE_C_COMPILERは通常"mwcc"で、$BE_DEFAULT_C_FLAGSは"-I- -I."になる。
60 configureを実行する時に、GUIサポートを有効化したいならば、config.mkを編集して
61 GUI_xxxが$(NONE_xxx)ではなく$(BEOSGUI_xxx)を参照するように変更する必要がある。
62 代わりにMakefileをこのように変更することもできる; そのほうが普遍的な影響を持
63 つ。"NONE_"を検索すると良い。
65 コンパイルした後でバイナリにリソースを追加する必要がある。次の行をスクリプト
66 link.shの終わり(exit $exit_value"の手前)近くに付け加え、これを自動的に行なうよ
67 うにする。 >
69     rmattr BEOS:TYPE vim
70     copyres os_beos.rsrc vim
71     mimeset vim
73 "strip"のダミーファイルも作る: >
75     #!/bin/sh
76     mimeset $1
77     exit 0
79 これは"make install"でVimをインストールする時に必要になる。
81 Vimをコンパイルするために"make"とタイプし、インストールのために"make intall"と
82 する。
84 Vimを手動でインストールするならば、Vimを$HOME/config/binにコピーし、一連の
85 symlink({g,r,rg}{vim,ex,view})を作成しなければならない。その上Vimの構成ファイ
86 ル: vims-5.0s/{*.vim,doc,syntax}を$HOME/config/share/vimにコピーしなければなら
87 ない。完全にするためにはnroffのmanページも$HOME/config/man/man1にコピーする必
88 要がある。それとctags/ctagsとxxd/xxdも忘れないように!。
90 明白だがVimを実際にリンクするには制限されていないリンカが必要だ。BeOS用の
91 CodeWarriorコンパイラを購入するならばhttp://www.metrowerks.com/を参照。現在の
92 ところをそれをこなせるほかのリンカは存在しない。
94 ただしそのリンカでは、PerlやPythonが正しくインストールされていたとしても、それ
95 らのインターフェースをVimに含めることはできない。 |beos-perl|
97 ==============================================================================
98 3. Terminalでのタイムアウト                             *beos-timeout*
100 (訳注:恐らくTerminalとはアプリケーション名であるから端末と呼ぶのは不適切)
101 幾つかのPOSIX/UNIXの機能が未だ実装されていない[1]からBeOSは、Terminalにおいて
102 タイムアウトを伴う読み込みを行なうことを、直接にサポートはしていない。そのため
103 に: >
104     :set notimeout
105 をしない限り、1文字以上のキーをマップすることができないということに遭遇するだ
106 ろう。 ('timeout'参照)
108 この問題を回避するために、1文字先を読み込む特別なスレッドを使用して、必要なタ
109 イムアウト付き入力を用意するワークアラウンドを追加した。その副作用として、
110 Terminalウィンドウのサイズが変わった時(訳注:最小化など通常はキーボードフォーカ
111 スが失われる場合)でもVimはキー入力を認識するようになった。
113 Terminalではファンクションキーは非常に独特のキーシーケンスを生成するのでサポー
114 トしていない。
116 これらの問題はGUI版には存在しない。
118 [1]: ファイルディスクリプタに使えるselect()が無い; termiosのVMINとVTIMEの設定
119 も正しく動作していないようだ。この問題はDR7から存在しPR2に至るまで修正されてい
120 ない。
122 ==============================================================================
123                                                         *beos-unicode*
124 4. Unicode vs. Latin1                                   *beos-utf8*
126 BeOSは文字列にUnicodeとUTF-8を(16ビット文字を8ビット文字にエンコードして)使っ
127 ている。VimはISO-Latin1かその他の8ビットエンコーディングを前提としている。その
128 ため非ASCII文字に対して望む結果は得られない。それを確認するにはコマンド
129 :digraphs を試すことができる。ISO-Latin1の文字コード128-255の文字が乱れて表示
130 されてしまうならば、 :set isprint=@ を使うと(ほんの少し)改善されるかもしれな
131 い。これにはGUIの方が良く、また使用しているフォントによって改善具合は異なる(以
132 下も参照)。
134 ファイルをUTF-8とISO-Latin1の間でコンバートするのにはコマンド/boot/bin/xtouを
135 使う。xtou -f iso1 filename でUTF-8へ、逆に xtou -t iso1 filename でISO-Latin1
136 へコンバートできる。
138 ==============================================================================
139 5. BeOSのGUI                                             *beos-gui*
141 gvimかvim -gで起動した時には通常VimはGUIで起動する。BeOS版はTerminalではなく
142 Trackerから起動されたのならば、とにかくGUIを使うことにしている。しかしながら今
143 ある検出機構は未熟なので、"vim - < /dev/null" や "vim filename&"といったコマン
144 ドを使用すると騙されてしまう。BSDスタイルのジョブ制御がないから、後者はその様
145 に動作するだけだが仕様と呼ぶこともできるだろう。
147 まだ動作しない項目:
149 - GUIでの外部コマンド実行は100%動作するわけではない(再びselect()への対応が足り
150   ないから)。コマンドの出力を取るか、割込めるようにするかの選択肢がある。実装
151   は前者を選択している。またコマンドは不可解に落ちることさえある。どうやらBeの
152   fork()後のputenv()関数から呼ばれるmalloc_internal()に問題があるらしい。(デー
153   タアクセス例外が起こる: ec01b0ec:90e80000 *stw r7, 0x0000 (r8)) (:!lsは普通
154   に動作するが、:r !lsは動作しない)。これは既に不具合 #971215-083826 として報
155   告済み。
156 - ウィンドウタイトル
157 - Terminalのvimから:guiでGUIを起動した場合、それは常に:gui -fのように動作す
158   る。知り得る限りで、今のところこれを解決する方法はない。
159 - 後に修正したい表示上の小さな問題があちこちにある。それらの多くはウィンドウの
160   一部が覆い隠されていた時に起こる。それらの幾らかはTerminalでも見る事ができる
161   から、BeOSの不具合と考えられる。
162 - ウィンドウの外でマウスボタンを離した時にはそれをイベントが生成されない。これ
163   はBeOSの不具合である。マウスでテキストを選択している時に、ウィンドウの外へ
164   カーソルを持って行きそこで離すことで再現できる。他にはスクロールバーをドラッ
165   グしている時に同じ操作をする方法もある。Vimはユーザがまだスクロールバーを
166   使っていると考えているから、それをVim自身で変えるような事はしない。ウィンド
167   ウが有効化か無効化されたときにはそれを戻すワークアラウンドが施してある(だか
168   らフォーカスをマウスの下にあるウィンドウに自動的に写す仕組み(/boot/bin/ffm)
169   と一緒に使用すると都合が良い。
171 - カーソルが点滅しない(低優先度; 筆者はカーソルが点滅するのは好きではない)
173 ==============================================================================
174 6. $VIMディレクトリ                                   *beos-vimdir*
176 $VIMにはVim支援ファイルの格納場所が記憶されている。$VIMのデフォルトはコンパイ
177 ル時に設定され次のコマンドで確認することができる: >
179   :version
181 通常の値は/boot/home/config/share/vimである。これが気に入らなければ環境変数VIM
182 を設定することでこれを上書するか、.vimrcで'helpfile'を設定する: >
184   :if version >= 500
185   :    set helpfile=~/vim/vim54/doc/help.txt
186   :    syntax on
187   :endif
189 ==============================================================================
190 7. ドラッグ&ドロップ                                    *beos-dragndrop*
192 Vimのアイコン、ウィンドウどちらにでもファイルやディレクトリをドロップすること
193 ができる。アイコンにドロップした際には、アプリケーションFile Typeを使ってVimに
194 "Single Launch"を割り当てなくとも新しいVimが起動する。ウィンドウの場合はその
195 ファイルの編集が開始される。フォルダをドロップするとVimの現在の作業ディレクト
196 リがそのフォルダへ変更される。|:cd|や|:pwd|を参照。<Shift>を押しながらファイル
197 をドロップしたならば、ドロップされた最初のファイルのあるディレクトリに変更す
198 る。ドロップによりVimを起動する時には<Shift>は必要ない: Vimは自動的に移動する
199 から。
201 ファイルがドロップされると現在の引数リストが設定される。|argument-list|
203 ==============================================================================
204 8. Single Launch vs. Multiple Launch                    *beos-launch*
206 Vimのアプリケーションフラグ(FileTypesの設定に見られる)はMultiple Launchに設定
207 される。望むならSingle Launchに設定することもできる。それにより既に起動してい
208 るVimでファイルを開くのではなく2つ目のVimを起動するようになる。これはTrackerか
209 ら起動した場合にのみ適用され、コマンドラインにも適用される。その後者の場合、
210 ファイル(やオプション)を設定しない起動はサポートされない
212 NB: GUI版だけがBApplicationを持つ(だからアプリケーションフラグがある)。この非
213 GUI版にはこのセクションは無いので、コンパイル時に設定する必要がある。
215 ==============================================================================
216 9. フォント                                         *beos-fonts*
218 フォントは次のように設定する: >
220   :set guifont=Courier10_BT/Roman/10
222 指定するフォント名はフォントファミリ、スタイル、大きさの3つの部分から構成され
223 る。ファミリ名とスタイル名の中のスペースはアンダースコア('_')で置き換えて使用
224 する。
226 (Courierのような)等幅フォントを指定すると一番良い結果が得られる。Vimは全ての
227 フォントをB_FIXED_SPACINGモードで使用するよう試みるが、どうやらプロポーショナ
228 ルフォントについては(BeBookに書かれているにも関わらず)動作しない。
230 VimはISO Latin 1を意味するB_ISO8859_1エンコードを使用するようにも試みる。これ
231 も全てのフォントについては動作しない。Courierには動作するが、なんとも不思議だ
232 がProFontISOLatin1/Regularには動作しない。次のコマンドでこれを確かめることがで
233 きる: >
235   :digraphs
237 このコマンドはISO Latin 1エンコーディングで表現される文字の集合を表示する。例
238 えばそれらの中に四角い文字があった場合や、最後の文字が点の付いたyでなかった場
239 合には、そのフォントとエンコーディングの組み合わせは使えないことを意味する。
241 指定したフォントが存在しない場合、システムの固定幅フォントが利用される。
243 標準的な固定幅のシステムフォントは以下の通り:
245               ProFontISOLatin1/Regular
246                   Courier10_BT/Roman
247                   Courier10_BT/Italic
248                   Courier10_BT/Bold
249                   Courier10_BT/Bold_Italic
251 標準的なプロポーショナルシステムフォントは以下の通り:
253                     Swis721_BT/Roman
254                     Swis721_BT/Italic
255                     Swis721_BT/Bold
256                     Swis721_BT/Bold_Italic
257                 Dutch801_Rm_BT/Roman
258                 Dutch801_Rm_BT/Italic
259                 Dutch801_Rm_BT/Bold
260                 Dutch801_Rm_BT/Bold_Italic
261                    Baskerville/Roman
262                    Baskerville/Italic
263                    Baskerville/Bold
264                    Baskerville/Bold_Italic
265                  SymbolProp_BT/Regular
267 幾つか試してみると面白いだろう。
269 ==============================================================================
270 10. メタキー                                                *beos-meta*
272 META修飾キーは左右のOPTIONSによって代用される。これはALT(別名COMMAND)キーがア
273 プリケーションからは使えないための措置である。
275 ==============================================================================
276 11. マウスキーマッピング                          *beos-mouse*
278 Vimは各マウスボタンをLeftMouse, MiddleMouseそしてRightMouseと呼んでいる。
279 デフォルトのマウス設定で使用しているならば、これらの名前はそのボタンの位置を正
280 確に反映している。Vimは次のマッピングを行なっている:
282     Button 1 -> LeftMouse,
283     Button 2 -> RightMouse,
284     Button 3 -> MiddleMouse.
286 使っているマウスのボタンが3つより少ない場合には、クリックを修飾操作と同時に行
287 なうことでそのボタンを利用できる。例としてはファイル
288 vim-5.x/macros/swapmous.vimを参照すること。             |gui-mouse-mapping|
290 ==============================================================================
291 12. 色の名前                                                *beos-colors*
293 Vimには多くの色の名前が組み込まれている。さらに$VIMRUNTIME/rgb.txtが存在してい
294 れば、そこから追加の名前が読み込まれる。このファイルは基本的にX11の色データベ
295 ースである。このファイルの中にある名前は実行速度を確保するためにキャッシュされ
296 る。
298 ==============================================================================
299 13. Perl機能をコンパイル                                *beos-perl*
301 Perlをサポートするようコンパイルするには少しトリックが必要である。Metrowerksの
302 コンパイラにはインクルード文のファイルを探す場所について幾つかおかしな趣向があ
303 る。Perlのインクルードファイルには幾つかVimのヘッダファイルと同じ名前のものが
304 あり、間違ったものがインクルードされてしまう。これを修正するには、次のPerlスク
305 リプトをディレクトリvim-5.0/srcで実行する: >
307    preproc.pl > perl.h
309     #!/bin/env perl
310     # Simple #include expander, just good enough for the Perl header files.
312     use strict;
313     use IO::File;
314     use Config;
316     sub doinclude
317     {
318         my $filename = $_[0];
319         my $fh = new IO::File($filename, "r");
320         if (defined $fh) {
321             print "/* Start of $filename */\n";
323             while (<$fh>) {
324                 if (/^#include "(.*)"/) {
325                     doinclude($1);
326                     print "/* Back in $filename */\n";
327                 } else {
328                     print $_;
329                 }
330             }
331             print "/* End of $filename */\n";
333             undef $fh;
334         } else {
335             print "/* Cannot open $filename */\n";
336             print "#include \"$filename\"\n";
337         }
338     }
340     chdir     $Config{installarchlib}."/CORE";
341     doinclude "perl.h";
343 これはヘッダーファイル"perl.h"を、その他のPerl用ファイルを使って展開する。
345 これで--enable-perlinterpオプションをつけてconfigureとmakeをすることができる。
346 これはVimのサイズを約616KB増やしてしまうことに注意!。Perlを追加しなければ、デ
347 フォルトの機能とGUIを備えたPerlは約575KBで、Perlを追加したものは約1191KBであ
348 る。
350 -Olaf Seibert
352 [Note: これらのアドレスはもう機能していない]
353 <rhialto@polder.ubc.kun.nl>
354 http://polder.ubc.kun.nl/~rhialto/be
356 ==============================================================================
357  vim:tw=78:ts=8:ft=help:norl: