1 *os_beos.txt* For Vim バージョン 7.2. Last change: 2005 Mar 29
4 VIMリファレンスマニュアル by Bram Moolenaar
8 これはVim 5.1のBeOS Preview Release 2 (PR2として知られている)以降への移植であ
10 (訳注:どうやらこのファイルの内容は長いことメンテナンスされていないらしい。BeOS
11 自体が廃れてしまったOSであるから致し方ないところか)
13 このファイルにはBeBox/BeOS向けのVimについての詳細が含まれている。このファイル
14 で議論されていないことについては、VimはUNIX|os_unix.txt|版とほとんど同じように
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
28 11. マウスキーマッピング |beos-mouse|
29 12. 色の名前 |beos-colors|
30 13. Perl機能をコンパイル |beos-perl|
33 ==============================================================================
36 デフォルトの構文強調は大抵は強調する単位ごとに異なる前景色になる。これは
37 Terminalウィンドウの背景色を暗く、文字色を明るく設定した時に一番見栄えがする。
38 中間くらいの灰色((R,G,B)=(168,168,168)くらいのもの)の背景と黒い文字でも素晴ら
39 しく見栄えがする。デフォルトの明るい背景に暗い文字を使っているならば、前景色と
40 背景色の設定を単純に反転すればより良く見えるようになるだろう。これを行なうに
41 は、次の設定をファイル.vimrcに追加する(例中の<Esc>はエスケープキャラクタで置き
44 :if &term == "beos-ansi"
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をこのように変更することもできる; そのほうが普遍的な影響を持
65 コンパイルした後でバイナリにリソースを追加する必要がある。次の行をスクリプト
66 link.shの終わり(exit $exit_value"の手前)近くに付け加え、これを自動的に行なうよ
70 copyres os_beos.rsrc vim
79 これは"make install"でVimをインストールする時に必要になる。
81 Vimをコンパイルするために"make"とタイプし、インストールのために"make intall"と
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 タイムアウトを伴う読み込みを行なうことを、直接にサポートはしていない。そのため
105 をしない限り、1文字以上のキーをマップすることができないということに遭遇するだ
108 この問題を回避するために、1文字先を読み込む特別なスレッドを使用して、必要なタ
109 イムアウト付き入力を用意するワークアラウンドを追加した。その副作用として、
110 Terminalウィンドウのサイズが変わった時(訳注:最小化など通常はキーボードフォーカ
111 スが失われる場合)でもVimはキー入力を認識するようになった。
113 Terminalではファンクションキーは非常に独特のキーシーケンスを生成するのでサポー
118 [1]: ファイルディスクリプタに使えるselect()が無い; termiosのVMINとVTIMEの設定
119 も正しく動作していないようだ。この問題はDR7から存在しPR2に至るまで修正されてい
122 ==============================================================================
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の方が良く、また使用しているフォントによって改善具合は異なる(以
134 ファイルをUTF-8とISO-Latin1の間でコンバートするのにはコマンド/boot/bin/xtouを
135 使う。xtou -f iso1 filename でUTF-8へ、逆に xtou -t iso1 filename でISO-Latin1
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 に動作するだけだが仕様と呼ぶこともできるだろう。
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 として報
157 - Terminalのvimから:guiでGUIを起動した場合、それは常に:gui -fのように動作す
158 る。知り得る限りで、今のところこれを解決する方法はない。
159 - 後に修正したい表示上の小さな問題があちこちにある。それらの多くはウィンドウの
160 一部が覆い隠されていた時に起こる。それらの幾らかはTerminalでも見る事ができる
162 - ウィンドウの外でマウスボタンを離した時にはそれをイベントが生成されない。これ
163 はBeOSの不具合である。マウスでテキストを選択している時に、ウィンドウの外へ
164 カーソルを持って行きそこで離すことで再現できる。他にはスクロールバーをドラッ
165 グしている時に同じ操作をする方法もある。Vimはユーザがまだスクロールバーを
166 使っていると考えているから、それをVim自身で変えるような事はしない。ウィンド
167 ウが有効化か無効化されたときにはそれを戻すワークアラウンドが施してある(だか
168 らフォーカスをマウスの下にあるウィンドウに自動的に写す仕組み(/boot/bin/ffm)
171 - カーソルが点滅しない(低優先度; 筆者はカーソルが点滅するのは好きではない)
173 ==============================================================================
174 6. $VIMディレクトリ *beos-vimdir*
176 $VIMにはVim支援ファイルの格納場所が記憶されている。$VIMのデフォルトはコンパイ
177 ル時に設定され次のコマンドで確認することができる: >
181 通常の値は/boot/home/config/share/vimである。これが気に入らなければ環境変数VIM
182 を設定することでこれを上書するか、.vimrcで'helpfile'を設定する: >
185 : set helpfile=~/vim/vim54/doc/help.txt
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は自動的に移動する
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 ==============================================================================
220 :set guifont=Courier10_BT/Roman/10
222 指定するフォント名はフォントファミリ、スタイル、大きさの3つの部分から構成され
223 る。ファミリ名とスタイル名の中のスペースはアンダースコア('_')で置き換えて使用
226 (Courierのような)等幅フォントを指定すると一番良い結果が得られる。Vimは全ての
227 フォントをB_FIXED_SPACINGモードで使用するよう試みるが、どうやらプロポーショナ
228 ルフォントについては(BeBookに書かれているにも関わらず)動作しない。
230 VimはISO Latin 1を意味するB_ISO8859_1エンコードを使用するようにも試みる。これ
231 も全てのフォントについては動作しない。Courierには動作するが、なんとも不思議だ
232 がProFontISOLatin1/Regularには動作しない。次のコマンドでこれを確かめることがで
237 このコマンドはISO Latin 1エンコーディングで表現される文字の集合を表示する。例
238 えばそれらの中に四角い文字があった場合や、最後の文字が点の付いたyでなかった場
239 合には、そのフォントとエンコーディングの組み合わせは使えないことを意味する。
241 指定したフォントが存在しない場合、システムの固定幅フォントが利用される。
243 標準的な固定幅のシステムフォントは以下の通り:
245 ProFontISOLatin1/Regular
249 Courier10_BT/Bold_Italic
251 標準的なプロポーショナルシステムフォントは以下の通り:
256 Swis721_BT/Bold_Italic
258 Dutch801_Rm_BT/Italic
260 Dutch801_Rm_BT/Bold_Italic
264 Baskerville/Bold_Italic
265 SymbolProp_BT/Regular
269 ==============================================================================
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 ースである。このファイルの中にある名前は実行速度を確保するためにキャッシュされ
298 ==============================================================================
299 13. Perl機能をコンパイル *beos-perl*
301 Perlをサポートするようコンパイルするには少しトリックが必要である。Metrowerksの
302 コンパイラにはインクルード文のファイルを探す場所について幾つかおかしな趣向があ
303 る。Perlのインクルードファイルには幾つかVimのヘッダファイルと同じ名前のものが
304 あり、間違ったものがインクルードされてしまう。これを修正するには、次のPerlスク
305 リプトをディレクトリvim-5.0/srcで実行する: >
310 # Simple #include expander, just good enough for the Perl header files.
318 my $filename = $_[0];
319 my $fh = new IO::File($filename, "r");
321 print "/* Start of $filename */\n";
324 if (/^#include "(.*)"/) {
326 print "/* Back in $filename */\n";
331 print "/* End of $filename */\n";
335 print "/* Cannot open $filename */\n";
336 print "#include \"$filename\"\n";
340 chdir $Config{installarchlib}."/CORE";
343 これはヘッダーファイル"perl.h"を、その他のPerl用ファイルを使って展開する。
345 これで--enable-perlinterpオプションをつけてconfigureとmakeをすることができる。
346 これはVimのサイズを約616KB増やしてしまうことに注意!。Perlを追加しなければ、デ
347 フォルトの機能とGUIを備えたPerlは約575KBで、Perlを追加したものは約1191KBであ
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: