Contents

os_dos - vimdoc

Home
*os_dos.txt*    For Vim バージョン 7.3.  Last change: 2006 Mar 30


                  VIM REFERENCE MANUAL    by Bram Moolenaar


                                                        *dos* *DOS*
このファイルはMS-DOSおよびWin32バージョンのVimに共通の特殊事項をまとめる。
|os_win32.txt||os_msdos.txt|も参照すること。

1. ファイルの位置               |dos-locations|
2. バックスラッシュを使う       |dos-backslash|
3. 標準マッピング               |dos-standard-mappings|
4. 画面出力と色                 |dos-colors|
5. ファイルの書式               |dos-file-formats|
6. :cdコマンド                  |dos-:cd|
7. 中断                         |dos-CTRL-Break|
8. 一時ファイル                 |dos-temp-files|
9. 標準のシェルオプション       |dos-shell|

==============================================================================
1. ファイルの位置                                       *dos-locations*

Vimの実行ファイルと同じディレクトリに、ヘルプおよび構文のサブディレクトリがあ
るならば、特に何もする必要はない。レジストリや環境変数も設定する必要はない。た
だVimのディレクトリが検索パスに含まれるか、デスクトップ上のショートカットを利
用するだけでよい。

vimrcファイル("_vimrc"と"_gvimrc")は通常、ランタイムファイルがあるディレクトリ
の1つ上のディレクトリに置かれる。もしどこか違う場所に置きたいならば、環境変数
$VIMにそのディレクトリを設定する。例:
        set VIM=C:\user\piet
これは"c:\user\piet\_vimrc"を見つけるだろう。
Note: これはコンピュータを複数人で使う時のために用意されている。
      普通はデフォルトの場所に _vimrc ファイルを置いてください。

実行ファイルを別の場所に移動したい場合は、環境変数$VIMを設定する必要がある。ラ
ンタイムファイルは"$VIM/vim{version}"から見つけられる。例:
        set VIM=E:\vim
これはバージョン5.4のランタイムファイルを"e:\vim\vim54"から見つけるだろう。
Note: これは推奨しません。ランタイムディレクトリに実行ファイルを入れておくこと
      をお勧めします。

実行ファイルを移動し、「かつ」"_vimrc"と"_gvimrc"を他の場所に置きたい場合は、
$VIMにvimrcファイルの場所を、$VIMRUNTIMEにランタイムファイルの場所を設定する。
例:
        set VIM=C:\usr\piet
        set VIMRUNTIME=E:\vim\vim54
これは"c:\user\piet\_vimrc"ファイルと"e:\vim\vim54"にあるランタイムファイルを
見つけるだろう。

さらに情報が欲しいときは|$VIM||$VIMRUNTIME|を参照すること。

Windows 95では、$VIMをC:\autoexec.batファイルに設定できる。例:
   set VIM=D:\vim
Windows NTでは、環境変数をユーザごとに別々に設定することができる。"スタート/設
定/コントロールパネル->システム"、もしくは"マイ コンピュータ"のプロパティを通
して、環境変数のタブに行く。

==============================================================================
2. バックスラッシュを使う                               *dos-backslash*

ファイル名にバックスラッシュを使うことは問題となり得る。Viではいくつかのコマン
ドにおいて、バックスラッシュの数を半分にする。Vimはもう少し寛大で、ファイル名
からバックスラッシュを取り除かないので、":e c:\foo\bar"は期待通りに機能する。
しかしバックスラッシュが特別な文字(スペース、カンマ、バックスラッシュなど)の前
に現れた場合は、Vimはバックスラッシュを取り除く。問題を避けるにはスラッシュを
使用する: ":e c:/foo/bar"はうまく機能する。MS-DOSプログラムやWin32プログラムの
なかにはこれが問題となるものもあるので、Vimは問題を避けるために内部でスラッシュ
をバックスラッシュに置き換える。

スラッシュを使うのを好むのなら、'shellslash'オプションを設定する。するとVimは
ファイル名を展開するときにバックスラッシュをスラッシュに置き換える。これは
Unix-likeの'shell'を使用しているときに特に有用である。

==============================================================================
3. 標準マッピング                               *dos-standard-mappings*


以前の CTRL-PageUp と CTRL-PageDown へのマッピングは削除された。今、これらのキー
はそれぞれ次、前のタブページへジャンプする。|<C-PageUp>| |<C-PageDown>|

これらのキーを画面上の最初、最後の行へジャンプに使いたければ次のマッピングをす
ればよい:

キー            キーコード   Normal/Visualモード    挿入モード
CTRL-PageUp     <M-N><M-C-D>        H               <C-O>H
CTRL-PageDown   <M-N>v              L$              <C-O>L<C-O>$

さらに、次のキーがコピー/切り取り/貼り付けに利用できる。Win32とDJGPPバージョン
でのみ、これらはクリップボードを使用する。

