*os_dos.txt* For Vim バージョン 8.1. Last change: 2006 Mar 30 VIMリファレンスマニュアル by Bram Moolenaar
このファイルは 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| |
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 では、環境變數をユーザーごとに別々に設定することができる。"スタート/設定/コントロールパネル -> システム"、もしくは "マイ コンピュータ" のプロパティを通して、環境變數のタブに行く。
ファイル名にバックスラッシュを使ふことは問題となり得る。Vi ではいくつかのコマンドにおいて、バックスラッシュの數を半分にする。Vim はもう少し寬大で、ファイル名からバックスラッシュを取り除かないので、":e c:\foo\bar" は期待通りに機能する。しかしバックスラッシュが特別な文字(スペース、コンマ、バックスラッシュなど)の前に現れた場合は、Vim はバックスラッシュを取り除く。問題を避けるにはスラッシュを使用する: ":e c:/foo/bar" はうまく機能する。MS-DOS プログラムや Win32 プログラムのなかにはこれが問題となるものもあるので、Vim は問題を避けるために內部でスラッシュをバックスラッシュに置き換へる。
スラッシュを使ふのを好むのなら、’shellslash’ オプションを設定する。すると Vim はファイル名を展開するときにバックスラッシュをスラッシュに置き換へる。これは Unix-like の ’shell’ を使用してゐるときに特に有用である。
以前の 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$ tab <C-O>L<C-O>$ |
さらに、次のキーがコピー/切り取り/貼り付けに利用できる。Win32 と DJGPP バージョンでのみ、これらはクリップボードを使用する。
Shift-Insert | テキストを貼り付ける (クリップボードから) |
CTRL-Insert | ビジュアルモードでテキストをコピーする (クリップボードに) |
CTRL-Del | ビジュアルモードでテキストを切り取る (クリップボードに) |
Shift-Del | ビジュアルモードでテキストを切り取る (クリップボードに) |
CTRL-X | ビジュアルモードでテキストを切り取る (クリップボードに) |
以下のマッピングは同樣の目的を果たす (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 | ||
CTRL-X | <C-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 |
クリップボードがサポートされてゐるときは、レジスタの "* が使へる。
畫面出力の方法は、標準では 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)
’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’ を設定することができる。
":cd
" コマンドはドライブレターを認識し、カレントドライブを變更する。C ドライブにするには ":cd c:
" とする。D ドライブの "foo" ディレクトリに移動するには ":cd d:\foo
" とする。もしシステムがサポートしてゐるならば、Vim は UNC 名も認識する; 例へば、":cd \\server\share\dir
"。|:cd|
檢索を中斷するには CTRL-C の代はりに CTRL-Break を使用する。Vim はキーを讀み終へるまで CTRL-C を檢知しない。
Vim は以下のリストの順番で、ディレクトリが存在し、かつ Vim がファイルを生成できる最初のディレクトリに一時ファイル (フィルタ用) を置く:
$TMP $TEMP C:\TMP C:\TEMP 現在のディレクトリ
Vim は標準的な Windows 函數を使つて一時ファイル名 (フィルタ用) を取得する。以下のリストの順番で、ディレクトリが存在し、かつ Vim がファイルを生成できる最初のディレクトリが使用される:
$TMP $TEMP 現在のディレクトリ
’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’ オプションを上記のやうに設定するだらう。