vim-jp / vimdoc-ja / os_win32

os_win32 - Vim日本語ドキュメント

メインヘルプファイルに戻る English | 日本語
os_win32.txt  For Vim バージョン 8.0.  Last change: 2016 Oct 12


                  VIMリファレンスマニュアル    by George Reilly


                                                win32 Win32 MS-Windows
このファイルはVim Win32バージョンに特有の事柄についての文書である。

Win32 版の Vim は Windows XP, Vista, 7, 8, 10 で実行可能である。コンソール版と
GUI 版がある。

32 ビット版 Vim は 64 ビット版 MS-Windows システム上でも実行可能である。

1. 知られている問題点           win32-problems
2. Vimの起動                    win32-startup
3. スクリーン内容の復帰         win32-restore
4. マウスの使用                 win32-mouse
5. Windows 95での使用           win32-win95
6. Windows 3.1での使用          win32-win3.1
7. Win32 ミニ FAQ               win32-faq

付け加えて、Win32とDOS共通の項目がいくつかある:
ファイルの位置                  dos-locations
バックスラッシュの使用          dos-backslash
標準のマッピング                dos-standard-mappings
画面出力とカラー                dos-colors
ファイルフォーマット            dos-file-formats
:cd コマンド                    dos-:cd
割り込み(インタラプト)          dos-CTRL-Break
一時ファイル                    dos-temp-files
Shellオプションのデフォルト     dos-shell

Win32 GUI                       gui-w32

クレジット:
Win32バージョンはGeorge V. Reilly <george@reilly.org>による。
オリジナルのWindows NTへの移植はRoger Knobbe <RogerK@wonderware.com>による。
GUIバージョンはGeorge V. ReillyとRobert Webbによって作成された。

コンパイルする場合は "src/INSTALLpc.txt" を参照。       win32-compiling

==============================================================================
1. 知られている問題点                                   win32-problems

ファイル名補完を行っているとき、Vimは短いファイル名への一致も見つける。しかし、
それでもVimは長いファイル名への一致を見つけ、採用する。例えば、もしあなたが短
いファイル名 "this_i~1" を持つ、長いファイル名のファイル "this_is_a_test" を
持っているなら、コマンド ":e *1" は "this_is_a_test" の編集を始める。

==============================================================================
2. Vimの起動                                            win32-startup

カレントディレクトリ                                    win32-curdir

Vimにフルパスのファイル名("x:\" の形で始まる)を指定したとき、Vimはエクスプロー
ラーから起動されたと仮定してそのファイルのあるディレクトリをカレントディレクト
リにする。そうならないようにするにはファイルのパスにバックスラッシュ(\)の代わり
にスラッシュ(/)を使うこと。

        vim c:\text\files\foo.txt

これはカレントディレクトリを "C:\text\files" に変更する。

        vim c:/text\files\foo.txt

こうすればカレントディレクトリを変更しない。


端末オプション                                          win32-term

Win32バージョンのVimが認識できる唯一の端末の種類は "win32" であり、これは組み
込みである。'term' に他の何かを設定すると、Vimはたぶんとても奇妙な振る舞いを見
せることだろう。それゆえ、Vimは 'term' のデフォルト値を環境変数 "TERM" から取
得しない。

$PATH                                                   win32-PATH

Vim 実行ファイルのディレクトリが $PATH に追加される。これは主に「ツール」メ
ニューにある "!xxd" が動作するようにするためである。また、これにより
executable() が 1 を返すときは実際にその実行ファイルが実行可能であるように
なる。

ファイル名のクォート                                    win32-quotes

ファイル名の中のクォート(もしくは他のコマンドコマンド引数)はバックスラッシュで
エスケープできる。例。
        vim -c "echo 'foo\"bar'"

その代わりにクォートを3つ使う事もできる:
        vim -c "echo 'foo"""bar'"

クォートのルールは:

1. 一つの " はクォートの始まり。
2. 他の " や "" はクォートの終わり。もしクォートが "" で終わっているなら
   " はクォートされた文字列の終わりとして処理される。

例えば引数を1つずつを [] で囲った場合:
        "foo"           -> [foo]
        "foo""          -> [foo"]
        "foo"bar        -> [foobar]
        "foo" bar       -> [foo][bar]
        "foo""bar       -> [foo"bar]
        "foo"" bar      -> [foo"], [bar]
        "foo"""bar"     -> [foo"bar]


==============================================================================
3. スクリーン内容の復帰                                 win32-restore

'restorescreen' がセットされているとき(これはデフォルト)、終了時、または外部コ
マンド実行時、Vimはコンソールの元の内容を復帰する。これを行いたくない場合は、
":set nors" を使うとよい。'restorescreen'

==============================================================================
4. マウスの使用                                         win32-mouse

Win32バージョンのVimはマウスの使用をサポートする。2ボタンマウスを使用している
場合、中ボタンは左と右の両方のボタンを同時に押すことによってエミュレートでき
る - しかし、Win32 GUIで右ボタンクリックによるポップアップメニューを有効にし
ていると('mouse' を参照)、左ボタンを先にクリックした際、エラーが発生する。
                                                        mouse-using

マウスが機能しない場合には、コンソールの "簡易編集モード" プロパティを無効にし
てみよ。

==============================================================================
5. Windows 95での使用                                   win32-win95
                                        windows95 windows98 windowsme
Windows 95/98/ME のサポートはパッチ 8.0.0029 にて削除された。これを使いたいと
きは、これよりも古いバージョンを入手する必要がある。

==============================================================================
6. Windows 3.1での使用                                  win32-win3.1

                                        win32s windows-3.1 gui-w32s
これらは Windows 3.1 や 3.11 上で実行される Gvim の特別なバージョンであった。
パッチ 7.4.1363 にてサポートは削除された。

==============================================================================
7. Win32 ミニ FAQ                                       win32-faq

Q. フォントを変える方法は?
A. GUIバージョンでは、'guifont' オプションを使用すればよい。例:
        :set guifont=Lucida_Console:h15:cDEFAULT
   コンソールバージョンでは、コンソール自体のフォントを設定する必要がある。
   これはVimから行うことはできない。

Q. Windows NT上でデッドキーを打つ方法は?
A. デッドキーはNT 3.51上で機能する。単に、他のアプリケーションでやっているのと
   同じようにすればよい。
   NT 4.0では、標準のロケール(コントロールパネルのキーボードで設定する)が、現
   在アクティブなロケールと同じであることを確認する必要がある。そうしないと、
   NTのコードは混乱しクラッシュしてしまう! これはNT 4.0の問題であり、本質的に
   Vimの問題ではない。

Q. VimでUnix NFSファイルサーバー上のシンボリックリンクファイルを編集している。
   ファイルを書込むとき、Vimはシンボリックリンクを "介して書込む" ことをしな
   い。代わりに、シンボリックリンクを削除し、その場所に新しいファイルを作成す
   る。これは何故か?
A. Unixでは、Vimはリンク(シンボリック、ハード)に対応している。オリジナルファイ
   ルのバックアップが作られ、そしてオリジナルファイルが上書きされる。これは
   ファイルの全てのプロパティが保たれることを保証する。非Unixシステムでは、オ
   リジナルファイルは改名され、新しいファイルが書込まれる。保護ビットのみがオ
   リジナルファイルと同じように設定される。しかし、これはリンクなどの機構の存
   在する、NFSマウントされたファイルシステムにおいて適切に動作しない。現在の
   バージョンにおいてこの問題を避ける唯一の方法は、
   ":set nobackup nowritebackup" によって、バックアップファイルを作らないこと
   である。'writebackup'

Q. Samba を通して Unix ファイルサーバー上のファイルを Vim で編集している。この
   ファイルを書き込むと、ファイルの所有者が変わってしまう。なぜか?
A. ファイルを書き込むとき、Vim は元のファイルをリネームし、それをバックアップ
   とする (ファイルの書き込みが途中で失敗した場合に備えるため)。そしてバッファ
   が新規ファイルとして書き込まれる。すると Samba はそのファイルに対してファイ
   ルシステムのデフォルト所有者を設定する。その結果、元の所有者と変わってしま
   う。これを避けるには、オプション 'backupcopy' を "yes" にすること。すると
   バックアップ用に元のファイルのコピーを作ってから、元のファイルを上書き保存
   するようになる。こうすればファイルの所有者は変わらない。