Shift-Insert    テキストを貼り付ける(クリップボードから)        *<S-Insert>*
                                                                *<C-Insert>*
CTRL-Insert     Visualモードでテキストをコピーする(クリップボードに)
                                                                *<C-Del>*
CTRL-Del        Visualモードでテキストを切り取る(クリップボードに)
                                                                *<S-Del>*
Shift-Del       Visualモードでテキストを切り取る(クリップボードに)

以下のマッピングは同様の目的を果たす(VimのWin32とDJGPPバージョン):

キー            キーコード   Normal     Visual      挿入モード
Shift-Insert    <M-N><M-T>   "*P        "-d"*P      <C-R><C-O>*
CTRL-Insert     <M-N><M-U>              "*y
Shift-Del       <M-N><M-W>              "*d
CTRL-Del        <M-N><M-X>              "*d

もしくは次のマッピング(VimのWin32ではないバージョン):

キー            キーコード   Normal     Visual      挿入モード
Shift-Insert    <M-N><M-T>   P          d"0P        <C-R><C-O>"
CTRL-Insert     <M-N><M-U>              y
Shift-Del       <M-N><M-W>              d
CTRL-Del        <M-N><M-X>              d

クリップボードがサポートされているときは、レジスタの "* が使える。

==============================================================================
4. 画面出力と色                                         *dos-colors*

画面出力の方法は、標準ではbiosコールを使用する。これはたいていのシステムで直ち
に機能する。ansi.sysは必要ない。現在の画面モードを設定するには":mode"を使う。
|:mode|を参照すること。

Vimが使用する画面の色を変更するには|:highlight|コマンドを使用する。 Normal強調
表示グループはVimが普通のテキストに使う色を特定する。例えば、背景色が青で文字
色が灰色にするには:
        :hi Normal ctermbg=Blue ctermfg=grey
他に利用できるグループについては|highlight-groups|を参照すること。

