JVim 3.0 のしおり
                                                     Version 3.0-j2.1
                                                  2001 年  1 月  1 日
                                      土田  健一 (ken_t@st.rim.or.jp)


 1. はじめに

    JVim 3.0(Japanized Vim) は、 vi クローンのエディタ Vim 3.0 を、小
  笠原博之 (oga@dgw.yz.yamagata-u.ac.jp) さんの簡易日本語化パッチを元
  に、中村敦司 (ann@mrit.mei.co.jp) さんの Vim 2.0 のパッチをマージし
  て Onew メイリングリストの方々の協力の元、日本語化したものです。

    そして、先日、待ちに待った 5.0 が本家からリリースされましたので、
  このバージョンが 3.0 の日本語化最終版の予定です。


 2. 修正内容

    主な修正内容は次の通りです。

    1.  小笠原さんのパッチと中村さんのパッチを統合して日本語化
    2.  太田純 (ohta@src.ricoh.co.jp) さんの FEPCTRL ライブラリを使用
        して MS-DOS での FEP 制御を追加
    3.  DOS/V+DOS 汎用版の追加
    4.  PC-98+DOS 汎用版の追加
    5.  WIN-95 対応 (暫定的な対応で制限あり : console mode)
    6.  Windows GUI サポート
    7.  LHA/gzip/compress/TAR ファイル編集機能の追加
    8.  ftp 経由のファイル編集機能の追加
    9.  その他


 3. 実行

  3.1 DOS/V

      DOS/V では、基本的にはそのまま実行すれば動作します。
      但し、当然ですが config.sys に V-TEXT ドライバ (jdisp.sys 等) が
    組み込まれている事が前提です。

     a) config.sys の設定

        config.sys に、V-TEXT ドライバの記述がある事を確認する。

     b) 環境変数の設定

        必要ならば、以下の環境変数を設定する

        o VIMINIT/EXINIT      vim の初期設定
        o HOME                ホームディレクトリの絶対パス
        o COMSPEC             command.com の絶対パス

        この内、 HOME と COMSPEC は設定した方がいいでしょう。

     c) 初期オプションの設定

        必要ならば、ホームディレクトリに _vimrc ファイルを作り初期オプ
      ションを設定します。

     d) ヘルプファイルの設定

        ヘルプファイルを実行形式と同じディレクトリに置きます。

  3.2 PC-98

      PC-98 も、基本的にはそのまま実行すれば動作します。

     a) 環境変数の設定

        必要ならば、以下の環境変数を設定する

        o VIMINIT/EXINIT      vim の初期設定
        o HOME                ホームディレクトリの絶対パス
        o COMSPEC             command.com の絶対パス

        この内、 HOME と COMSPEC は設定した方がいいでしょう。

     b) 初期オプションの設定

        必要ならば、ホームディレクトリに _vimrc ファイルを作り初期オプ
      ションを設定します。

     c) ヘルプファイルの設定

        ヘルプファイルを実行形式と同じディレクトリに置きます。

  3.3 WIN-32

      WIN-32 も、基本的にはそのまま実行すれば動作します。
      ここで、普通に起動すると Windows GUI mode で起動し、 -nw オプショ
    ンを指定すると Console mode (MS-DOS プロンプト) で起動します。

     a) 環境変数の設定

        必要ならば、以下の環境変数を設定する

        o VIMINIT/EXINIT      vim の初期設定
        o HOME                ホームディレクトリの絶対パス
        o COMSPEC             command.com/cmd.exe の絶対パス

        この内、 HOME と COMSPEC は設定した方がいいでしょう。

     b) 初期オプションの設定

        必要ならば、ホームディレクトリに _vimrc ファイルを作り初期オプ
      ションを設定します。

     c) ヘルプファイルの設定

        ヘルプファイルを実行形式と同じディレクトリに置きます。

     ※ GUI バージョンだけがご使用になりたい方へ
        # ショートカットへの Drag & Drop などで、 MS-DOS プロンプトが
        # 一度開くのが嫌な方もお試しください。

        わちきさんの、 wsp を使用させて頂き、自己アップデート形式の実
      行ファイルで GUI のみのものを作れるようにしました。
        アーカイブを展開すると、 vim32.exe と vim32w.com があるので、
      vim32w.com を実行すると vim32.exe が GUI subsystem で動作するよ
      うに書き換えられます。
        また、これによって、 Windows 95 でもデスクトップのショートカッ
      トやエクスプローラでの表示にちゃんとアイコンが表示されます。
        # 以前のバージョンがショートカットとして存在する場合には、一度
        # 削除してください。

  3.4 その他

      MS-DOS 汎用 (DOS EXTENDER を含む) や UNIX の場合、またWIN-32 で
    エスケープシーケンスを使用する場合には以下の設定が必要です。

     a) config.sys の設定 (MS-DOS/WIN-32)

        config.sys に、ANSI エスケープシーケンスドライバ (ansi.sys 等)
      の記述がある事を確認する。

        # PC-98 の MS-DOS では、必要ありません。

     b) 環境変数の設定

        以下の環境変数を設定する

        o HOME                ホームディレクトリの絶対パス
        o COMSPEC             command.com/cmd.exe の絶対パス
                              (MS-DOS/WIN-32)
        o SHELL               シェルの絶対パス (UNIX)
        o TERM                termcap エントリ名
        o TERMCAP             termcap ファイルの絶対パス

        必要ならば、以下の環境変数を設定する。

        o LINES               画面の行数
        o COLUMNS             画面の桁数
        o VIMINIT/EXINIT      vim の初期設定
        o LC_CTYPE            locale 識別子 (UNIX)
        o LANG                文字セットの識別子 (UNIX)
                              ja_JP.JIS/ja_JP.jis7           JIS コード
                              ja_JP.EUC/japanese/ja_JP.ujis  EUC コード
                              ja_JP.SJIS/ja_JP.mscode        SJIS コード

     c) termcap ファイルの作成 (MS-DOS/WIN-32)

        環境変数 TERMCAP で指定した termcap ファイルを作成し、環境変数
      TERM で示したエントリを作成します。

     d) ヘルプファイルの設定

        ヘルプファイルをコンパイル時に指定したディレクトリに置きます。
        MS-DOS/WIN-32 の場合には、実行形式を置いたディレクトリに一緒に
      置きます。


 4. コンパイルの方法

  4.1 パッチを当てる

      まず、オリジナルのソースを展開し、カレントディレクトリを移動しま
    す( src ディレクトリの一つ上のディレクトリです)。
      その後、

            gzip -d jvim.tar.gz
            tar xvf jvim.tar
            patch -p < jvim.diff

    として頂く事によって、パッチが展開されます。

  4.2 MS-DOS

      MS-DOS では、Borland C++ 4.02 を使用してコンパイルする為の
    makefile が "makjdos.mak" "makj98.mak" としてパッチファイルに含ま
    れているので

            make -f makjdos.mak     <-- DOS/V の場合
            make -f makj98.mak      <-- PC-98 の場合

    としてコンパイルしてください。
      残念ながら、他のコンパイラを持っていませんので、コンパイラが
    Borland C++ で無い場合には適宜 makefile をご自分で作ってください。

  4.3 WIN-32 (Windows-NT/95)

      WIN-32 は、 VC++ 5.0 での確認です。
      makefile は、 "makjnt.mak" です。

  4.4 DJ-GPP (DOS EXTENDER GO32)

      渡辺博文さんのご尽力で、DOSエクステンダの GO32 に対応して頂きま
    した。
      又、 FEP の制御を行う為に tantan (sgl00213@niftyserve.or.jp) さ
    んの DJ-GPP 用 fepctrl 制御パッチを使用させて頂いています。
      makefile は、 "makjdj.mak" です。

  4.5 UNIX

      UNIX 用の makefile は、 "makjunix.mak" です。
      UNIX でコンパイルする場合には、 "makjunix.mak" ファイル内の

        1:   configuration dependend
        2:   various choices
        2-2: Select Japanese Input System dependend
        3:   hardware dependend

    の部分をそれぞれお使いの環境に合わせて設定した後に、make してくだ
    さい。

  4.6 BOW (BSD on Windows)

      BOW 用の makefile は、 UNIX と共通です。
      又、 MS-IME の直接制御を行う場合には、 2-2 の Input System で
    BOW IME を選択してください。


 5. コンパイルオプション

    日本語化に伴い以下のコンパイルオプションが追加されています。

     KANJI/TRACK/FEPCTRL/CRMARK/FEXRC/NT106KEY/JP_DEF/CANNA/ONEW

    コンパイルオプションのチェックは行っていないので、適宜設定してくだ
  さい。

  5.1 KANJI

      KANJI が define されると、日本語の入出力が可能となります。また、
    digraph は使用できなくなります。

  5.2 TRACK

      hjkl キーによって罫線を引く機能が追加されます。

  5.3 CRMARK

      オプション 'crmark' を追加します。

  5.4 FEXRC

      オプション 'fexrc' を追加します。

  5.5 NT106KEY

      WINDOWS-NT の console mode と WIN-32 の GUI mode で、半角/全角キー
    をエスケープキーにします。

  5.6 JP_DEF

      デフォルトの入出力の日本語コードを定義します。
      この定義は、 3 文字の文字列からなり、最初にキー入力のコードを、
    次にディスプレイのコード、最後にシステムのコード (パイプコマンド等
    で外部コマンドに渡す際の日本語コード)を定義します。

           +-------- キー入力コード
           |+------- ディスプレイ出力コード
           ||+------ システムのコード
           VVV
          "SSS"

      定義できる文字は、

        'E'     EUC コード
        'J'     JIS コード
        'S'     Shift-JIS コード

    の 3 つです。
      デフォルトでは、 MS-DOS/WIN-32 では "SSS" 。その他のシステムでは
    "EEE" に定義してあります。

  5.7 FEPCTRL

      MS-DOS/WIN-32 では、 FEP/IME を直接制御する事によって日本語入力
    制御が行われます。
      UNIX では、日本語入力制御の為のエスケープシーケンスを出力する様
    になります。

      注: WIN-32 で使用する場合は、必ず定義してください。

  5.8 CANNA

      CANNA の直接制御機能が組み込まれます。
      必ず、 FEPCTRL と一緒に定義してください。
      また、この時には fepseq.c の代わりに fepcanna.c をコンパイル/リ
    ンクしてください。

  5.9 ONEW

      日本語入力システム ONEW の制御が組み込まれます。
      必ず、 FEPCTRL と一緒に定義してください。
      また、この時には fepseq.c の代わりに feponew.c をコンパイル/リ
    ンクしてください。

  5.10 その他 (notdef)

      基本的に、私の趣味で変更したところや、日本語と関係ない修正などは
    notdef を定義して頂くとオリジナルの動作と同じになるようにしてあり
    ますので、変だなと思われたら適当に直してください。

  5.11 USE_OPT

      vim 標準で無い、動作のフラグが設定されます。
      6.19 option を参照してください。

  5.12 USE_GREP

      検索機能が追加されます。 14.23 grep を参照してください。

  5.13 USE_EXFILE

      LHA ファイル及び ftp 経由の編集ができるようになります。

  5.14 USE_BDF

      BDF フォントを Windows GUI バージョンで使用できるようにします。


 6. 増えているオプション

    日本語化に伴い、次のオプションが増えています。
    () 内は、オプションの短縮形を (短縮形があれば) 示しています。

  6.1 crmark (cm)

      改行文字を '!' で表示します。 list オプションでは、タブまで変換
    されてしまって使いづらい時に指定してください。
      デフォルトは、 nocrmark (表示しない) です。

  6.2 fepctrl (fc)

      インプット/リプレースモードからコマンドモードへの遷移のタイミン
    グで、 FEP/IME を終了します。
      また、コマンドモードからインプット/リプレースモードの遷移のタイ
    ミングで、後述の jiauto/jinsertmode の指定に因って FEP/IME を起動
    します。
      このオプションは、ウインドウ毎に設定ができます。
      起動時のデフォルトは nofepctrl です。新しく、ウインドウを作成し
    た場合には、カレントウインドウの状態がデフォルトになります。

      注: WINDOWS-NT(console mode) の場合

          どの様な原因かは判りませんが、 WINDOWS-NT ではこのオプション
        を使用すると日本語入力がうまくできない場合があるそうです (手元
        の環境では発生しないので何が原因か判りません) 。
          うまく日本語が入力できない場合には、 nofepctrl としてお使い
        ください。

      注: WINDOWS-95(console mode) の場合

          WINDOWS-95 では、 WINDOWS-NT の Console-API と部分的に互換が
        取れていない様です。
          この為、 WINDOWS-95(console mode) で日本語入力を可能とする為
        に、WINDOWS-NT(console mode) とキー入力のルーティンを分け、 IME
        の状態をチェックしながら呼び出す API を変えていますので、日本
        語を入力する場合には fepctrl を定義してください。

          # 公式には、 WINDOWS-95 では console-API はサポートされてい
          # ないようです。

      注: BOW(BSD on Windows) の場合

          BOW では、 UNIX 用の fepseq.c の替わりに fepbow.c を使用して
        ください。
          fepbow.c を使用する事によって、 BOW の ioctl を使用して IME
        の直接制御を行う様になります。

  6.3 jinsertmode (ji)

      コマンドモードから編集モードに入った時に、日本語入力と ASCII 入
    力のどちらをデフォルトとするかを指定します。

        a       ASCII モード (デフォルト)
                # jiauto の値が 0 の場合には、直前の入力モードになりま
                # す。
                # jiauto の値が 0 以外の場合には、直前の入力モードに因
                # らずに、 ASCII モードになります。
        A       ASCII モードですが、 jiauto の値によって入力された文字
                数で日本語入力に自動的に変更されます
                # jiauto の値が 0 の場合には、直前の入力モードに因らず
                # に、 ASCII モードになります。
        j       日本語モード
                # jiauto の値が 0 の場合には、直前の入力モードになりま
                # す。
                # jiauto の値が 0 以外の場合には、直前の入力モードに因
                # らずに、日本語モードになります。
        J       日本語モードですが、 jiauto の値によって入力された文字
                数で ASCII 入力に自動的に変更されます。
                # jiauto の値が 0 の場合には、直前の入力モードに因らず
                # に、日本語モードになります。

      AJ を指定した自動切り替えを使用する場合には、 jiauto の値を指定
    する必要があります。自動切り替えは、プログラムを書いていて日本語の
    コメントを入れる場合等にお使いください。
      このオプションは、ウインドウ毎に設定ができます。
      起動時のデフォルトは a です。新しく、ウインドウを作成した場合に
    は、カレントウインドウの状態がデフォルトになります。

  6.4 jiauto (ja)

      jinsertmode で、FEP の自動起動を指定している場合に、日本語と
    ASCII のどちらをデフォルトとするかを判断する閾値を設定します。
      たとえば、この値が 10 の場合には、

        ASCII 文字を 10 文字入力           ASCII が初期値
        日本語 (2byte) 文字を 10 文字入力  日本語が初期値

    となります。
      起動時のデフォルトは 0 です。

  6.5 jcode (jc)

      カレントウインドウの日本語コードを指定します。
      指定できるのは、次の 5 つです。

        E/e     EUC コード
        J/j     JIS コード
        S/s     Shift-JIS コード
        U/u     Unicode
        T/t     UTF-8

      大文字 (EJSUT) の場合には、ファイルの読み込みの際に日本語コード
    の自動判定を行います。小文字 (ejsut) の場合には、自動判定は行いま
    せん。
      このオプションは、ウインドウ毎に設定ができます。
      起動時のデフォルトは JP_DEF のシステムコードです。新しく、ウイン
    ドウを作成した場合には、カレントウインドウの値がデフォルトになりま
    す。

  6.6 jbigendian (jb)

      UNICODE のエンディアンを指定します。 jbigendian でビックエンディ
    アンになり、 nojbigendian でリトルエンディアンになります。

  6.7 jkanaconv (jkc)

      いわゆる、「半角カナ」を全角カナに自動変換する為のオプションです。
      このオプションが指定されていると、「ファイルの読み込み」と「キー
    入力」で半角カナがあった場合に自動的に全角カナに変換します。
      起動時のデフォルトは、「システムコード」が SJIS の場合には
    nojkanaconv 、それ以外では jkanaconv です。

  6.8 jmask (jm)

      日本語コードをそれぞれ、「キー入力」「ディスプレイ表示」「システ
    ムコード」として設定します。

        'E'     EUC コード
        'J'     JIS コード
        'S'     Shift-JIS コード

      設定できるのは、上記 3 つのコードで大文字だけです。
      起動時のデフォルトは、 JP_DEF で指定された値です。

  6.9 jreplace (jrep)

      日本語文字列を REPLACE モードで書き換える際の動作を指定します。
      jreplace では、文字単位による REPLACE を行い、 nojreplaceでは文
    字幅の REPLACE を行います。
      従って、文字列 "123456" を '1' の部分から "あいう" という文字列
    で REPLACE する場合に、 nojreplace では "あいう"となりますが、
    jreplace では "あいう456" となります。

      起動時のデフォルトは、 jreplace です。

  6.10 jtilde (jt)

      日本語を tilde operator (~) の対象にするか指定します。
      日本語を変換対象にすると

          あ -> ア
          ♂ -> ♀

    の様に、 ~ で文字を変換します。
      起動時のデフォルトは、 nojtilde です。

  6.11 trackset (trs)

      罫線文字を設定します。次のものが設定できます。

        "as"        ASCII 文字
        "jp"        日本語罫線
        "bj"          同上
        "hj"          同上

      起動時のデフォルトは、 as です。

  6.12 ttrack (tt)

      空白透過な罫線文字を選択する。
      起動時のデフォルトは、 nottrack です。

  6.13 fexrc (fe)

      新規にファイルをオープンする際に、オープンする拡張子に合わせて
    vimrc ファイルを読み込みます。
      .c という拡張子の場合には、 .vimrc.c という設定ファイルを読み込
    みます。拡張子に該当する設定ファイルが無い場合には、 .vimrc ファイ
    ルを読み込みます。
      例として、

          .vimrc        ->    set ts=8
          .vimrc.c      ->    set ts=4

    としておくと、 .c の拡張子を持つファイルをオープンするとtabstop が
    4 に、その他の拡張子を持つファイルをオープンすると tabstop が 8 に
    なります。
      起動時のデフォルトは、 nofexrc です。

      また、 .vimrc 内に拡張子に合わせた定義をする事も可能です。
      .vimrc では、先頭文字が " の場合にコメントとみなしますが、下記の
    様に "begin suffixes" から "end suffixes" で囲まれた部分を拡張子に
    合わせて実行します。
      下記の例では、 "begin suffixes" の "=.cpp.c" で指定している .cpp
    と .c の場合に、 autoindent が設定されます。

              "begin suffixes=.cpp.c
              "set  autoindent
              " end  suffixes

      対応する拡張子が複数ある場合には、上記の様に続けて記述してくださ
    い。

      # PC 系では、 .vimrc を、 _vimrc に読み替えてください。

  6.14 fepkey (fk)

      日本語入力を ON/OFF するキーを指定します。
      このパラメータには、 '@' 〜 '_' の文字を指定します。実際に、日本
    語入力を ON/OFF するキーは、これと 0x1f の and を取った control キー
    になる事に注意してください。
      起動時のデフォルトは、 '\@' で、 CTRL-\ もしくは CTRL-@ で日本語
    入力が ON/OFF されます。
      また、 Window GUI バージョンでは fepkey=[ とする事で、 SHIFT+SPACE
    での IME の ON/OFF ができます。

  6.15 -nw (起動オプション)

      WIN-32 版では、起動時に -nw を指定する事によって console mode で
    動作します。指定しない場合には、 GUI modeで起動します。

  6.16 jignorecase (jic)

      文字列を検索する際に、いわゆる「あいまい検索」で動作するようにな
    ります。
      これによって「 a 」と「 A 」と「a」と「A」が同一の文字とみなさ
    れるようになります。
      起動時のデフォルトは nojignorecase です。

  6.17 window (win)

      WIN-32 版では、 window オプションで WINDOW サイズを変更できます。
      これは、 :win を set コマンドに追加して modeline で使用できるよ
    うにしたものです。
      使い方は、 :set win=80,25 のように、 Colum と Row をカンマで区切
    り 10 進数で記述します。

  6.18 whichwrap (ww)

      標準で存在する whichwrap ですが、日本語対応のジャンプの仕方を変
    更する為に拡張しました。
      下記の様な動作になります(↑が移動する場所を示します)。

         ww の値:   bugがありましたら、mailでお知らせください。  また、
         default:   ↑ ↑            ↑↑  ↑                ↑  ↑  ↑
           32   :   ↑ ↑              ↑  ↑                    ↑
           64   :   ↑                                           ↑

      whichwrap の値は、 bit で判定して動作する様になっていますので、
    上記の ww の値で 32 と書いてあるのは、 2 の 5 乗ビットを立てている
    事を示します。
      whichwrap が 32 の場合には、日本語と英数字、空白文字を区切り文字
    とし、 64 の場合には空白文字のみを区切り文字とします。

  6.19 option

      オリジナルには無いが、あったほうが便利そうな機能。だけど、絶対に
    標準機能ではないというものを option として設定できるようにしました。
      ビット単位で意味を持ち、下記の様な動作になります。
            0:  変更無し
            1:  コロンモードでのファイル名とディレクトリ名の指定
                /tmp/a.c が現在のファイルの場合には、 @ が a.c になり、
                & が /tmp になります。オリジナルの機能で #< が /tmp/a
                になります
           16:  スマートコマンドヒストリーを使用しない
                コマンドキャンセルと前回と同じコマンドをヒストリする
           32:  quickfix で、エラー行以外を無視
           64:  JIS ファイルが混じった、 SJIS/EUC の編集を無効にして、
                JIS コードの部分をそのままにする
          128:  オリジナルの binary モードにする

  6.20 foption

      オリジナルには無いが、あったほうが便利そうな機能。だけど、絶対に
    標準機能ではないというもので、ファイル単位に指定できた方がいいもの
    を foption として設定できるようにしました。
      ビット単位で意味を持ち、下記の様な動作になります。
            0:  変更無し
            1:  ファイルの read/write 時に行末の空白を削除
            2:  ファイルの read/write 時にタブを空白にする
            4:  ファイルの read/write 時に全角空白を空白に置き換えるする
            8:  C ソースを % でジャンプする時に多少賢く
          256:  MAC ファイル (CRが改行文字のファイル) の読み書き

  6.21 fepkeys (fo)

      コマンドモードのキーによって、日本語入力を ON/OFF するコマンドキー
    を指定します。
      このキーの指定に関わらず、 a/A/i/I/R/cw などの、文字列を入力する
    キーは、日本語入力を ON/OFF します。
      デフォルトでは、 r が設定されています。 /?tTfF などを追加しても
    いいでしょう。

  6.22 -no (起動オプション)

      WIN-32 版では、起動時に -no を指定する事によって、既に、 GUI モー
    ドで動作しているウインドウが存在する場合には、 そのウインドウを使
    用します。但し、次の条件の場合には新規にウインドウを作ります。

      1.  -no が指定されて起動しているウインドウが存在しない
      2.  ウインドウのカレントバッファに変更があり、 autowrite も
          hidden も指定されていない
      3.  コロンモードや挿入モードの時
      4.  画面選択の状態の場合
      5.  既に、他のプロセスから要求を受け付けている状態
          処理が終われば、最上画面にウインドウが表示されるので判ります

      例えば、ファイル関連付けの起動するアプリケーションに

          vim32.exe -no "%1"

    と定義しておくと、 1 つのウインドウで可能な限り動作するようになり
    ます。

  6.23 onewredraw (or)

      Onew のステータスラインを CR 入力時に行うオプションです。

  6.24 decode (dc)

      MIME デコードなどを行う機能です。デフォルトは、 ar です。
      V コマンドで範囲を選択した後に、 gu を入力する事によって MIME デ
    コードを行います。
      設定されている文字が以下の意味を持ちますので、組み合わせて使う事
    ができます。
            a)   auto (自動判定)
            b)   BASE64
            u)   uuencode
            q)   quoted printable
            g)   gzip
            l)   LHA
            +)   ファイルへ出力するのみ
            r)   ファイル読みこみで展開 (自動判定が指定されている時)
      土田が、流通量の非常に多い某 ML のまとめ送りを読む為だけに作った
    機能ですので MIME の解釈などはかなり怪しいです。

  6.25 -I (起動オプション)

      WIN-32 版では、起動時に -I 
を指定する事によって、初期 設定ファイルのセクション名を指定する事ができます。 環境に合わせて GUI の設定を変更したい場合には、「9.3 初期設定ファ イル」を参考に複数のセクションを設定する事で可能です。 7. 増えているコマンド 以下のコマンドが追加されています。 7.1 gh (help) ヘルプファイルを表示します。 7.2 gx (track start) 罫線モードに遷移します。 ESC で終了します。 7.3 gp/gn 罫線モードの場合に、罫線の種類を変更します。 7.4 gX (WIN-GUI) Windows GUI バージョンで、選択されている範囲をクリップボードに格 納した後に、削除します。 Windows 標準の CTRL-X と同じ動作です。 7.5 gC (WIN-GUI) Windows GUI バージョンで、選択されている範囲をクリップボードに格 納します。 Windows 標準の CTRL-C と同じ動作です。 7.6 gV (WIN-GUI) Windows GUI バージョンで、クリップボードの内容を読み込みます。 Windows 標準の CTRL-V と同じ動作です。 7.7 gg (grep jump) grep -n regexp files の出力を、ファイルに落しておいて、ジャンプ したい行で gg とすると tag jump の様に、該当ファイルの該当行にジャ ンプします。 7.8 gu 6.22 decode のデコードを実行します。 8. 追加されているキーバインドや機能 以下のキーバインドや機能が追加されています。 8.1 CTRL-Q/CTRL-[ MS-DOS/WIN-32 で、エスケープシーケンスを使用している場合には、 CTRL-Q もしくは CTRL-[ の後に以下のキーを入力する事によって特殊(矢 印) キーの入力をシュミレートします。 'h' LEFT キー 'j' DOWN キー 'k' UP キー 'l' RIGHT キー 'H' 'b' SHIFT+LEFT キー 'J' 'CTRL-F' SHIFT+DOWN キー 'K' 'CTRL-B' SHIFT+UP キー 'L' 'w' SHIFT+RIGHT キー 8.2 CTRL-G での表示 CTRL-G では、オリジナルの vi に対して "No File" [Modified] line 36 of 36 --100%-- col 0/1 ch 0x31 [E] のように、表示が増えています。 col X/Y は、 vim オリジナルの表示で カーソル位置の行内でのバイト位置と表示される桁位置。 ch は、日本語 化された vim の表示でカーソル位置の文字のコード。最後の [E] は、編 集している漢字コードの種別を示します。 9. Windows バージョンについて Windows GUI バージョンでは、マウスやホットキー・ショートカットキー などが使えますので何点か拡張がしてあります。 ここでは、追加した機能について説明します。 9.1 追加した機能 1. スクロールバーの追加 2. マウスでの範囲指定の追加 # コマンドモードでは、下記のキーとの組み合わせで、選択の方式が # 変わります # o CTRL キーを押しながらでは、矩形の選択 # o SHIFT キーを押しながらでは、行単位の選択 # o ALT キーを押しながらでは、矩形の選択 # このうち、 ALT キーを押している場合には、カーソル位置は変化 # しませんが、画面に出ている範囲の文字しか選択できません。 # help 画面や、 Insert/Replace モードで ALT キーを押しながら選 # 択する場合には、画面に出ている範囲しか選択できません。 3. 右クリック(範囲指定時の選択した部分やカーソル上にマウスカーソ ルを置いた場合)のポップアップメニューを追加 4. マウスのダブルクリック a) grep ファイルからのジャンプ( 7.7 を参照してください) b) CTRL キーを押しながらの場合には、アプリケーションの実行( いわゆるクリッカブル URL と言われているものを想像してくだ さい) 5. クリップボードインタフェースの追加 但し、クリップボードにデータを入れるのは、システムメニューか右 クリックで yank or delete を選択した場合のみ(この方が使いやす かった) 6. フォントサイズやフォントの色の変更が可能 7. Drag & Drop をサポート 8. bitmap 背景に bitmap グラフィックを表示します 9. wave sound エラー時のビープ音となる wave ファイルを指定します 10. Unicode での画面出力 英語版の Windows などで、日本語のフォントを使用して出力できる 様になります 11. GUI 系のオプションの切り替え 次のパラメータが切り替えられます a) WINDOW の位置を記憶するか b) 行数と桁数 c) bitmap / wave file d) FONT の種類と色 e) 背景の色 f) スクロールバーの有無 9.2 GUI 系オプションについて GUI 系のオプション (FONT の種類等、メニューにあるもの) は、デフォ ルトではレジストリに保存されます。 # 初期設定ファイル (vim32.ini) を使っていない場合 GUI 系のオプションは、デフォルトの構成 (0) とオプション (1-3) が 設定でき、メニューの Config もしくは、アクセラレータキーを使用する 事によって、 GUI 系のオプションを切り替えながら使用する事ができま す。 起動時には、デフォルトの 0 番の Config が選択されています。 このデフォルトの Config を使用している場合には、終了時に変更があ る部分を自動的にレジストリに記憶し、次回起動時に使用します。 別の GUI 系の構成を作成する場合には、 Config で別の番号 (例えば、 2 を) 指定します。 もしも、ここで選ばれた構成が始めてのものであれば、それまで使用し ていた Config が引き継がれた状態になります。ここで、必要な変更を行 い (例えば、 bitmap を付けるとか、 font を変更する) 、メニューの Config で save を選択します。 これで、現在の構成が記憶されますので、次回の選択からは設定した構 成が使用されます。 デフォルトの構成以外では、自動的に構成を記憶しない事に注意してく ださい。 9.3 初期設定ファイル (vim32.ini) について Windows GUI 版を使用する際に、初期設定をレジストリで無く、 .ini ファイルに記述する事ができます。 フロッピーディスクなどに、 JVim を入れて持ち歩く場合など、毎回設 定を行う必要が無くなります。 設定例は、 vim32.ini ファイルにあります。設定ファイルのファイル 名は、 JVim の実行ファイル名 + .ini (実行ファイル名が vim32.exe で あれば vim32.ini になり、 vim32w.exe ならば vim32w.ini になります) となり、実行ファイルと同じディレクトリに置く必要があります。 設定ファイルの中身は、 [section] セクションで始まり、各キーは次 の様になります。 デフォルトのセクション名は "vim" ですが、他のセクション名を指定 する事により、複数の定義を行う事ができます。但し、セクション名の "reg" は通常のレジストリを使用する事を示す為に予約されています。 複数の定義を起動時に指定する方法は、「6.25 -I (起動オプション)」 を参照してください。 printer プリントアウトコマンドのファイル名 unicode UNICODE 表示する=1 しない=0 cols 一行の文字数 rows 画面の行数 scrollbar スクロールバー 表示する=1 しない=0 bitmap ビットマップファイル名 wave WAVE ファイル名 bdffile 英語 BDF ファイル名 jbdffile 日本語 BDF ファイル名 bdf BDF 表示する=1 しない=0 fontname フォント名 fontsize フォントサイズ textcolor テキストの色 white/black/blue か、 RGB の 10 進値 backcolor 背景の色 white/black/blue か、 RGB の 10 進値 レジストリに設定を行う場合には、終了時に変更した内容を書き込んで いますが、設定ファイルを使用している場合には、変更を書き込みません ので注意してください。 9.4 アクセラレータキー 下記のアクセラレータキーが定義してあります。 ALT+0 GUI デフォルト構成 ALT+1 〜 3 GUI 構成 1 〜 3 ALT+c 選択範囲のクリップボードへのコピー ALT+v 選択範囲のクリップボードからコピー ALT+x 選択範囲のクリップボードへの移動 ALT+m メニューの ON/OFF ALT+n 新しい JVim の起動 ALT+o ファイル選択画面 ALT+p プリンタコマンドの起動 ALT+s スクロールバーの ON/OFF 9.5 メニューについて メニューは、 ALT+m を入力する事で表示/非表示を切り替えます。 また、システムメニューの部分を拡張していますので、 ALT + SPACE をキーボードで入力するか、マウスでクリックする事でメニューを使用で きます。 9.6 外部プリンタコマンドの呼び出し Windows GUI バージョンでは、外部プリンタコマンドの呼び出しをサポー トしています。 メニューに、 "Setup Print Command" がありますので、ここにプリン トアウトに使用するコマンドとオプションを設定します。 印刷時には、ここで指定されたコマンドとオプションに、印刷する為の ファイル名を引数として起動します。 印刷するファイル名は、 directory オプションで指定されたディレク トリ名+現在のファイル名となります。このファイルに、 SJIS に変換し た内容を出力し、印刷コマンドが終了した時点で削除します。 もしも、 directory オプションで指定されたディレクトリに同名のファ イルが存在する時には、ファイル名に (1) という様に番号が付加されま す。 矩形や文字・行単位で範囲選択を行っている場合には、選択された範囲 を行単位でプリントアウトコマンドに渡し、選択が行われていない場合に はファイル全体をプリントアウトコマンドに渡します。 範囲選択の種類に関わらず、行単位で動作するので注意してください。 9.7 ウインドウ位置を固定するオプション 起動時のウインドウの位置を固定したい場合には、メニューの "Save Window Position" をチェックしてください。 9.8 タスクトレイへの常駐 クローズボタンを押した場合に、終了せずにタスクトレイに常駐する様 にするには、 "Task Tray" をチェックしてください。 9.9 マウスカーソルの消去 キー入力中にマウスカーソルを消去する様にするには、 "Erase Mouse" をチェックしてください。 9.10 UNICODE フォントの使用 UNICODE フォントを使用するには、 "Unicode" をチェックしてくださ い。 9.11 Windows 流の CTRL-X/C/V を実現する 次の様に、 _vimrc に記述する事で、 Windows 流の割り当てになりま す。 map ^X gX map ^C gC imap ^V^V ^OgV 残念ながら、 CTRL-V でコントロール文字を入力できなくなりますので、 コントロール文字を入力する際には iunmap ^V^V してから、入力してく ださい。 9.12 Windows バージョンで MS-DOS 窓が一瞬ひらくのがいやな場合 わちきさんの、 wsp を使用させて頂き、自己アップデート形式の実行 ファイルで GUI のみのものを作れるようにしました。 アーカイブを展開すると、 vim32.exe と vim32w.com があるので、 vim32w.com を実行すると vim32.exe が GUI subsystem で動作するよう に書き換えられますので、 MS-DOS 窓が開かなくなります。 9.13 WIN-32 GUI でのスクロールスピードについて j/k キーや矢印キーでのスクロールが遅く感じる時には、コントロール パネルのキーボードを開いて、キーボードのプロパティで速度を選択して 「表示までの待ち時間」「表示の間隔」をそれぞれ「短く」「速く」に設 定してください。 特に、「表示の間隔」を変化させて動作させてみると、はっきりと違い が判ると思います。 9.14 WIN-32(GUI mode) の TERM 名と termcap エントリの注意点 WIN-32 GUI mode では、 TERM 名は無視して、必ず builtin_termcap を使用して動作します。 又、 14.5 で示した色のエントリ (t_so/t_ti/t_tb) 以外は変更しない でください。 builtin_termcap のエスケープシーケンスを解釈して、呼 び出す API の引数を決定している為、エントリが変更されると動作しな くなります。 9.15 Windows GUI mode の WINDOWS-NT での起動 NT では、いわゆる DOS 窓のコマンドラインで vim32.exe と打ち込ん だ場合に、コンソールを解放してくれません。 95 と同じようにコンソールを解放したい場合には、 doskey.exe を使 用して "doskey vi=start vim32.exe $*" と定義しておくと、コマンドラ インから vi と入力する事で新たなコンソールを作成/解放しますので解 決できます。 9.16 LHA/gzip/compress/TAR ファイルの編集 Micco (GCH03345@niftyserve.or.jp) さんの UNLHA32.DLL を使用 して LHA ファイルの編集機能を追加しました。 # 動作確認をした UNLHA32.DLL は、 Ver 0.90 です。 ファイル名に、 : の様に "LHA アーカイブファイル名" + ":" + "LHA 内ファイル名" と指定してく ださい。 # "LHA アーカイブファイル名" の拡張子は、 .lzh か .exe のみを認 # 識します。 o LHA ファイル内の全てのファイルを編集する場合 vim32.exe mail.lzh:* o LHA ファイル内の特定のファイルを編集する場合 vim32.exe mail.lzh:log.txt 吉岡恒夫 (QWF00133@niftyserve.or.jp) さんの TAR32.DLL を使用して TAR ファイルの編集機能を追加しました。 # 動作確認をした TAR32.DLL は、 Ver 0.23 です。 ファイル名に、 : の様に "TAR アーカイブファイル名" + ":" + "TAR 内ファイル名" と指定してく ださい。 # "TAR アーカイブファイル名" の拡張子は、 .tar/.tgz/.taz/.tar.gz # /.tar.Z を認識します。 o TAR ファイル内の全てのファイルを編集する場合 vim32.exe mail.tgz:* o TAR ファイル内の特定のファイルを編集する場合 vim32.exe mail.tgz:log.txt また、 TAR ファイルは参照のみになります。これは、 TAR での圧縮が ディレクトリ付きでサポートするのが現状では困難な事によります。 また、同様にして gzip/compress ファイルの編集機能を追加しました。 ファイル名に、 : の様に "圧縮ファイル名" + ":" + "圧縮ファイル名から拡張子を取ったもの" と 指定してください。 # "圧縮ファイル名" の拡張子は、 .gz か .Z のみを認識します。 o 圧縮ファイル内のファイルを編集する場合 vim32.exe mail.gz:mail vim32.exe mail.gz:* vim32.exe mail.Z:mail vim32.exe mail.Z:* ファイル名は、実際には何を指定しても、 "圧縮ファイル名から拡張子 を取ったもの" になります。 また、 compress ファイルは参照のみになります。これは、 compress での圧縮がサポートされていない事によります。 9.17 ftp ファイルの編集 ファイル名に、 ftp://hostname/filename の様に "ftp://" + "ftp server 名" + "ファイル名" と指定してください。 ログイン名、パスワードなどを問い合わせるダイアログが表示されます ので、 ftp server のアカウントを指定してください。 Windows Internet API を使用していますので、 Windows NT 3.5/3.51 と Windows 95 の OSR2 以前のバージョンでは、 Internet Explorer 3.X 以降がインストールされている必要があると思います。 # wininet.dll が、インストールされていれば問題ありません。 パスワードキャッシュは host 名を基本に管理しています。複数のログ イン名を持っている場合には、 host 名を複数定義するなどしてください。 パスワードキャッシュは、正常にログインされた際に設定される、ログ インキャッシュ、ログインに失敗した時のエラーキャッシュの二種類があ ります。 エラーキャッシュは、正常にログインできるとクリアされます。また、 別のエラーログイン及び 10 秒の時間経過でもクリアされます。 ftp server を立ち上げるのを忘れていて、後から立ち上げた場合などは、 10 秒経ってからアクセスしてください。 ftp server は、大抵が UNIX でしょうから、 14.12 改行コードの変更 を読んで設定を行った方がいいでしょう。 ftp は、 proxy を経由する場合には passive mode でコネクションを 接続します。 9.18 ftp 経由でのファイル編集での read error ftp 経由でファイルを読み込む際に、 read error が発生した場合には コントロールパネルのインターネットのプロパティで詳細タブを選択して、 インターネット一時ファイルを選択して、フォルダを空にしてから再度試 してください。 9.19 「送る」に登録する Windows では、エクスプローラの右クリックに、送るというプロパティ があります。 標準設定の JVim では、「改行コード」「日本語コード」「 JIS まじ りの SJIS/EUC ファイル」などなどは全て自動判定しますので、ここに vim32.exe を登録して、メモ帳の代わりに使うと便利です。 Windows 95/NT ともに、 Windows をインストールしたディレクトリの 中に sendto というディレクトリがありますので( NT では、各ログイン ユーザ単位と default user に別れてますので、自分だけか他の人にも使 わせてあげるかによって設定箇所を考えてください)、ここにエクスプロー ラで「ショートカット」を作成します。 ショートカットの作成は、エクスプローラの「ファイル」「新規作成」 「ショートカット」とし、「コマンドライン」に vim32.exe を設定しま す。 9.20 ファイル関連付けでの JVim の起動の設定 エクスプローラから、ダブルクリックで .txt などに JVim を関連付け しておいて起動する様にするには以下の様にしてください。 ここでは、 .txt (テキスト文書) を例にします。 エクスプローラの、「表示」→「オプション」→「ファイルタイプ」を 選んで、「テキスト文書」を選択して「編集」をクリック。 アクションの「 open 」を選択して、「編集」をクリック。 ここで、「アクションの編集」画面になるので、「アクションを実行す るアプリケーション」に vim32.exe "%1" ~~~~ の様に、指定します。 " (ダブルコーテーション) で括って、引数に %1 を指定します。 JVim では、コマンドラインからの起動の為に、引数の区切りを空白文 字で行っていますので、 "Program Files" の様に空白文字を含んだもの は複数の引数と判断してしまいますので、 " で括ってください。 9.21 WIN-32 で、ウインドウサイズを変更する方法 WIN-32 版では、 :win 80 25 の様に COLUMN と ROW を指定する事によっ てウインドウサイズを変更する事ができます。 9.22 Windows 95 で起動に時間が掛かる Katsutoshi_Ando@justsystem.co.jp 環境変数 HOME の値が、 C:\ などルートディレクトリになっていた場 合、起動が異常に遅い事があります。 これは Win95 が、 C:\\_vimrc のようにパス名(の先頭以外)に連続す る \ や / があるとファイルオープン時間や存在チェックなどが異常に遅 いためのようです。 この現象が発生し、 HOME が C:\ になっているのであれば、一つディ レクトリを掘って、 C:\myhome とかにすれば問題は解決します。 10. 添付ファイルについて 以下のファイルが添付されていますので、ご一読/ご参考にしてください。 10.1 differen.doc vim と vi の違いを解説した difference.doc の日本語訳です。これは、 川藤光裕さんと他有志の方々により 2.0 用に翻訳されたものを元に土田 が 3.0 で追加された部分を付け加えたものです。 vi との詳細な違いに関しては、このドキュメントを御覧ください。 10.2 tutor.j 練習用のサンプルファイル tutor を日本語化したものです。 これは、高須賀義弘さんが日本語化したものを、小島肇さんが jvim に対 応して修正したものです。 10.3 uganda.jp uganda.txt を中村敦司さんが日本語訳されたものです。 10.4 termcap.dos (termcap.jdos) 太田純さんが作成された termcap ファイルのサンプルに、 Windows-95 と DOS/V 用のエントリを追加したものです。 termcap ファイル作成の参考にお使いください。 10.5 vim.hlp 小笠原博之さんが作成された、 vim.hlp の日本語訳ファイルです。 10.6 fepctrl.doc 太田純さんが作成された FEPCTRL ライブラリのドキュメントです。 本来は、 FEPC15.LZH というアーカイブになっているものから、 fepctrl.[ch] を使わせていただいているので、完全なアーカイブが必要 な方は別途、入手してください。 又、 fepctrl.c は WINDOWS-95 に対応させる為に、土田が手を入れて いますので、オリジナルソースが必要な方も上記のアーカイブを入手して ください。 DJ-GPP 用のパッチも fepctrl.c にはあたっています。オリジナル DJ-GPP へのパッチが必要な場合には、やはり別途入手してください。 11. 動作確認について 以下の構成での動作確認及びご報告を頂いています。 11.1 MS-DOS MS-DOS/V 6.22 PC-DOS/V 6.3 MS-DOS(NEC版) 6.2 Windows-95 MS-DOS プロンプト Windows-98 MS-DOS プロンプト Windows-NT 3.5 MS-DOS プロンプト Windows-NT 3.51 MS-DOS プロンプト Windows-NT 4.0 MS-DOS プロンプト Windows-NT 2000 Professional MS-DOS プロンプト Windows-NT 2000 Server MS-DOS プロンプト Windows-NT 2000 Advance Server MS-DOS プロンプト 11.2 WIN-32 Windows-95 Windows-95 MS-DOS プロンプト Windows-NT 3.5 MS-DOS プロンプト Windows-NT 3.51 Windows-NT 4.0 Windows-98 Windows-98 2nd Edition Windows-NT 2000 Professional Windows-NT 2000 Server Windows-NT 2000 Advance Server 11.3 UNIX NEWS-4.2R SGI Indy/IRIX 5.3 IBM RS/6000 AIX 3.0/3.1 SS2/SunOS-4.1.4-JL HP-9000/HP-UX 9.05 HP-9000/HP-UX 9.07 HP-9000/HP-UX 10.01 HP-9000/HP-UX 10.20 HP-9000/HP-UX 11.00 SS20/日本語Solaris2.4 Solaris2.3 NEC EWS4800/220 EWS-UX/V Release 6.2 BOW (BSD on Windows) 1.5.1 BOW (BSD on Windows) 1.5.1 + FreeBSD 2.0R Free BSD 2.2.5-RELEASE Debian 1.3.1 Cygwin B20.1 BSD/OS 4.01 11.4 DOS EXTENDER djgpp 1.12 maint 4 + gcc 2.6.3 12. 著作権について BDF ディレクトリにある、 mw32bdf.c 及び mw32bdf.h は GPL に従った 配布が必要です。 また、 EXFILE ディレクトリにある、ソースファイルを使用する際には、 土田に連絡をください。この Extend File System 部分は、あまりにも適当 に作っていますので... その他の、土田が行った、日本語化部分の著作権を放棄します。 ソースの改良、修正、配布など、御自由に御利用ください。ただし、変更 の如何に関わらず、 JVim により生じるいかなる損害、不利益に対しても、 土田はその責を負いません。 また、ソースを使用された場合には、そのソースを公開して頂ける事を希 望します。 13. 転載等について 基本的に転載等はオリジナルの配布条件に準じます。 但し、純粋に個人的な興味から、メール等で転載先を教えて頂ければ幸い です。 随分、古いバージョンが出回っているようですので、できれば転載先を知っ ておきたいというのが理由です。 又、バグや動作がおかしいなど気になる点や、パッチを作っていただいた 場合などは、是非お教えください。 その際には、私のホームページ (http://www.st.rim.or.jp/~ken_t/) に 可能な限り最新の物を置いておきますので最新版で確認されてから、私 (ken_t@st.rim.or.jp) に連絡して頂ければ幸いです。 14. その他 現在、判っている問題点等を記述します。 14.1 WINDOWS-32(console mode) の日本語入力 WINDOWS-32(console mode) では、日本語の入力がうまく行えません。 例えば、 "あいうえお" と入力した場合にも "あいうえ" までしか表示せ ず、「リターンキー」や「エスケープキー」が入力されるまで "お" が表 示されない場合があります。 14.2 WINDOWS-95(console mode) の画面表示 WINDOWS-95(console mode) では、 Console-API を使用した画面表示よ りも、何故かエスケープシーケンスを使用した画面表示の方が高速です。 上記の 13.1 と合わせると、 GUI mode で使用する方がいいでしょう。 14.3 その他、気になること JIS コードに関してはテスト環境が無いので、自分ではまったくテスト していない状態ですので、必ずやバグがあると思います。 又、 WINDOWS-32(console mode) の様に判っていながら資料が無く、修 正できなかったバグもあります。 # 公式には、 WINDOWS-95 では console-API はサポートされていない # ようです。 15. tips 15.1 オリジナルの vi と可能な限り同じ設定にする方法 オプション compatible を設定してください。 起動した後に :set compatible とするか、環境変数 EXINIT か .vimrc に set compatible と定義してもいいでしょう。 15.2 複数回の undo/redo Vim では、複数回の undo/redo が可能です。 'u' で undo し 'CTRL-R' で redo します。この回数は、 undolevels で設定できます。回数を 0 に指定すると、標準の vi と同じになります。 15.3 不幸にも Vim がお亡くなりになった場合 Vim が不幸にもお亡くなりになった場合には、 vim -r と して recover をしてください。幸運ならば、編集中のバッファがある程 度回復するでしょう。 幸運を引き寄せるには、 updatecount と updatetime を短くする事で すが、パフォーマンスに影響します。 また、 vim -n として on memory での動作を指定すると、絶対に幸運 の女神は微笑みませんのでご注意ください。 15.4 MS-DOS 及び WIN-32(console mode) の TERM 名 MS-DOS では、 TERM 名を pcbios/pcterm に設定した場合に BIOS を使 用した画面制御を行います。 WIN-32 では、 pcbios/ntconsole とした場合に Console-API を使用し た画面制御を行います。 又、 TERM 名が環境変数 TERM に指定されていない場合には、上記の TERM 名が仮定されます。 従って、 J3100 などで MS-DOS を使用する場合には必ず 3.4 の説明を 読んで環境変数 TERM/TERMCAP を設定し、使用している PC に合わせて termcap ファイルを作成してください。 15.5 JIS コードでの日本語入力とネットワークを介した使用 キー入力に JIS コードを使う場合には、 ESC の入力が日本語コードの 開始か ESC キーの入力かを判断するためにタイマを使用しています。 このタイマ値は timeoutlen を使用していますので、レスポンスが悪い 場合には、適当に短くしてください。 又、漢字コードの 1 バイト目がキー入力されてから 2 バイト目が入力 されるまでも待ち時間も timeoutlen です。 ネットワークを介して使用する場合には、 ping コマンドで応答時間を 調べる等して適当な値を設定してください。 15.6 色の変更 ( WIN-32,DOS/V の場合) 色の変更は、 :set termcap とした時の t_so/t_ti/t_tb で行う事がで きます。変えたい色の部分を :set t_so=^[\|113m の様に変更すればいい です(入力する時には、 | がコマンドの区切りなので \ でエスケープす るのを忘れない様に。又、エスケープは CTRL+V に続けて ESC キーです)。 ESC + | + 数値(10進値) + m が、カラー設定の場合のエスケープシー ケンスで数値の部分が色になります。 数値は、 8bit で表され、上位 4bit がバックグラウンドカラーで、下 位 4bit がフォアグラウンドカラーです。 各 bit は、下位 bit から B(1)G(2)R(4)+Intensity(8) になっていま す。 設定したら忘れずに、 _vimrc ファイルに保存しておいてください。 15.7 MS-DOS/WIN-32(console mode) の直接画面制御を使用する際の注意点 MS-DOS で BIOS(DOS/V)/VRAM(PC98) を直接使用する場合や、 WIN-32 での Console-API を使用する場合には、 builtin_termcap を使用して 14.5 で示した色のエントリ (t_so/t_ti/t_tb) 以外は変更しないでくだ さい。 builtin_termcap のエスケープシーケンスを解釈して、直接 BIOS 等を 呼び出す為、エントリが変更されると動作しなくなります。 15.8 改行コードの変更 オプション textmode/notextmode で変更できます。 textmode で CR+LF に notextmode で CR のみになります。 通常は、 textauto に設定しておくことで、自動判別して動作します。 また、 foption の設定によって、 Macintosh の LF のみのファイルに も対応します。 15.9 複数の buffer (window) を開く コマンドモードで、 CTRL-W + CTRL-N とするか、コロンモードで :split や :new とする事で新しいウインドウを開きます。 15.10 テキストの整形 textwidth か wrapmargin オプションを設定しておくと、禁則処理を行 うテキスト入力ができます。 また、コマンドモードで Q コマンドを入力するとテキストの整形を行 います。 15.11 PC 版でのコマンドモードの動作 PC 版 (MS-DOS/WIN-32) のコマンドモードでは、 UNIX に似た環境変数 のサポートとファイル名の正規表現のサポートがされています。 例えば、 $LIB/[a-z]*.h ~/filename.txt などという様な指定が可能です。但し、 ~ によるアクセスは環境変数の HOME が定義されている場合に可能です。 15.12 ビジュアルモード テキストの一部を選択してから、コマンドを入力する事ができます。 'v' や 'V' でビジュアルモードの始めを指定し、カーソルを移動させ れば、ビジュアルモードの対象範囲が拡大されます。 範囲を指定した後に、 'd' (削除) 'c' (変更) などを指定できます。 指定できるコマンドなどの詳しい内容は、 difference.doc を参照して ください。 15.13 HELP ファイルが文字化けする HELP ファイルは、お使いのディスプレイ出力コードに合わせてくださ い。 15.14 複数のファイルから特定のファイルを指定して編集する (ALL) vim * などとして、複数のファイルを編集している場合に、目的のファ イルを開くには以下のようにします。 :buffers として、ファイル名の一覧を表示します。この時点で、目的 のファイルの番号を記憶しておきます。 :buffer NN として(ここで NN は buffers で表示された番号)、目的 のファイルを開きます。 15.15 grep 機能 (ALL) 正規表現を組み合わせて、複数行を検索できるようになります。 検索対象とする行数を指定する事で、複数行に跨った検索パターンを指 定できます。 検索の指定は、 && &&~ || の 3 パターンで、最後に l + 行数とい う指定になります。 /pat_A/&&/pat_B/l10 (10 行以内に、 pat_A と pat_B を含む) /pat_A/||/pat_B/l (1 行内に、 pat_A か pat_B を含む) /pat_A/&&~/pat_B/l1 (1 行内に、 pat_A を含み pat_B を含まない) 検索速度に影響しますので、検索行数の設定には注意してください。 また、 W オプションを追加すると、 buffer list の順番に従い、指定 された search を行うようになります。 例えば、 a b c の 3 つが buffer list にある状態で、 a ファイルの 位置で pattern を検索した場合には、 pattern が見つかるまで a b c の順にファイルを検索します。 例えば、 /pat_A/&&/pat_B/l10W /pat_A/W とすると、 10 行以内に pat_A と pat_B を含む箇所や、 pat_A を全て のファイルに渡って検索します。 15.16 ONEW/canna の表示について (UNIX,ONEW/canna) ONEW/canna は、 underline が使用できる場合には fence で表示する のではなく、 underline を使用して表示します。 underline が使用できるかは、 termcap エントリに us/ue エントリが 存在するかで判定してます。 underline ではなく、 reverse で表示したい場合などには、 highlight エントリの f と F が使用しているエントリですので、このパラメータを 変更してください。 15.17 複数コードが混ざったファイルの編集 文字化けしている行を V コマンドなどで範囲指定をし、 !nkf (nkf は、 漢字コード変換の為のフィルタコマンドです。適宜お使いのものに変えて ください)などとすれば置き換わります。 # uuencode と base64 は、 V で行範囲を指定してから !uudecode な # どとすれば同様に処理できます。 コードの使用している範囲から、SJIS と EUC が混ざったファイルを編 集する際には、基本的には SJIS で読み込まないと、上記の様に外部コマ ンドの呼び出しでの再変換はうまく行かない可能性が高いです。 15.18 _vimrc の簡単な定義例 _vimrc の簡単な定義例を、私の場合を例にして説明します。 環境変数の HOME と TMP は、あらかじめ autoexec.bat(Windows 95) もしくはコントロールパネル (Windows NT) で定義してあります。 また、 unlha32.dll がインストールしてあり、 AL-Mail をメーラとし て使用しています。 ここでは、 HOME ディレクトリに置いてある、 _vimrc ファイルと _vimrc.alm を例にします。 つまり、通常の .c/.txt/.doc など .alm 以外では _vimrc が使用され、 AL-Mail のファイルを編集する時には _vimrc.alm が使われます。 =============================================================================== $HOME/_vimrc の定義例 ------------------------------------------------------------------------------- "Sample of _vimrc file " _vimrc では、デフォルトの定義を行います。 fexrc を使用するので、他の " _vimrc.??? で使用しているオプションも定義しておきます。 " コメントは " で始まります。また、 \ そのものを入力するには \\ と記述します。 set autoindent " auto indent を使用 set nobackup " .bak ファイルは通常作らない set backupdir=>$TMP\\backup.lzh: " backup を作る時には LHA ファイルに " これで、 set backup すればこの LHA ファ " イルにバックアップファイルが作られます set cmdheight=1 " : 行は 1 行 set directory=>d:\\tmp " > で、始めているとファイルと同じ所には " .swp を作らずに指定した所 (d:\tmp) に作る set noerrorbells " 煩いのでベルは最小限 set noexpandtab " TAB は TAB のまま set fepctrl " コマンドモードに戻る時には IME を OFF set fexrc " ファイルの拡張子に合わせて _vimrc を読む set fepkey=\\ " IME の ON/OFF は Ctrl-\ で行う set fepkeys=/? " /? でのサーチの時にも fepctrl を有効 set nojkanaconv " 半角カナを使用可能にする set modeline " modeline を有効にする。このファイルの最 " 後に記述してある定義の様に、ファイルに記 " 述した定義を読み込んで使用します set notextauto " CR-LF の自動判断を OFF にする set shiftwidth=4 " ^D/^T でのシフト幅を 4 文字にする set tabstop=4 " TAB は 4 文字単位 set tags=tags\ c:\\devstudio\\vc\\include\\tags " tag ファイルを複数使う時 " には "\ " としてスペースで区切る set textmode " CR+LF ファイルを指定 set textwidth=0 " 禁則処理 OFF set whichwrap=11 " 左右のカーソルキーでは行を跨って移動 set wildchar=9 " コマンド行の補完キーを TAB<0x9> に set window=80,25 " Window サイズを 80x25 にする map ^X gX " Windows 標準になるように ^X ^C ^V を割り map ^C gC " 当て。 ^X などは、 CTRL-V を入力した後に imap ^V^V ^OgV " 該当するコントロールキーを入力 "End of Sample ------------------------------------------------------------------------------- =============================================================================== $HOME/_vimrc.alm の定義例 ------------------------------------------------------------------------------- "Sample of _vimrc.alm file " _vimrc.alm では、私が普段使用しているメーラの AL-Mail で編集に使用する際の " 定義を記述しています。 " 基本的には、 _vimrc をコピーして変更のある部分だけを変えるのがいいです。 set cmdheight=2 " AL-Mail のディレクトリが深いので、 :w で一々リターン " キーを押さなくていいようにコマンド行を 2 行に set expandtab " TAB は、 SPACE に置き換える set jkanaconv " 半角カナ禁止。全角カナに置き換える set shiftwidth=2 " 編集中の ^D/^T で 2 文字ずつシフト set tabstop=8 " TAB 幅は 8 文字 set textwidth=60 " 禁則処理を使用する。禁則の桁数は 60 文字 "End of Smaple ------------------------------------------------------------------------------- 15.19 mh のエディタに jvim を使用すると、 ^Z でサスペンド後 fg で編 集が続行できない kawashima@iname.com mh のエディタとして jvim 1.3 を使用している場合、 comp でメイル を書いている途中で ^Z でサスペンド状態にし、fg でもとに戻すとエラー メッセージが出て、編集の続行ができなくなります。 これは、/usr/local/bin/csh-jvim というファイルを #! /bin/csh -f /usr/local/bin/jvim $* というシェルスクリプトとして作成し、 .mh_profile を Editor: /usr/local/bin/csh-jvim とすることで、回避する事ができます。 15.20 binary モードの変更について JVim では、内部で日本語 (正確には SJIS で) 処理をしている為に、 オリジナルの Vim の様な形で binary モードがサポートできませんでし た。 そこで、 binary が指定された場合には、 16 進ダンプの形で読み込み と書き込みをする様になっています。 読み込みに関しては、下記の様な形になります。 00000000: 4d5a 9000 0300 0000 0400 0000 ffff 0000 ;MZ・・・・・・・・・・・・・・ 00000010: b800 0000 0000 0000 4000 0000 0000 0000 ;ク・・・・・・・@・・・・・・・ 書き込み時ですが、以下の様になります。 o : から ; までが、書き込む際の変換対象になります。 |<------------------------------------->| 00000010: b800 0000 0000 0000 4000 0000 0000 0000 ;ク・・・・・・・@・・・・・・・ o 16 進数で記述します。 o 空白かタブで区切るか、 16 進数 2 桁で 1 バイトになります。 b800 => 0xb8,0x00 b8 0 0 => 0xb8,0x00,0x00 b80 => 0xb8,0x00 o ; から後ろには、 jcode で選択したコードに合わせて変換した文 字が表示されます。 但し、 JIS コードを指定した場合には、変換しません。 o " で括った範囲は、その文字を jcode で指定した文字に変換して、 そのまま書きこみます。但し、 JIS コードを指定した場合には、 変換しません。 15.21 FEP/IME の自動起動を使用しない FEP を自動で起動されると使いづらい場合には、 jinsertmode を A も しくは J としてください。 # A で FEP/IME は OFF 状態で、 J で ON 状態で起動します。 この場合、 jiauto の値は 0 としてください。 jinsertmode は、 jiauto の値が 0 以外の場合には入力された文字数で FEP/IME の OFF/ON を変更しますが、 0 の場合には入力開始時の FEP/IME のモードを固定し ます。 16. おまけのプログラム 16.1 grep - 日本語対応 grep grep [-[[ABL] ]] [-[CVcijlnqsvwx]] [-K ] [-[efE]] [] 日本語に対応した grep コマンドです。 標準の grep に比べて、以下の拡張がされています。 o アーカイブファイル内のファイル検索が可能 (WIN-32) 14.20 LHA/gzip/compress/TAR ファイルの編集を参照してください。 o 正規表現を組み合わせて、複数行のを検索が可能 14.23 grep 機能を参照してください。 オプションには、以下のものがあります。 == 標準 (GNU grep 2.0) 互換のオプション == -A 一致した前 num 行を表示します -B 一致した後 num 行を表示します -C 一致した前後 2 行を表示します -V バージョンを表示します -c 一致した行数を表示します -f file から正規表現を読み込みます -i 大文字と小文字の区別をしません -l ファイル名のみを表示します -n 行番号を出力します -q エラーメッセージを出力しません -s メッセージを出力しません -v 一致しない行を出力します -w expr を単語として検索します -x expr と一致する行を表示します == 独自拡張のオプション == -j 日本語あいまい検索( 6.16 jignorecase を参照してくだ さい)を使用します -e 先行する正規表現と or 条件の正規表現を指定します -E 先行する正規表現と and 条件の正規表現を指定します -L 検索する範囲の行数を指定します。 -e -E -L に関しては、14.23 grep 機能を参考にしてください。 -e と -E は、最初の物に関しては or/and の区別はしません。 -K 使用する日本語コードを jmask ( 6.7 jmask を参照して ください)と同様に設定できます。 但し、最初の「キー入力」は、ファイルからの読み取りの 日本語コードの設定になります。この部分については、 jcode ( 6.3 jcode を参照してください)と同様に設定 できます。 ex: -K sEE ex: -K JSE また、「システムコード」は、引数の日本語コードの設定 になります。 行番号を指定した出力を、 grep jump ( 7.7 gg を参照してください) で使用する事によって目的の行に簡単に移動する事ができます。 16.2 vim32s - ラウンチャ SendTo では -no オプションが定義できないので、任意のアプリケーショ ンを引数付きで起動するラウンチャです。 vim32s.exe と同じディレクトリにある、 vim32s.ini ファイルの内容に 従って、対象となるファイルの内容で起動するアプリケーションを指定し て起動する事ができます。 設定方法などは、 vim32s.ini に記述してありますので、こちらを参照 してください。 16.3 clip - クリップボードへの出力 クリップボードへ、標準入力の内容をコピーします。 オプションには、以下のものがあります。 -e タブを展開します -p 入力を標準出力にも出力します -x command コマンドを実行して、その出力をクリップボードへコピー します -V バージョンを表示します type text.txt | clip などの様に、パイプコマンドとして使用してく ださい。 17. vim-jp ML  ものぐさな作者に代わって、堺一広(ka-sakai@ga2.so-net.ne.jp)さんが、 森村輝幸(imorimura@debian.or.jp)さんにサーバを提供頂き、 vim のメー リングリストを開設してくださいました。 また、開設のアナウンスは、宮澤綾子(t92451am@sfc.keio.ac.jp)さんが してくださいました。 質問などは、こちらの ML でなされると、素早い回答が得られるのではな いかと思います。 メーリングリストへの参加方法などは、 vim-jp.htm 及び fj.txt ファイ ルを参照してください。 18. 謝辞 Vim の日本語化にあたり、以下の方のご協力を頂きました。 この場を借りて、感謝いたします。 特に、ものぐさな作者に代わり vim-jp ML を開設して頂いた、堺一広さ んと ML サーバを提供して頂いた 森村輝幸さん、 fj への投稿をして頂い た、宮澤綾子さんにここでお礼を申し上げます。 敬称は略させて頂きました。 tantan sgl00213@niftyserve.or.jp せにょ〜る senyol@pb3.so-net.ne.jp とよふく unbound@papaya.juice.or.jp 阿部 康一 kouichi@etn.yz.yamagata-u.ac.jp 安藤 勝敏 Katsutoshi_Ando@justsystem.co.jp 河野 康司 kohno@nikongw.nikon.co.jp 吉山あきら yosshy@debian.or.jp 吉田 正人 yoshidam@yoshidam.net 宮下 尚 himi@bird.scphys.kyoto-u.ac.jp 宮澤 綾子 t92451am@sfc.keio.ac.jp 鯉江 英隆 koie@suri.co.jp 高原 和徳 kaz_t@yk.rim.or.jp 高田 勝 takada@cced.mt.nec.co.jp 堺 一広 ka-sakai@ga2.so-net.ne.jp 小笠原博之 oga@dgw.yz.yamagata-u.ac.jp 小島 肇 kjm@rins.ryukoku.ac.jp 新地 隆治 shinchir@soft.hitachi.co.jp 森村 輝幸 imorimura@debian.or.jp 秦 裕治 --------------------------- 西村 英章 nishimu@sdd.siznes.nec.co.jp 青木 雅人 aps-00@ceres.dti.ne.jp 川戸 勝史 kawato@ksp.nis.nec.co.jp 川島 浩 kawashima@iname.com 川藤 光裕 kawafuji@mm.neweb.ne.jp 村山 文孝 umura@nn.solan.chubu.ac.jp 太田 純 ohta@src.ricoh.co.jp 中村 敦司 ann@mrit.mei.co.jp 朝木 卓見 asaki@mmip.tutics.tut.ac.jp 長尾 嘉也 --------------------------- 田島 喜晴 ytajima@flab.fujitsu.co.jp 渡辺 博文 watanabe@jis.ptg.sony.co.jp 渡邉 友範 tom_w@ta2.so-net.ne.jp 飯塚 徹 t-iizuka@ca2.so-net.ne.jp 樋口 泰志 yzone@mail.raidway.ne.jp 武石 尊之 takeishi@arch.comp.kyutech.ac.jp 木原 英人 deton@m1.interq.or.jp 19. 変更歴 JVim3.0-j2.1 (2001/1/1) o fexrc を一つの .jvimrc で定義できるようにした (ALL) o foption=8 を追加した (ALL) o 行間・文字間の指定を可能にした (WIN-GUI) o ini ファイルの複数セクションを認識する様にした (WIN-GUI) o BSD/OS で、 Seek error となるのを修正 (BSD/OS) o $HOME/.jvimrc 等で exrc と fexrc の両方を set していて、カレン トディレクトリに .jvimrc や .vimrc があると segmentation fault (core dumped) で落ちるのを修正 (ALL) o fepkeys での IME 制御を jinsertmode で指定できる様にした (ALL) o 樋口@raidway さんの Cygwin 1.1 パッチの取り込み (Cygwin) o BDF 使用時の IME フォントサイズを BDF フォントの大きさに合わせ る様にした (WIN-GUI) o ZEN/HAN to ESC で 106 キーボードの半角/全角キーを ESC キーとし て扱う機能を選択可能とした (WIN-GUI) o SJIS の 0xE0 で始まる文字を Unicode で保存するとファイルが壊れ ることがあるのを修正 (UNIX) o 空白を含むディレクトリ名の展開で、ディレクトリ名の空白以降の部 分と同一のディレクトリ名がカレントディレクトリに存在すると、カ レントディレクトリの展開を行ってしまう不具合の修正 (WIN-32) o grep で、最初のファイルに、サイズが 0 のファイルを指定すると core dump するのを修正 (ALL) o grep に、 -- (オプションの終了) を追加 (ALL) o bdelete で、バッファを切り替えた場合に、コード判定が正しく動作 しない不具合を修正 (ALL) o Cygwin-1.1 のパス参照方法の変更に対応 (Cygwin) o フィルタコマンドを 10 回以上使用すると、テンポラリファイルが作 成できない不具合の修正 (WIN-32) o SJIS の補助漢字コード (0xFxxx) を、 JIS 出力する場合には等価文 字 (0xExxx) に変換するようにした (ALL) o SJIS の補助漢字コード (0xFxxx) を、 EUC 出力する場合には SS3 + MSB 付き JIS X0212 とし、 X0212 で表現できないコードは、 eucJP-open の IBM 拡張漢字の変換表を使用して出力するようにした (ALL) o Insert mode で ↑↓キーを使って上下の行へ移動したとき、移動先 が行末で、かつ日本語コードだった場合、文字を挿入すると文字化け をおこす不具合の修正 (ALL) o "Press RETURN or enter command to continue" を抜ける時に、特殊 キーを押すと、モードが替わるなどの不具合を修正 (ALL) o canna で行を跨った表示が正しく行われない不具合の修正 (canna) o SJIS と EUC が混じったテキストを fopion の 1-3 を指定して開く と segmentation fault (core dumped) で落ちるのを修正 (ALL) o 行の増減を行うと、 segmentation fault で落ちる場合があるのを修 正 (WIN-GUI) o 実行ファイルがあるディレクトリの jvimrc/vimrc をシステムデフォ ルトとして使用する様にした # _ が無い事に注意 (WIN-32) o システムデフォルトの vimrc も jvimrc が同一のディレクトリにあ れば優先して jvimrc を使用するようにした (UNIX/WIN-32) o HOME 環境変数を ~ に置き換える際に、ディレクトリの区切りを考慮 していない不具合を修正 (ALL) o : コマンドで % を指定された場合には、フルパスに展開する様にし た (ソースのコメントに合わせた) (ALL) o 外部コマンド起動に / でパスを区切られても動作するようにした (WIN-32) o ONEW で vim_isdir() のプロトタイプ宣言がエラーになるのを修正 (Onew) o リンクするライブラリを static ライブラリから dynamic ライブラ リに変更した (WIN-32) o ファイルのソートを Windows 流に、大文字・小文字の区別をしない ようにした (WIN-32) o クリッカブル URL で、パスに空白を含んでいる場合には、ダブルコー テーションで囲んである範囲を認識する様にした (WIN-GUI) o join の際に、日本語で終了している次の行が、空白文字のみの場合 には、空白を入れないようにした (ALL) o nojjoinspaces にした場合には、日本語と ASCII 文字の間に空白を入 れないようにした (ALL) o Ctrl-G で、 1 バイト文字のカラム数が 1 少ないのを修正 (ALL) o jreplace オプションの動作を逆にした (ALL) o ! のコマンド実行でドキュメントタイプを参照する様にした (WIN-GUI) o ファイル共有をチェックするようにした (WIN-GUI) o 日本語の空白文字に 0x8151 を追加した (ALL) o レイヤードウィンドウでの半透明をサポートした (WIN-GUI) o BDF フォント使用時のメモリ開放漏れの修正 (WIN-GUI) o BDF フォント使用時の高速化 (WIN-GUI) o 樋口@raidway さんの OpenBSD 2.7 パッチの取り込み (OpenBSD) o bitmap 表示を BDF フォント使用時に、空白文字の反転表示が正しく 表示されないのを修正 (WIN-GUI) o 背景に bitmap 以外に jpeg/gif 等を表示できる様にした (WIN-GUI) o 背景のサイズを調整できる様にした (WIN-GUI) o 背景の位置を右上に表示できる様にした (WIN-GUI) o 濱崎健 (hma@syd.odn.ne.jp) さんの Debian GNU/Linux 2.2 パッチ の取り込み (Linux) o カーソル形状を変更した (WIN-GUI) o ヘルプファイルの読み込みで、日本語コードの自動判定を行う様にし た (ALL) o tagex オプションを追加し、同一のタグが存在する場合には選択可能 にした (ALL) JVim3.0-j2.0a (2000/04/01) o ファイルに 0xfe が文字コードとして存在すると、その時点で EUC コードと判定する為に、 SJIS のファイルを誤判定するのを修正 (ALL) o カーソルキャレットが残る場合があるのを修正 (WIN-GUI) o tags ファイルの検索文字パターンの中に漢字が含まれていると、ファ イルは開くが tag 名の検索に失敗するのを修正 (ALL) o MS-DOS で grep がコンパイルできないのを修正 (MS-DOS) o UTF-8 で malformed になった場合に、 SJIS/EUC の判別ができない と UTF-8 に誤判定してしまう場合があるのを修正 (ALL) o grep で、終了値が正しく返らない不具合の修正 (ALL) o タイトルバーのファイル名表示を :set icon でフルパス表示から、 ファイル名のみの表示にするようにした (WIN-32) o 1 バイト目が日本語コードで、 2 バイト目が \0 のファイルを開く と、一般保護例外になる不具合の修正 (ALL) o gg で、存在しないファイルにジャンプしないようにした (ALL) o 半角カナで、 \ が動作しない不具合を修正 (ALL) o BSD/OS 4.01 でコンパイルできるようにした (BSD/OS) o g を map されていると ATL-V が動作しないのを修正した (WIN-GUI) o Windows 2000 の notepad で UNICODE のエンディアンが指定可能に なったので、 jbigendian オプションで UNICODE のエンディアンを 指定できるようにした (ALL) o Windows 2000 の notepad が出力する UTF8 を SJIS と誤判定するの を修正 (ALL) o .ini ファイルでの fontsize 指定を正しくした (WIN-GUI) o .ini ファイルでの textcolor/backcolor の指定を "," で区切った RGB 値で指定できるようにした (WIN-GUI) o ALT-N で新規に JVim を起動する際に、現在の構成定義で起動する様 にした (WIN-GUI) JVim3.0-j2.0 (2000/01/01) o BDF フォント使用時に、スクロールバーでの移動が遅いのを修正 (WIN-GUI) o メニュー表記の修正 (WIN-GUI) o メニューに Save と Save As を追加した (WIN-GUI) o 新規ファイルの修正を undo した後に、 :bdelete すると JVim が落 ちるのを修正 (ALL) o 下カーソル移動で、突然 paste される場合があるのを修正 (WIN-GUI) o VC++ 5.0 + SP3 でコンパイルすると、 tag jump が無限ループする のを修正 (WIN-32) o Windows 98 で Foreground Window にならなかった場合には、アイコ ン化した後に表示する事で Foreground にする様にした (WIN-GUI) o ドラッグ&ドロップで、 C:\WIDNOWS\デスクトップ\サポートカード 3.3.txt が読み込めない不具合の修正 (WIN-GUI) o tag ファイルで LSIZE 文字以上の行があった場合には、エラーでは 無く読み飛ばすようにした (ALL) JVim3.0-j1.8 (1999/12/04) o wrap モードで、画面に表示されていない行がある場合に、スクロー ルバーが disable になる場合があるのを修正 (WIN-GUI) o UNIX で UTF-8 出力を行うと core を吐くのを修正 (UTF-8) o ファイルを開ききる前に Config を変更するとアプリケーションエラー になるのを修正 (WIN-GUI) o キーコードを EUC 入力とした時に、 fepkey=@ が動作しなくなる不 具合の修正 (ALL) o Turbo C++ 5.01J for Windows で vim32.rc がコンパイルエラーにな るのを修正 (WIN-32) o BDF フォントを使う設定で、 BDF FONT Setup ダイアログを出してキャ ンセルボタンを押すと、ウィンドウ内に表示されたダイアログの表示 がクリアされない不具合の修正 (WIN-GUI) o ファイル名が常にフル・パスで表示される不具合の修正 (ALL) o F1 キーを二回押すと、ヘルプメッセージが消えるのを修正 (WIN-GUI) o :sh が Segmentation fault で落ちる不具合の修正 (ALL) o tags ファイルの構成がおかしい時にタグジャンプを行うと、 Segmentation faultで落ちる不具合の修正 (ALL) o 日本語と特殊文字 (空白や $) が一緒にあるファイルを Drag & Drop すると一般保護例外になる不具合の修正 (WIN-GUI) o 全角空白が前後にある場合にも、クリッカブル URL が動作する様に した(WIN-GUI) o クリップボード用にバッファ文字 @ を割り当てた (WIN-GUI) o BDF フォントを使う設定で、マウスによる範囲指定を行うと画面を再 描画しながら動作するのを修正 (WIN-GUI) o UTF-8 の判定を、吉田(yoshidam@yoshidam.net) さんの方式とのミッ クスにした (ALL) o 起動時に、ファイル名が表示されないのを修正した (WIN-GUI) o BDF フォント使用時の高速化 (WIN-GUI) o 領域選択状態でクリップボードの内容を Put した場合には、選択範 囲をクリップボードの内容で置き換える様にした (WIN-GUI) JVim3.0-j1.7a (1999/10/13) o SUNOS 4.1.4-JL でコンパイルエラーになるのを修正 (UNIX) o EUC で、箱が行末にあると UTF-8 と判定するのを修正 (ALL) o Turbo C++ for Windows のコンパイルエラーを修正 (WIN-GUI) o grep の、メモリバッファ境界を跨る検索が行えない不良の修正 (ALL) o keywordprg に日本語を渡す際に、システムコードに変換しない不具 合の修正 (ALL) o ダイヤログ表示の見直し (WIN-GUI) o Wave / Bitmap / BDF に、 Preview を追加 (WIN-GUI) o CAB / ZIP ファイルのサポート (WIN-32) o コマンドモード以外で、メニューの Edit が動作しないのを修正 (WIN-GUI) o option の機能のうち、ファイル単位に指定するものを foption とし た (ALL) o バイナリファイルを EUC と判定した時に、落ちてしまうのを修正し た (ALL) o スクロールバー描画の見直しによる、更なる高速化 (WIN-GUI) o UNIX でも、日本語ファイル名を扱えるようにした (UNIX) o BDF フォントでスクロール・アップが異常に遅いのを修正した (WIN-GUI) JVim3.0-j1.7 (1999/08/24) o スマートコマンドヒストリの追加 (ALL) o アイコン状態からのクローズの追加 (WIN-GUI) o clip コマンドに、コマンド実行を追加した (clip) o ステータスバーの Drag で分割した Window のサイズが変更できるよ うにした (WIN-GUI) o binary モードで、 16 進ダンプ表示となるようにした (ALL) # option を設定する事で、オリジナルの binary モードになります o makjdos.mak の不具合の修正 (DOS) o USE_X11 していない時には、終了時に Window タイトルを terminal 名に変更するようにした (X11) o メニューの ON/OFF を可能にした (WIN-GUI) o アクセラレータキーを使用可能にした (WIN-GUI) o ALT キーの入力制御を行う様にした (WIN-GUI) o 初期設定ファイルを読み込む際には、 Loading のダイヤログを表示 する様にした (WIN-GUI) o linepersec オプションの削除 (WIN-GUI) o onewin オプションの削除 (WIN-GUI) o UTF-8 をサポートした (ALL) o GUI 系オプションの変更で、画面を小さくした時にエラーとなる場合 があるのを修正した (WIN-GUI) o 画面表示の更なる高速化を図った (WIN-GUI) o V コマンドの Yank で、行頭にカーソルが移動するようにした (ALL) o CTRL-C での Yank で、カーソルが戻らないようにした (WIN-GUI) o IME-2000 で、 jk コマンドでの移動の様に、キーリピートが続くと 一時的にハングアップ状態になるのを (仮) 対策した (WIN-GUI) o オプションコードの変更 JVim3.0-j1.5b (1999/06/06) o ホイール・スクロール量を求めるようにした (WIN-GUI) o キーピートのキャンセル処理を追加した (WIN-GUI) o MIME ファイルの処理の不具合を修正した (ALL) o メニューに新規 Window の作成を追加した (WIN-GUI) o [予.txt が開けない不具合の修正 (WIN-32) o BSD 系 OS で、 tputs() を使用しない不具合の修正 (UNIX) JVim3.0-j1.5a (1999/05/05) o Window のサイズ変更で一般保護例外となる不具合の修正 (WIN-GUI) o ini ファイルで、パラメータ指定ができるようにした (WIN-GUI) # 14.36 を参照してください o tag ファイルの close 漏れの修正 (ALL) o fepkeys に、 /? を設定している際に fep の状態をリセットしてし まう不具合の修正 (ALL) o fepkey に、 [ を設定している際に : モードから ESC でコマンドモー ドに戻らない不具合の修正 (WIN-GUI) o UNIX の罫線モードで coredump する不具合の修正 (UNIX) o canna で、未確定文字列を BS で全消去するとカーソルが正しい位置 にならない不具合の修正 (canna) o Tera Term などの VT100 モード画面制御がおかしくなる不具合の修 正 (Debian/linux) o Windows 98 での、ホイール・スクロールの修正 (WIN-GUI) JVim3.0-j1.5 (1999/02/14) そろそろ、修正も一息つくだろうという事で、 Revision Up にしまし た。 o WIN-NT で、画面の上端からはみだす状態にして、ウィンドウの位置 を Save Config してから、使用した Config を選ぶと Window が消 える不具合の修正 (WIN-GUI) o 英語版 Windows でも、日本語 TT Font を使える様にした (WIN-GUI) JVim3.0-j1.3k (1999/01/17) o * で、半角カナの word search ができない不具合の修正 (ALL) o ホイールでのスクロールの方向が逆になる場合があったのを修正した つもり (WIN-GUI) o Cygwin の telnet/X から使用した場合、ウィンドウをリサイズする と終了してしまうのに対処 (Cygwin) o :q でなく、ウインドウクローズでプロセスが残る不具合の修正 (WIN-GUI) JVim3.0-j1.3j (1999/01/01) o makjnt.mak を修正 (WIN-32) o スクロールバーの表示を変更 (WIN-GUI) o カーソル非表示モードを使用していて、 insert モード中に右クリッ クでカーソルが表示されない不具合の修正 (WIN-GUI) o put の際に、コマンドモードの場合には一度 insert モードに遷移す るようにした (WIN-GUI) o 樋口@raidway さんの Cygwin へのパッチを取り込み (Cygwin) o nojignorecase だと /[0-9] や /[a-c] といった文字の範囲指定が動 作しない不具合の修正 (ALL) o 80x65 等の大きな画面で vim を起動した時、画面の 4/5 程度の場所 で文字化けすることがある不具合の修正 (ALL) o MSDOS 系の HOME 環境変数の参照では、大文字・小文字の区別をしな いようにした (MSDOS) JVim3.0-j1.3i (1998/11/04) o linux で、"Unable to open swap file, recovery impossible" にな るのを修正 (linux) o canna で、再描画が非常に多いのを修正 (canna) JVim3.0-j1.3h (1998/10/30) vim-jp ML で、木原 英人さんと川藤 光裕さんが公開された不具合修 正パッチの吸収 o grep が、 NT 以外でコンパイルエラーになるのを修正 (ALL) o UNIX で、 make のみで grep しか作成されないのを修正 (UNIX) o X11 の include ディレクトリの定義を追加 (UNIX-X11) o Onew で、未初期化変数を使っているのを修正 (Onew) o TURBO C++ で、 Dialog 関数が Warning になるのを修正 (WIN-GUI) o MFC 用の include ファイルを使っていたのを修正 (WIN-GUI) o Debian でのコンパイルエラーの修正 (Debian) JVim3.0-j1.3g (1998/10/13) o -no オプションが動作しなくなった不具合の修正 (WIN-GUI) o -no オプションを onewin として解除できるようにした (WIN-GUI) o SendTo ラウンチャに、プロセス終了待ちとシフトキー押下判定を追 加 (WIN-32) o SendTo ラウンチャに渡される引数が、 " で括られていた場合の処理 を追加 (WIN-32) o jmask の設定を、 -K オプション / .vimrc / LANG 環境変数 / JP_DEF の順にした (ALL) o Windows GUI の場合には、 IMM32 を使用した IME 制御をする様にし た (WIN-32) o 正規表現の range で、漢字の範囲チェックを変更して、 [亜-個] な どの指定ができるようにした (ALL) o SJIS コード出力の際の不具合の修正 (ALL) o BDF フォント使用時に、存在しない漢字コードがあると、その文字以 降を表示しなくなる不具合の修正 (WIN-GUI) o USE_EXFILE を指定しないとリンクエラーでコンパイルできない不具 合の修正 (WIN-32) o Darren Hiebert氏の Exuberant Ctags 2.3.1 で作成した tag ファイ ルで tag jump ができない不具合の修正 (ALL) o Insert Mode で Drag & Drop された場合には、ファイル名を入力し たものとして扱うようにした (WIN-GUI) o FreeBSD 3.0 Beta で Warning がでるのを修正 (FreeBSD) o jc=X で、ファイルを開くとエラーになる不具合の修正 (ALL) o Onew のステータスラインの再描画オプションの追加 (ONEW) o Onew で、確定文字が無い時に ESC キーを入力すると、ゴミが出力さ れるのを修正 (Onew) JVim3.0-j1.3f (1998/05/27) o lines/columns の set で、ウインドウサイズを変更 (WIN-32) o window パラメータを正しく表示する様にした (WIN-32) JVim3.0-j1.3e (1998/05/17) o WINDOWS NT で \[\].txt を開こうとすると、一般保護違反になる不 具合の修正 (WIN-32) o vim32s.exe を、汎用ラウンチャに変更 (WIN-32) JVim3.0-j1.3d (1998/04/21) o Config で、画面の行数が増えても、 region が増えずに使用できる 行数が変わらない不具合の修正 (WIN-GUI) o ONEW が必ず fence mode になる (ONEW/canna) o tags ファイルのサーチ文字が / で終わっているとサーチできない不 具合の修正 (ALL) o /pattern/i/+2 などで、正しく行が進まない不具合の修正 (ALL) o Screen Size と Screen Buffer Size が異なる時に、正しく表示でき ない不具合の修正 (WIN-CON) o Extend File System に .bz2 拡張子を判断するように追加 (WIN-32) o 半角カナに相当するコードが連続していない場合には、 euc のコー ドと判定する様にした (ALL) o コード変換で最後の文字を漢字の 1st byte と判断した後に、 2nd byte が無いにも関わらず処理を続行していた不具合の修正 (ALL) JVim3.0-j1.3c (1998/04/04) o 編集サブメニューの並びを変更 (WIN-GUI) o ペースト時、クリップボードが空の場合に動作がおかしくなる不具合 の修正 (WIN-GUI) o クリップボードから数百 K バイト以上の入力を行った場合に、一時 的にハングアップした様に見えるのを修正 (WIN-GUI) o ペースト時には、画面表示を間引きして出力する様にした (WIN-GUI) o bitmap 表示をオリジナルの縦横比を保持して中央に出力するように した (WIN-GUI) o WINDOWS NT で "[{#%" を含んだファイルを開こうとすると、一般保 護違反になる不具合の修正 (WIN-32) o Drag&Drop で、ファイルが正しく開けない不具合の修正 (WIN-GUI) o BDF FONT のサポート (WIN-GUI) o scrollbar / bitmap / sound オプションをシステムメニューに変更 した (WIN-GUI) o GUI 系のオプションをシステムメニューで切り替えられるように変更 した (WIN-GUI) o fj.editor.misc で、「使い物にならない」とまで言われた、漢字コー ドの自動判定の修正 (ALL) o vim-jp ML の紹介 page の vim-jp.htm を追加 (ALL) o vim-jp ML の紹介記事の fj.txt を追加 (ALL) o フォントカラーをバックグランドカラーと同じように設定可能にした (WIN-GUI) JVim3.0-j1.3b (1998/03/14) o アーカイブに入れ忘れた vim32s.exe を入れた (WIN-GUI) o スクロールバーで 1000 行以下のファイルをスクロールダウンすると、 いきなり行が先頭行に戻る不具合の修正 (WIN-32) o WINDOWS GUI バージョンでは、 fepctrl をデフォルトで設定するよ うにした (WIN-GUI) o grep.exe に、せにょ〜るさんの icon データを設定した (WIN-NT) o 右クリックでのポップアップメニューの位置を調整した (WIN-GUI) o 右クリックでのポップアップメニューを Word と同じ順番にした (WIN-GUI) o bitmap オプションで、背景を設定できるようにした (WIN-GUI) o sound オプションで、ビープ音を設定できるようにした (WIN-GUI) o 外部プリントアウトツールの呼び出しをサポート (WIN-GUI) o _jvimrc が存在する場合には、 _vimrc より優先して使用するように した (ALL) JVim3.0-j1.3a (1998/02/14) o vim32 /tmp/*.lzh:*/* などの様に、アーカイブファイル内でディレ クトリを跨ってワイルドカードを指定した際に、動作しない不具合の 修正 (WIN-32) o noscrollbar を指定していると、終了/起動でどんどんウインドウサ イズが小さくなる不具合の修正 (WIN-GUI) o アーカイブファイル内の検索ができる grep を追加した o buffer を複数表示している場合には、 fexrc で読み取った _vimrc ファイルに window サイズが指定されていても無視する様にした (WIN-32) o スクロールスピードの更なる向上 (WIN-GUI) バージョン 1.3 に比較して 200% 以上の性能向上 特に、 TT フォントを使用した場合の根本的な速度向上 o linepersec オプションの追加 (WIN-GUI) o 起動時のウインドウサイズチェックの追加 (WIN-GUI) o script ファイルの出力が出来ない不具合の修正 (WIN-32) o ディレクトリ名の部分を、全て小文字にしてしまう不具合の修正 (WIN-32) o 8+3 形式でない CD-ROM のファイルを、エクスプローラから送るで 扱える様に、 alias 名を展開して LFN にする様にした (WIN-32) o アーカイブファイル名が指定された場合には、自動的にアーカイブ内 の全てのファイルが指定されたものとして扱う様にした (WIN-32) o -no オプションを追加 (WIN-32) o SendTo では -no オプションが定義できないので、 vim32.exe を -no オプション付きで起動するラウンチャの vim32s.exe を追加 o 空白を含んだアーカイブファイル名を扱える様にした (WIN-32) JVim3.0-j1.3 (1997/12/24) LHA アーカイブや ftp 経由のファイル編集。性能向上など。細かな 不具合の修正。 o 画面表示の高速化 (約 20%) (WIN-GUI) o LHA アーカイブ内のファイルを編集する機能を追加 (WIN-32) o FTP 経由でファイルを編集する機能を追加 (WIN-32) o tar32.dll を使用した tar/gzip/compress ファイルのサポート (WIN-32) o 正規表現を組み合わせた、複数行を検索をできるようにした (ALL) o IME での入力中に、マウスでカーソル移動すると変換中の文字列が元 の位置に残る不具合の修正 (WIN-GUI) o Command mode で無くても、マウスでクリップボードへコピーできる 様になった (WIN-GUI) o マウスの動作を大変更した (WIN-GUI) o ALT キー+マウスの動作を追加した (WIN-GUI) o INSERT / REPLACE モードでは、マウスカーソルを表示しないように した (WIN-GUI) o showmatch で、カーソルが対応する位置で停止しているように見えな い不具合の修正 (WIN-GUI) o PASTE メニューを使用した場合には、 autoindent が動作しないよう にした (WIN-GUI) o マウスで矩形範囲指定時に CTRL で Yank すると、指定範囲が yank できない不具合の修正 (WIN-GUI) o CTRL + "左右矢印キー" で Word 単位に移動 (WIN-GUI) o clipboard からの読み込みの際には、半角カナ space (0xa0) を、通 常の space (0x20) に変換するようにした (WIN-GUI) o 終了時の Window 位置を記憶するオプションを System Menu に追加 (WIN-GUI) o jignorecase を指定した際に、うまく検索できない文字があるのを修 正した (ALL) o jignorecase で、 TAB/SPACE/全角空白を同一視するようにした (ALL) o Incomplete last line の際に、漢字コード変換をしない不具合の修正 (ALL) o pipe コマンド実行の際に、自動漢字コード判定を動作させていた不 具合の修正 (ALL) o set number している際に、日本語を含んでいる行で wrap 指定の際 に、カーソルが表示されなくなる場合がある不具合の修正 (ALL) o set number を指定して、複数行に跨る行でのカーソル移動がおかし くなる不具合の修正 (ALL) o backward で、行末が日本語の場合に動作がおかしい不具合の修正 (ALL) o Q) などの、文章整形処理で textwidth の位置に ASCII単語+スペー ス+日本語の順に書かれていると、 ASCII 単語が分割されてしまう不 具合の修正 (ALL) o :e! の場合には、 fexrc を実行しないようにした (ALL) o JIS コードが混じっている SJIS/EUC のファイルの読み込みを可能に した (ALL) o REPLACE モードで、漢字が文字化けする場合があるのを修正 (ALL) o fepkeys の追加 (ALL) o Windows 流の CTRL-X/C/V をそれぞれ gX/gC/gV コマンドに割り当て た (WIN-GUI) o ドラッグによる範囲選択のとき開始カラムから真下にドラッグしても 選択されない不具合の修正 (WIN-GUI) o 行単位の選択の際には、クリップボードへコピーする際に改行コード を最終行に入れるようにした (WIN-GUI) o メニューにオープンファイルダイアログを追加した (WIN-GUI) o Windows NT の場合にも、 undo buffer を 16bit にしていたために、 out of memory となっていた不具合の修正 (WIN-32) o 範囲選択中に、ファイルをドロップすると、ドロップしたファイルに 範囲選択が行われてしまう不具合の修正 (WIN-GUI) o jignorecase を設定して、 \\ 正規表現(いわゆる word search )を使用した場合にマッチしない場合がある不具合を修正 (ALL) o Onew_kanakan() した場合には Onew_KK_freqsave() を呼び出すよう にした (ONEW) o ONEW の status line を反転表示にした (ONEW) o grep -n regexp files の出力からジャンプする gg を追加 (ALL) o canna も、 ONEW と同様に underline で表示できる場合には fence では無く、 underline で表示するようにした (CANNA) o canna の確定の際に、文字が表示されない場合があるのを直した (CANNA) o canna で、コマンド行で変換後に変換前の文字が残ってしまう不具合 の修正 (canna) o canna のモード切替えが、 vim の fepkey と同じ場合に fepctrl が 正しく動作しない不具合の修正 (canna) o canna で、特殊キーを使えるようにした (canna) o ONEW を ON にした状態で、日本語を paste した際に、文字化けが発 生する不具合の修正 (ONEW) o 罫線モードの 98 依存文字を削除した (MS-DOS) o option 4 を削除した (WIN-GUI) o クリッカブル URL の実行を、 CTRL キーを押しながらダブルクリッ クに変更した (WIN-GUI) o ダブルクリックを grep ファイルでのジャンプに変更した (WIN-GUI) o option を設定する事によって、終了せずにタスクトレイに常駐する 様にした (WIN-GUI) o :disp で、 . に日本語が含まれていると最後にごみが付く不具合の 修正 (ALL) o ONEW で、コマンドモードの時には最上行にメッセージを表示するよ うにした (ONEW) JVim3.0-j1.2g (1997/09/01) o pipe を使用した際に、日本語入力できなくなる不具合を修正 (WIN-GUI) o swap file のディレクトリ指定がオリジナルの動作と異なる不具合を 修正 (debug 文が残っていた (^^;;; ) (ALL) o フォーカスが他の Window に移った場合に、キーの状態をクリアしな い不具合の修正 (WIN-GUI) o あまりにも、 Windows 版で backupdir サポートの要求が多いので Windows 版で backupdir をサポート (WIN-32) o .vimrc ファイル内の backupdir / directory で、 >$TMP の様な環 境変数指定をサポート (UNIX,WIN-32) o コロンモードで日本語が複数行に跨る時の処理をそれなりにした (ALL) o マウスの動作を Windows 標準に近くした (WIN-GUI) o option の設定を追加 (ALL) 32: コロンモードでのファイル名とディレクトリ名の指定 o option の設定を変更 (WIN-GUI) 4: マウスを使用しない o _vimrc/.vimrc のどちらでも動作するようにした (WIN-32) o NEC EWS4800 (EWS-UX/V R6.x) 用の定義を makjunix.mak に追加 (UNIX) o canna でエラーが発生した際に、エラーメッセージが正しく表示され ない不具合を修正 (canna) o 行番号指定だった場合に、 tagjump が jump しない不具合の修正 (MS-DOS, WIN-32) o Full Path 名になっているかの判定に、 '/' を追加した (WIN-32) o 必要の無いタイミングで、 "Hit Return Key" が要求される不具合の 修正 (WIN-GUI) JVim3.0-j1.2f (1997/08/08) o メモリ解放抜けの修正 (FEPCTRL/TRACK) o Full Path 名になっているかの判定に UNC を追加した (WIN-32) o :make が動作しない不具合を修正 (WIN-GUI) o quickfix 用に、 VC++ の makeprg と errorformat をコンパイル時 に設定する様にした (WIN-32,VC++) o ダブルクリックで、関連付けされた open 動作をするようにした。い わゆる、クリッカブル URL の機能です。 (WIN-GUI) o option の設定で、動作を変更できるようにした (ALL) ビット単位で意味を持ち、下記の様な動作になります。 0: 変更無し 1: MAC ファイル (CRが改行文字のファイル) の読み込み 4: 左ダブルクリックは、カーソルジャンプ (WIN-GUI) 8: quickfix で、エラー行以外を無視 o 日本語を含んだメッセージ出力で、最下行最終文字が日本語の場合に メモリアクセス違反となる不具合の修正 (ALL) o quickfix で、コンパイラの日本語コードを keyboard コードとして いたのを system コードに変更 (ALL) o マルチウィンドウ表示で全角文字が右端に入りきら場合に、 \ が正 しく表示されない不具合の修正 (ALL) o 起動時のエラー表示で画面が乱れる不具合の修正 (WIN-GUI) o 2byte 文字と 1byte 文字が連続している場合に tag jump ができな い不具合の修正 (ALL) o 起動時にファイル名や "Empty Buffer" が表示されない不具合の修正 (WIN-GUI) o 矩形の yank/delete がマウス操作できない+クリップボードに入ら ない不具合の修正 (WIN-GUI) o Windows-NT で、環境変数 HOME が存在しない場合には HOMEDRIVE と HOMEPATH 環境変数を HOME 環境変数の代わりに使うようにした (WIN-NT) o WINDOWS 95 上の fepctrl 制御での device open 方式を変更 (DOS) JVim3.0-j1.2e (1997/05/17) o PC-98 の WINDOWS-NT で、 CTRL-^ の動作がおかしい不具合の修正 (WIN-GUI) o SHIFT+SPACE で IME の ON/OFF をできるようにした (WIN-GUI) # fepkey=[ としてください JVim3.0-j1.2d (1997/05/10) o Windows GUI mode のみ (-nw で console モードにならない) のバー ジョンを追加 (WIN-GUI) わちきさんの、 wsp を使用させて頂き、自己アップデート形式の実 行ファイルで GUI のみのものを作れるようにしました。 アーカイブを展開すると、 vim32.exe と vim32w.com があるので、 vim32w.com を実行すると vim32.exe が GUI subsystem で動作する ように書き換えられます。 JVim3.0-j1.2c (1997/05/05) o 日本語を含んだ非常に長いファイル名のファイルを、ショートカット にドラッグ&ドロップすると起動時に一般保護違反になる場合がある のを回避 (WIN-32,WIN95のみ) o REPLACE モードで、行末の 1byte 文字を 2byte 文字で置き換えた時 にゴミが表示される場合があるのを修正 (ALL) o set コマンドに window を追加した (WIN-GUI) JVim3.0-j1.2b (1997/04/28) ONEW 対応に、まだ時間がかかりそうなので、ここまでの修正を一度ま とめてリリース o W,B コマンドでの、ジャンプの仕方を変更 (ALL) whichwrap の設定で、動作を変更できるようにしました。 下記の様な動作になります(↑が移動する場所を示します)。 ww の値: bugがありましたら、mailでお知らせください。 また、 default: ↑ ↑ ↑↑ ↑ ↑ ↑ ↑ 32 : ↑ ↑ ↑ ↑ ↑ 64 : ↑ ↑ whichwrap の値は、 bit で判定して動作する様になっていますので、 上記の ww の値で 32 と書いてあるのは、 2 の 5 乗ビットを立てて いる事を示します。 whichwrap が 32 の場合には、日本語と英数字、空白文字を区切り文 字とし、 64 の場合には空白文字のみを区切り文字とします。 JVim3.0-j1.2a (1997/01/16) o CTRL-\ 等の fepkey でなく、ALT+[半角/全角] で、 IME の ON/OFF を行うと入力位置がおかしくなる不具合を修正 (WIN-GUI) JVim3.0-j1.2 (1997/01/16) o CreateProcess() の後始末をしていない不具合を修正 (WIN-GUI) o カラー表示を行う様にした (WIN-GUI) o マウスでの範囲指定を Vim オリジナルの機能にマッピングするよう にした (WIN-GUI) o 右クリックでメニューをポップアップする様にした (WIN-GUI) o スクロールバーを複数ウインドウ表示の場合でも使用できる様にした (WIN-GUI) o マウスのダブルクリックで、クリックされた個所にもっとも近い場所 にカーソルを移動するようにした (WIN-GUI) o クリップボードには、 yank だけでなく delete のデータも入れるよ うにした (WIN-GUI) o スクロールバーが出たり引っ込んだりするのは煩わしいので、定義に 合わせて出っ放しか引っ込みっぱなしのどちらかにした (WIN-GUI) o ウインドウサイズの変更などで Caret が消える場合があったのを直 した (WIN-GUI) o マウスでの範囲指定中に、マウスカーソルがウインドウの左右に出て しまっても範囲指定を継続する様にした (WIN-GUI) o 右クリックでの paste は、クリップボードの状態に関わらず、コマ ンドモードならばデフォルトバッファを put する様にした (WIN-GUI) o visualbell をサポートした (WIN-GUI) o デフォルトの色合いを変更した (WIN-GUI) o NT 3.51 の ICON 化された WINDOW への Drag & Drop で、 ICON 化 された WINDOW が開かない不具合と、リターンキーを入力しないと画 面表示がされない不具合の修正 (WIN-GUI) o Drag & Drop で、 Caret が消える場合があったのを直した (WIN-GUI) o コマンドモードになっていない時に Drag & Drop ができてしまう不 具合の修正 (WIN-GUI) o 範囲指定中に put 出来てしまう不具合の修正 (WIN-GUI) o ファイルの行数が一画面未満の時に、スクロールバーを使用するとエ ラーメッセージが表示される不具合の修正 (WIN-GUI) o マウスでの範囲指定の際に SHIFT キーを押している場合には行単位 の選択 ('V' モード) で動作し、 CTRL キーを押している場合には矩 形での選択 (CTRL-V モード) で動作するようにした (WIN-GUI) o Drag & Drop で、修正中のファイルが存在する時には split でオー プンする様にした (WIN-GUI) o FONT を変えた場合に、画面の行数と桁数を変更前と同じになるよう にした (WIN-GUI) o number を指定している際に、マウスでの選択がおかしくなる不具合 の修正 (WIN-GUI) o FONT を変えた場合、同時に caret のサイズも変更するようにした (WIN-GUI) o 範囲指定後のクリックの動作を Windows 標準に近くした (WIN-GUI) o 行挿入/削除の際に、文字属性のエリアをクリアしていなかった為に、 下方へ範囲指定を続けてスクロールさせると、範囲指定の色が変わる 場所がおかしくなる不具合の修正 (ALL) o マウスでの範囲指定を続けて行った場合に、選択部分が正しく表示さ れない不具合の修正 (WIN-GUI) o エディット中の one command 実行で、日本語入力中に正しく継続で きない不具合の修正 (ALL) o マウスの右クリックで、 paste メニューを表示するのは、カーソル の上にマウスポインタがある時だけにした (WIN-GUI) o デフォルトバッファを put するのは、右クリックのメニューで選択 した場合だけにした (WIN-GUI) o スクロールバーを使用した時に、 ruler 表示がおかしくなる不具合 を修正 (WIN-GUI) o 空白を含むディレクトリ名が存在すると、ファイル名の補完が動作し ない不具合を修正 (WIN-32) o track mode が動作しない不具合を修正 (MS-DOS/WIN-32) o track mode で as mode の場合に、日本語上を左移動すると正しく線 が引かれない不具合の修正(まだバグあり) (ALL) o ファイル名補完で $HOME 等、環境変数が展開できない不具合を修正 (WIN-32) o パイプからの読み込み( :r!ls -x 等)では、最小化ウインドウでプ ロセスを作成する様にした (WIN-GUI) o オーバラップしているウインドウが移動したりした場合に、日本語の 部分が再描画されない場合がある不具合の修正 (WIN-GUI) o 日本語入力システム Onew が動作するようにした (ONEW) # まだ、αバージョンのレベル o canna で、 : mode の場合に正しい位置に表示しない不具合の修正 (CANNA) o Drag & Drop された際には、 SetForegroundWindow() でウインドウ をアクティブにするようにした (WIN-GUI) o Insert mode と Replace mode で、右クリックは paste メニューを 出すようにした (WIN-GUI) o ダブルクリックで、行を移動した後に jk で行を移動した際にカーソ ル位置がおかしくなる不具合を修正 (WIN-GUI) JVim3.0-j1.1 (1997/01) o スクロールバーの追加 (WIN-GUI) o substitute で、 '×' に置換を行おうとすると文字化けする不具合 の修正 (ALL) o :sh や :!sh では、新たにプロセスを作ってすぐにコマンドがリター ンする様にした (WIN-GUI) o :!sh では、 pause を実行する様にした (WIN-GUI) o TT フォントを使用した際に、画面表示がおかしくなる不具合の修正 (WIN-GUI) o CTRL-V,CTRL-C がうまく入力できない不具合の修正 (WIN-GUI) o 禁則処理で無限ループする不具合の修正 (ALL) o ファイル I/O などで時間がかかる時に、ウインドウが操作できない 不具合の修正 (WIN-GUI) o 修正したファイルがある時に、「閉じる」を選択された場合には問い 合わせを行うようにした (WIN-GUI) o 1 行が 32K を超える場合に、一般保護例外になる不具合の修正 (WIN-32) o コマンド起動の後でリターンキーの入力をしなくていいようにした (WIN-GUI) o 85900 行以降にスクロールバーが移動しない不具合の修正 (WIN-GUI) JVim3.0-j1.0 (1996/12) Windows 95 の上で、どうしても Long File Name が使えて、日本語 の入力ができるバージョンが必要だったので、それまでの JVim 3.0o をベースに JVim 3.0-j1.0 として、取りあえず Windows GUI をサポー トしたものを作成。 /* vi:set tw=70 sw=2 ts=2 et: */