Q. ":make" の出力を実行中に見たい場合は?
A. 基本的には、入力(この場合はmakeの出力)を標準出力とエラーファイルの両方にコ
   ピーする、teeプログラムを使えばよい。tee(とその他多くのGNUツール)は、
   http://gnuwin32.sourceforge.net か http://unxutils.sourceforge.net
   から得られる。もしくは、最新のGNUツールのCygnusバージョン
   http://www.cygwin.com を使ってみてもよい。その他のWin32用のUnixコマンドはこ
   のサイトに列挙されている。
   http://directory.google.com/Top/Computers/Software/Operating_Systems/Unix/Win32/
   teeを手に入れたら、_vimrcに、以下のように設定する
        set shellpipe=\|\ tee


Q. VisionFSが動いているリモートマシンにファイルを保存しておいたところ、それら
   が消えてしまった!
A. VisionFSは、ある種のドット(.)と3文字の拡張子のファイル名を扱えない。SCOによ
   れば、この振舞いは16ビットDOS/Windows環境との互換性のために必要とされるそう
   である。以下の2つのコマンドで、この振舞いを実演できる:

        echo Hello > file.bat~ 
        dir > file.bat

   この結果、"dir" コマンドは新しい "file.bat" というファイルを作成しないで、
   "file.bat~" を更新する。Vimにおいても、"foo.bat" という名前の既存のファイル
   を編集するときにこれと同じことが起こる、Vimの標準の機能では、'~' をファイル
   名の後に付け加えてテンポラリファイルを作成するからである。ファイルが書込ま
   れたとき、これは上書きされる羽目になる。

    解決法: _vimrcファイルに次のコマンドを加える:
        set backupext=.temporary

Q. カーソルの点滅頻度を変更する方法は?
A. できない! これはNTコンソールの制限である。NT 5.0では全てのコンソールウィン
   ドウに対して、同時に点滅頻度を設定できるようになるといわれている。

                                                        :!start
Q. 非同期的に外部コマンドやプログラムを実行するにはどうしたらよいか?
A. :!を使って外部コマンドを実行している場合、"start" と共に実行できる:
        :!start winfile.exe<CR>
   "start" を使うと、Vimは他のスクリーンに切り替えたり、新しいコンソールを開い
   たり、プログラムが終了するまで待ったりしなくなる; つまり、走らせるプログラ
   ムは編集中のファイルに何の影響も与えない。:!startで始まったプログラムは、
   Vimの開いたファイルハンドルを受け渡されないため、Vimより早く終了する必要は
   ない。
   このような特別な動作を避けるには ":! start" を使う。
   利用可能な引数が二つある (次の Q 参照):
       /min  ウィンドウが最小化される。
       /b    コンソールウィンドウが表示されない。
   指定できるのはどちらか一方だけである。二番目の引数が start コマンドで実行さ
   れる。

Q. プログラムを非同期で実行したときにそのウィンドウを非表示にするには?
A. あなたの実際の目的に応じて二つの解決方法がある:
   1) /min フラグを使ってプログラムを最小化ウィンドウで実行する (他はそのま
      ま)。この方法はコンソールアプリケーションでも GUI アプリケーションでも使
      える。
   2) /b フラグを使って、コンソールウィンドウを作成せずにコンソールアプリケー
      ションを実行する (GUI アプリケーションに対しては効果なし)。このフラグ
      は、実行するアプリケーションが入力を必要としないことがわかっている場合の
      み使うこと。その入力ストリーム (stdin) は \\.\NUL にリダイレクトされるの
      で (stdout と stderr も同じ)、入力が使われる場合は EOF エラーが発生する
      だろう。

   コンソールアプリケーションの例。Exuberant ctags を実行する:
        :!start /min ctags -R .
   実行が完了すると "tags" ファイルがカレントディレクトリに作成される。タスク
   バーでウィンドウタイトルが点滅するのに気づくだろう。時間が掛かるコマンドな
   らはっきりと見える。
   では、"tags" ファイルを削除して次のコマンドを実行する:
        :!start /b ctags -R .
   先程と同じ "tags" ファイルが作成されるが、今回はタスクバーは点滅しない。
   GUI アプリケーションの例:
        :!start /min notepad
        :!start /b notepad
   最初のコマンドは notepad を最小化状態で実行する。二番目のものは notepad を
   普通に実行する。

                                                windows-icon
Q. Vimのアイコンが好きではないのだが、変えられるだろうか?
A. はい、'runtimepath' のディレクトリの中の bitmaps/vim.ico に好きなアイコンを
   置くとよい。例: ~/vimfiles/bitmaps/vim.ico


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