DOSコンソールは太字や下線のような属性をサポートしていない。5つのモードで使用す
る色は9つの端末のオプションで設定できる。":highlight"コマンドによって直接色を
設定した場合には必要ないので注意すること; これらのオプションは古いバージョンの
Vimに互換性がある。 |'highlight'|オプションは5つのモードがどの操作のときに使用
されるかを特定する。

        :set t_mr=^V^[\|xxm             反転モードの開始
        :set t_md=^V^[\|xxm             太字モードの開始
        :set t_me=^V^[\|xxm             普通のテキストに戻る

        :set t_so=^V^[\|xxm             standoutモードの開始
        :set t_se=^V^[\|xxm             普通のテキストに戻る

        :set t_us=^V^[\|xxm             下線モードの開始
        :set t_ue=^V^[\|xxm             普通のテキストに戻る

        :set t_ZH=^V^[\|xxm             斜字モードの開始
        :set t_ZR=^V^[\|xxm             普通のテキストに戻る

^VはCTRL-V
^[は<Esc>
xxは前景色と背景色の数字を足した10進数の数値に置き換える:

色                       前景色           背景色
Black                       0               0
DarkBlue                    1              16
DarkGreen                   2              32
DarkCyan                    3              48
DarkRed                     4              64
DarkMagenta                 5              80
Brown, DarkYellow           6              96
LightGray                   7             112
DarkGray                    8             128 *
Blue, LightBlue             9             144 *
Green, LightGreen          10             160 *
Cyan, LightCyan            11             176 *
Red, LightRed              12             192 *
Magenta, LightMagenta      13             208 *
Yellow, LightYellow        14             224 *
White                      15             240 *

* ディスプレイモードによっては128以上の色コードは利用できず、コード128は文字を
  点滅させるだろう。

0を使用した場合は、Vimの開始時の色にリセットされる(普通は7で背景色が黒、文字色
が淡い灰色であるが、これは上書きできる。もしコマンドプロンプトから標準色を上書
きした場合は、vimrc内の強調表示色をいくつか調整する必要があるかもしれない---下
を参照)。
これがt_meのデフォルトである。

それぞれの強調表示モードの標準:
        t_mr    112      反転モード: 文字色Black(0)、背景色LightGray(112)
        t_md     15      太字モード: 文字色White(15)、背景色Black(0)
        t_me      0      通常モード(標準に戻る)

        t_so     31      standoutモード: 文字色White(15)、背景色DarkBlue(16)
        t_se      0      standoutモードの終了(標準に戻る)

        t_czh   225      斜字モード: 文字色DarkBlue(1)、背景色Yellow(224)
        t_czr     0      斜字モードの終了(標準に戻る)

        t_us     67      下線モード: 文字色DarkCyan(3)、背景色DarkRed(64)
        t_ue      0      下線モードの終了(標準に戻る)

これらは反転表示でも良く見えるようために選ばれているが、好みで変更してよい。

例:
   :set t_mr=^V^[\|97m  " 反転モードの開始: DarkBlue (1) on Brown (96)
   :set t_md=^V^[\|67m  " 太字モードの開始: DarkCyan (3) on DarkRed (64)
   :set t_me=^V^[\|112m " ノーマルモードに戻る: Black (0) on LightGray (112)

   :set t_so=^V^[\|37m  " standoutモードの開始: DarkMagenta (5) on DarkGreen
                                                                        (32)
   :set t_se=^V^[\|112m " ノーマルモードに戻る: Black (0) on LightGray (112)

==============================================================================
5. ファイルの書式                                       *dos-file-formats*

'fileformat'オプションに"dos"が設定されている場合(標準)、Vimは<NL><CR><NL>
end-of-line (<EOL>)として認識する。ファイルを保存したときは、Vimは<CR><NL>を使
用する。このため、ファイルを編集して保存した場合は、Vimは<NL><CR><NL>で置き
換える。

'fileformat'オプションが"unix"であるならば、Vimは<NL><EOL>として使用し、<CR>
を^Mと表示する。

Vimはどんなモードで読み込んでもDosモードで保存する(":se ff=dos")ことによって、
<NL><CR><NL>に置き換えることができる。
VimはDosモードで読み込み、Unixモードで保存する(":se ff=unix")ことによって、
<CR><NL><NL>に置き換えることができる。

Vimは'fileformats'が設定されている(標準)ときには自動的に'fileformat'を設定する
ので、あなたがしていることについて全く悩む必要がない。
                                        |'fileformat'| |'fileformats'|

スクリプトファイルやバイナリファイルを編集したいのならば、ファイルを読み込む前
'binary'オプションを設定するとよい。スクリプトファイルやバイナリファイルは
<NL>を含んでいて、Vimによって<CR><NL>に置き換えられてしまうかもしれない。 Vim
の起動時に"-b"(binary)オプションをつけることによって、自動的に'binary'を設定す
ることができる。

==============================================================================
6. :cdコマンド                                          *dos-:cd*

":cd"コマンドはドライブレターを認識し、カレントドライブを変更する。Cドライブに
するには":cd c:"とする。Dドライブの"foo"ディレクトリに移動するには":cd d:\foo"
とする。もしシステムがサポートしているならば、VimはUNC名も認識する; 例えば、
":cd \\server\share\dir"。|:cd|

==============================================================================
7. 中断                                                 *dos-CTRL-Break*

検索を中断するにはCTRL-Cの代わりにCTRL-Breakを使用する。Vimはキーを読み終える
までCTRL-Cを検知しない。

==============================================================================
8. 一時ファイル                                         *dos-temp-files*

16ビットもしくは32ビットのDOSのみ:
Vimは以下のリストの順番で、ディレクトリが存在し、かつVimがファイルを生成できる
最初のディレクトリに一時ファイル(フィルタ用)を置く:
        $TMP
        $TEMP
        C:\TMP
        C:\TEMP
        現在のディレクトリ

Win32バージョン(コンソール、GUIともに):
Vimは標準的なWindows関数を使って一時ファイル名(フィルタ用)を取得する。以下のリ
ストの順番で、ディレクトリが存在し、かつVimがファイルを生成できる最初のディレ
クトリが使用される:
        $TMP
        $TEMP
        現在のディレクトリ

==============================================================================
9. 標準のシェルオプション                               *dos-shell*

'sh'('shell')オプションはWindows 95では"command.com"、Windows NTでは"cmd.exe"
が標準で設定されている。VimはSHELLが定義されている場合はSHELLを、SHELLが定義さ
れていない状態でCOMSPECが定義されている場合はCOMSPECを代わりに使用する。Vimは
外部コマンドを"<shell> /c <command_name>"として起動する。新しいコマンドシェルを
起動するにはCTRL-Zをタイプする。"exit"でVimに戻る。     |'shell'| |CTRL-Z|

サードパーティのシェルを使用する場合は、|'shellcmdflag'| ('shcf')と
|'shellquote'| ('shq')か|'shellxquote'| ('sxq')オプションを設定する必要がある
かもしれない。不幸なことに、これは使っているVimのバージョンに依存する。例えば、
MKS Kornシェルやbashでは、オプションの値を以下のようになる:

                DOS 16ビット        DOS 32ビット        Win32 
'shellcmdflag'     -c                   -c               -c
'shellquote'       "
'shellxquote'                                            "

Dos 16ビットの例は次のようにシェルを起動する:
        <shell> -c "command name" >file
Win32の例:
        <shell> -c "command name >file"
DOS 32ビットでは、DJGPPが内部的にどうにかして処理する。

起動時にVimは"sh"が'shell'オプション内のどこにあるかをチェックする。存在するな
らば、Vimは'shellcmdflag''shellquote'または'shellxquote'オプションを上記のよ
うに設定するだろう。

 vim:tw=78:ts=8:ft=help:norl: