Merge branch 'MacVim'
[MacVim/KaoriYa.git] / runtime / doc / os_os2.jax
blob8d10b08572c83f7924771a989e3268b3b10d9ef1
1 *os_os2.txt*    For Vim バージョン 7.2.  Last change: 2007 Apr 22
4                 VIMリファレンスマニュアル    by Paul Slootman
7                                                         *os2* *OS2* *OS/2*
8 このファイルはVimのOS/2バージョンの詳細について述べている。
10 現在のところ、VimのGUIバージョンのネイティブPMは存在しない: OS/2バージョンはコ
11 ンソールアプリケーションである。しかしながら、Warp4(Win32sをサポートしている)
12 のユーザならば、Win-OS/2セッションで使用できるWin32sコンパチブルなGUIバージョ
13 ンが存在する。このファイルではネイティブのコンソールバージョンについて言及す
14 る。
17 注意 ~
19 このOS/2への移植版や、私(訳注:筆者Paul Slootman)や、何人かのOS/2ユーザにとって
20 はちゃんと動作する;しかしフィードバックは少ししかもらえてないので、(OS/2特有
21 の)バグがまったく(以下で言及するものを加えても)無いか、バグが現れるような状況
22 にまだ誰も至っていないのか、のどちらかである。DosとUnixモードでのファイル入出
23 力、バイナリモード、FATの取り扱いなどは、トラブルになっても良さそうだが、全て
24 正しく動いている。
26 知られている問題の一つは、Vimによって開かれたファイルが、Vimのシェルエスケープ
27 経由で起動されたプログラムによって、継承されてしまうことである。これは特に、そ
28 の時実行されていたほかのプログラムがあると、そのプログラムが終了するまで、Vim
29 がバッファに関連付けられたスワップファイルを消すことができないことを意味する。
30 スワップファイルを消す時に、Vimは消去に失敗してしまうので結局消すことができな
31 い。そのファイルに対して再びVimセッションを開始しようとすると、警告メッセージ
32 を受け取ることになる。これは":!start epm"とすると再現できる。Vimを一度終了し、
33 epmをスタートした時に編集していたファイルを開いてみよう。いま、これの修正を試
34 みている。
36 2つ目の問題は、OS/2システムをUnixに対してtelnetしてVimを起動したように、ネット
37 ワーク経由で使用している状況を、Vimが検出できないことにある。OS/2が「時々」
38 ファンクションやカーソルキーを認識し、対応する普通のPCのキーボードから生成され
39 るOS/2のコードへ変換することから、生じる問題のようである。既に幾つか実験はして
40 いる(OS/2コードを正しい機能にマッピングしたり)が、最終的なことは何も言えない
41 (余談だがこれはWarp 3で起こる)。そのうち正しく理解されるだろう。
44 必要条件 ~
46 Vimを実行するために、emxのランタイム環境が必要になる(最新版は0.9b)。大体次の名
47 前で存在する(それについてArchieに聞け(訳注:本当?)):
49     emxrt.zip     emx runtime package
51 LIBPATHに示されるディレクトリのどれかに置くべき、emx.dllのコピーを同梱してあ
52 る。EmxはGPLに基づき配布されるが、emx.dllライブラリはそうではない(どういう意味
53 かはCOPYING.EMXを参照すればわかる)。
55 このemx.dllは、emxfix04.zipパッケージの中にあったもので、残念なことにPOSIXの機
56 能であるselect()にバグ持ちである。Vimの3.27よりも古いバージョンは起動する時に
57 ハングしてしまう(正確にはvimrcの読み込み中)。これが起こってしまうと、Vimが起動
58 するまでに何回か<Enter>を叩くことになる。そんときゃVimを更新したほうが良い。
61 ヘルプとVIMRCファイル ~
63 手に入れたVimのアーカイブを解凍し、解凍した場所からVimを直接起動すれば、Vimは
64 ランタイムに必要になるファイルや.vimrcを見つけることができるので、特に設定は要
65 らない。
67 ランタイムファイルをバイナリとは別の場所に置くならば、環境変数VIMがヘルプファ
68 イルやシステムの.vimrcの場所を見つけるのに使用される。次のようなエントリーを
69 CONFIG.SYSに書く: >
71   SET VIM=c:/local/lib/vim
73 このディレクトリに.vimrcファイルと、その他のVim用ファイルを置く。runtimeディレ
74 クトリをこのディレクトリにコピーする。Vimはバージョン毎に独自のruntimeディレク
75 トリを持っている。それは"c:/local/lib/vim/vim54"のように呼ばれる。これでこのよ
76 うなVimのツリーができあがる:
77         c:/local/lib/vim/.vimrc
78         c:/local/lib/vim/vim54/filetype.vim
79         c:/local/lib/vim/vim54/doc/help.txt
80         etc.
82 Note: OS/2をFATファイルシステムにインストールした場合に対応するため、.vimrc
83 ファイルは_vimrcでも構わない。Vimはまず.vimrcを探し、それに失敗したら同じ場所
84 で_vimrcを探す。.vimrcもしくは_vimrcの存在が'compatible'オプションに影響を与
85 え、思わぬ副作用を生むことがある。|'compatible'|参照。
87 OS/2でネットワークドライバを使用するならば、ネットワークドライブにVimをインス
88 トールすることができ(.vimrcファイルを含めて; これを「システム」vimrcファイルと
89 言う)、個人的な.vimrcのコピーを使う(これが「ユーザ」vimrcファイル)。ユーザ
90 vimrcファイルは環境変数HOMEに示されるディレクトリに置く。
93 ファイル名内の環境変数 ~
95 環境変数HOMEは、ファイル名のなかで~が使用されたときにも使われ、":e ~/textfile"
96 はHOMEによって示されるディレクトリにある"textfile"を編集することになる。さらに
97 その他の環境変数も、":n $SRC/*.c"のようにファイル名の中に使用することができ
98 る。
100 環境変数HOMEha.viminfoファイルの位置を指定するのにも使われる(|viminfo-file|参
101 照)。FATファイルシステム上に.viminfoを置くことには、申し訳ないがまだ対応してい
102 ない。しかし、-iの起動フラグ("vim -i $HOME/_viminfo"のように)を試すことはでき
103 る。
105 環境変数HOMEが指定されていない場合は、デフォルトとして"C:/"が使用される。
108 バックスラッシュ ~
110 スラッシュ('/')とバックスラッシュ('\')を使うと、ちょっとした問題がある(詳しい
111 説明は|dos-backslash|)が、Vimは殆どの場合「正しい」判断をする。Vim自信もファイ
112 ル名にバックスラッシュを使うが、しかし幸いにも入力されれば普通のスラッシュも受
113 け付ける(実際、そうしたほうが都合が良い事がある)。
116 一時ファイル ~
118 一時ファイル(フィルタリング用)は次に示すディレクトリで、ファイルを作成できた最
119 初のディレクトリに置かれる:
120         $TMP
121         $TEMP
122         C:\TMP
123         C:\TEMP
124         現在のディレクトリ
125         current directory
128 端末設定 ~
130                                                         *os2ansi*
131 環境変数TERMには"os2ansi"を用いる(もしくはなにもしない、デフォルトで正しく設定
132 される)。他のアプリケーション用にTERMを別の値に設定しなければならない時には、.
133 vimrcの中で端末としてos2ansiを設定することができる。OS/2のANSIエミュレーション
134 にはかなり制限があることは問題である(例えば行単位での挿入や削除が無い)。
136 もしも(別のプログラムを使用しているとかで) TERMとして別の値を使いたいならば、
137 TERMに設定する値が、termcapに適切なキーマッピングを持つエントリとして含まれて
138 いるか確認する。emxと一緒に配布されるtermcap.datが常にあるとは限らない。選択し
139 たtermcapエントリーに付け加えるのに適当な値の幾つかがこれである; これらはカー
140 ソルキーや、名前つき機能キー(pagedownとか)が効くようにしている。
142         :ku=\316H:kd=\316P:kl=\316K:kr=\316M:%i=\316t:#4=\316s:\
143         :kD=\316S:kI=\316R:kN=\316Q:kP=\316I:kh=\316G:@7=\316O:\
144         :k1=\316;:k2=\316<:k3=\316=:k4=\316>:k5=\316?:k6=\316@:\
145         :k7=\316A:k8=\316B:k9=\316C:k;=\316D:
148 Paul Slootman
151 43行ウィンドウ ~
153 Steven Tryonが提案した、大きなウィンドウでVimを起動する方法:
155 PMMailのようなOS/2 WPSのアプリケーションからVimを起動する時には、デフォルトの
156 25行モードで起動する。快適なウィンドウサイズで使うために、独自の拡張エディタを
157 "vimbig.cmd"として定義し、'vimbig2.cmd"を呼ぶようにする。多分、かなり強引な方
158 法だけど、でもちゃんと動く。
160 vimbig.cmd: >
161    @echo off
162    start "Vi Improved" /f vimbig2.cmd %1 %2 %3 %4
164 vimbig2.cmd: >
165    @echo off
166    mode 80,43
167    vim.exe %1 %2 %3 %4
168    exit
171 クリップボードを使う (Alexander Wagnerの提供)
173 OS/2版のVimはシステムのクリップボードに直接アクセスできない。クリップボードを
174 使うにはほかのアプリケーションを経由する必要がある。これには Stefan Gruendel
175 によるフリーソフトのパッケージ clipbrd.zip が使える。コンパイルされたバイナリ
176 と全てのソースがここからダウンロードできる:
177         http://www.stellarcom.org/vim/index.html
179 このパッケージのインストールは、パッケージに入っている二つの実行可能ファイルを
180 Vimから呼び出せるようにPATHが通ったディレクトリに置くだけである。
182 クリップボードからVimにコピーするには :r コマンドを使う。次のようにして
183 clipbrd.exeを呼び出すだけだ: >
185         :r !clipbrd -r
187 Vimからシステムのクリップボードにコピーするには普通にテキストを選択して次の
188 ようにする: >
190         :!clipbrd -w
192 これで選択したものをOS/2のクリップボードに書き込める。
194 簡単に使えるようにこのコマンドをマッピングしておくとよい。例えばクリップボー
195 ドからVimに張り付けるのに F11 を使い、選択したテキストをクリップボードにコ
196 ピーするのに F12 を使うなら: >
198         if has("os2")
199           imap <F11>     <ESC>:r !clipbrd -r<CR>i
200           vmap <F12>     :!clipbrd -w<cr>
201         else
202           imap <F11>     <ESC>"*p<CR>i
203           vmap <F12>     "*y
204         endif
206 これはOS/2では clipbrd を使い他のプラットフォームではVimの機能を使う。(この
207 機能をいつも有効にしておくには .vimrc に上記の内容を書いておく)
209  vim:tw=78:ts=8:ft=help:norl: