vim-jp / vimdoc-ja / version4

version4 - Vimドキュメント

メインヘルプファイルに戻る
version4.txt  For Vim バージョン 8.2.  Last change: 2006 Apr 24


                  VIMリファレンスマニュアル       by Bram Moolenaar


このドキュメントは Vim 3.0 と Vim 4.0 との違いを一覧にしています。4.0 と述べて
いますが、これもまたバージョン 4.1, 4.2, などなどがあります。

Vim 3.0 からアップグレードしてきた人にはこのファイルは重要です。不測の問題を避
けるために注意深く読んでおいてください。

'backup' オプションの初期値を変更               backup-changed
バックアップファイルの拡張子を変更              backup-extension
スワップファイルの構造を変更                    swapfile-changed
"-w scriptout" 引数を変更                       scriptout-changed
Backspace と Delete キーについて                backspace-delete
| のエスケープの方法を変更                      escape-bar
キーコードを変更                                key-codes-changed
端末のオプションを変更                          termcap-changed
'errorformat' オプションを変更                  errorformat-changed
'graphic' オプションがなくなりました            graphic-option-gone
'yankendofline' オプションがなくなりました      ye-option-gone
'icon' と 'title' の初期値を変更                icon-changed
'highlight' オプションを変更                    highlight-changed
'tildeop' と 'weirdinvert' の略記を変更         short-name-changed
"v", "V", "CTRL-V" をビジュアルモードで使う     use-visual-cmds
挿入モードでの CTRL-B がなくなりました          toggle-revins


'backup' オプションの初期値を変更                       backup-changed
---------------------------------

'backup' オプションの初期値はいままではオンでした。この結果オリジナルのファイ
ルが上書きされた場合はバックアップファイルが常に作られることになっていました。

いまは 'backup' の初期値はオフになっています。ファイルへの書き込みが成功次第
バックアップファイルは削除されます。バックアップファイルを取っておきたい場合は
'backup' オプションを vimrc でオンにしておいてください。この変更がなされた理由
は多くの人がバックアップファイルが残ることに Vi-compatible ではない、と不満を
唱えたからです。                                        'backup'


バックアップファイルの拡張子を変更                      backup-extension
----------------------------------

バックアップファイルの拡張子は今までは ".bak" でした。他のプログラムでもこの拡
張子を使うものがあるのとユーザーでこの拡張子でファイルのコピーを作っておく人も
いるのでもうすこしあいまいな拡張子 "~" に変更されました。もう一つの利点はファ
イル名が短くなることで、ファイル名が短いことを要求されるようなシステムでは便利
です。例えば、MS-DOSでは "longfile.c" と "longfile.h" のバックアップファイルは
どちらも "longfile.bak" になっていましたが、いまはこれらは "longfile.c~" と
"longfile.h~" になります。

もし ".bak" という拡張子の方がよいなら 'backupext' オプションで設定することが
できます。
        :set bex=.bak                                   |'backupext'|


スワップファイルの構造を変更                            swapfile-changed
------------------------------

スワップファイルの内容はいくつかのパラメーターに関して拡張されました。Vim はユー
ザー名と編集されたファイルに関する情報を保持しています。これによって復元がより
簡単になり、またスワップファイルがどこで作成されたものかを知ることができるよう
になりました。現在はスワップファイルの最初の部分で異なるバイトオーダーか
sizeof(int) を持つマシンを区別することができます。そういった異なるマシン間でリ
カバーを行おうとすると、できないという旨のエラーメッセージが出ます。

この変更のため3.0と4.0との間のスワップファイルには互換性がありません。もし3.0
のセッションでクラッシュしたスワップファイルがあるなら Vim 3.0 を使ってそのファ
イルをリカバーして下さい(4.0は使わないでください)。     swap-file


"-w scriptout" 引数を変更                               scriptout-changed
-------------------------

"vim -w scriptout" は今まではスクリプトアウトファイルに追加するのに使われてい
ました。これはあまり合理的とは言えなかったので新しいファイルを作成するように変
更されました。ファイルが存在する場合は上書きされません(この方法で追加するのに
なれている人が今まであったファイルを破壊するのを防ぐためです。)
[後に再び削除された]                                            -w


バックスペースとデリートキー                            backspace-delete
----------------------------

3.0ではデリートキーとバックスペースキーは挿入モードではどちらもバックスペース
のように機能していました。つまりカーソルの左側の文字を削除していました。4.0で
はデリートキーは新しい動作をするようになっています: コマンドラインでの動作がそ
うであるようにカーソルの下の文字を削除するのです。カーソルが行末の後に位置して
いて 'bs' オプションがセットされていると2つの行を連結します。
                                                        <Del> i_<Del>

3.0ではバックスペースキーは CTRL-H として定義されておりデリートキーは CTRL-?
と定義されていました。4.0ではバックスペースとデリートキーのキーコードは
termcap/termlib から読み込まれます。そして Unix では "stty erase" によって修
正されます。このことは使っているキーボードによって削除するキーを決めている人に
とっては便利です。
                                                        <BS> i_<BS>

もしバックスペースとデリートキーの挿入モードでの動作が前の物がよければ次の行を
vimrc に加えてください。

        inoremap ^? ^H

また <BS> と <Del> キーの値を修正するのに次のものも必要かもしれません:

        set t_kb=^H
        set t_kD=^?

(^H を入力するには CTRL-V CTRL-H と入力し ^? を入力するには CTRL-V CTRL-? もし
くは <Del> と入力します。)

もし t_kb の値が正しく t_kD の値が正しくなければ ":fixdel" コマンドを使ってく
ださい、t_kb の値によって t_kDをセットします。これは複数の異なるターミナルを
使っているときに便利です。                              :fixdel

^H が <BS> か <Del> のように認識されると、バックスペースのように使われます。


| のエスケープの方法を変更                              escape-bar
--------------------------

'cpoptions' に 'b' フラグがあると、バックスラッシュによってマッピングと略記の
中で '|' をエスケープするのにバックスラッシュを使うことはできません。CTRL-V
けがエスケープさせることができ、これは Vi と同じ仕様です。もし Vi 互換モードで
Vim を使っていて "\|" をバーを含めるためにマッピングで使っている場合、"^V|"に
することが必要です。参照 :bar


キーコードを変更                                        key-codes-changed
----------------

キーコードの内部表現が大幅に変わりました。3.0 では1バイトコードは1つのキーを表
すのに用いられました。このことは他の文字セットですでにこれらのコードを使ってい
た場合に問題が生じました。4.0 では3バイトコードが使われ一つの文字が混同されな
いようにしました。                                      key-notation

もし vimrc のマッピングに1バイトコードを使っているなら4.0のコードに置き換える
必要があるでしょう。また3バイトコードを直接使う代わりに <> 表記を用いるべきで
す。下の表をご覧下さい。表には3.0のドキュメントで使われていた古い名前も載せら
れています。

<> の中のキーの名前はマッピングで直接使うことができます。つまりこれらの例をコ
ピー/ペーストするかその通りにタイプすることができるのです。<>表記はこの <>
で紹介されています。これを動作させるには 'B' と '<' フラグが 'cpoptions' の中
にあってはいけません。'cpoptions'

old name        new name          old code      old MS-DOS code
                                hex     dec     hex     dec
<ESC>           <Esc>
<TAB>           <Tab>
<LF>            <NL> <NewLine> <LineFeed>
<SPACE>         <Space>
<NUL>           <Nul>
<BELL>          <Bell>
<BS>            <BS> <BackSpace>
<INSERT>        <Insert>
<DEL>           <Del> <Delete>
<HOME>          <Home>
<END>           <End>
<PAGE_UP>       <PageUp>
<PAGE_DOWN>     <PageDown>

<C_UP>          <Up>            0x80    128     0xb0    176
<C_DOWN>        <Down>          0x81    129     0xb1    177
<C_LEFT>        <Left>          0x82    130     0xb2    178
<C_RIGHT>       <Right>         0x83    131     0xb3    179
<SC_UP>         <S-Up>          0x84    132     0xb4    180
<SC_DOWN>       <S-Down>        0x85    133     0xb5    181
<SC_LEFT>       <S-Left>        0x86    134     0xb6    182
<SC_RIGHT>      <S-Right>       0x87    135     0xb7    183

<F1>            <F1>            0x88    136     0xb8    184
<F2>            <F2>            0x89    137     0xb9    185
<F3>            <F3>            0x8a    138     0xba    186
<F4>            <F4>            0x8b    139     0xbb    187
<F5>            <F5>            0x8c    140     0xbc    188
<F6>            <F6>            0x8d    141     0xbd    189
<F7>            <F7>            0x8e    142     0xbe    190
<F8>            <F8>            0x8f    143     0xbf    191
<F9>            <F9>            0x90    144     0xc0    192
<F10>           <F10>           0x91    145     0xc1    193

<SF1>           <S-F1>          0x92    146     0xc2    194
<SF2>           <S-F2>          0x93    147     0xc3    195
<SF3>           <S-F3>          0x94    148     0xc4    196
<SF4>           <S-F4>          0x95    149     0xc5    197
<SF5>           <S-F5>          0x96    150     0xc6    198
<SF6>           <S-F6>          0x97    151     0xc7    199
<SF7>           <S-F7>          0x98    152     0xc8    200
<SF8>           <S-F8>          0x99    153     0xc9    201
<SF9>           <S-F9>          0x9a    154     0xca    202
<SF10>          <S-F10>         0x9b    155     0xcb    203

<HELP>          <Help>          0x9c    156     0xcc    204
<UNDO>          <Undo>          0x9d    157     0xcd    205

                (not used)      0x9e    158     0xce    206
                (not used)      0x9f    159     0xcf    207


端末のオプションを変更                                  termcap-changed
----------------------

端末のオプションの名前は、termcap でこれらのオプションに対応するエントリの名前
に変更されました。すべての端末のオプションは t_xx という形式の名前を持ち、xx
が termcap でのエントリの名前です。termcap の設定を誤っているか不完全である場
合か、ハイライトのオプションを他の値にセットしている場合でなければ普段はこれら
のオプションは使われません。                            terminal-options

いくつかのキーに関しては termcap のエントリに名前がないものがあるということに
注意してください。そう言う場合は <> 表記を代わりに使ってください、またその表記
をする方がどっちにしろよいです。

"t_ti" が "t_mr" (出力を逆にする/元に戻す)に変わり、"t_ts" が "t_ti" (端末を初
期化する)に変わっていることに注意してください。また "t_ti" を使うときは十分に
注意を払ってください。

old name        new name        meaning 
t_cdl           t_DL            指定行数を削除                  t_cdl
t_ci            t_vi            カーソルを見えなくする          t_ci
t_cil           t_AL            指定行数を挿入する              t_cil
t_cm            t_cm            カーソルを移動
t_cri           t_RI            カーソルを指定数右へ移動        t_cri
t_cv            t_ve            カーソルを見えるようにする      t_cv
t_cvv           t_vs            カーソルを明確に見えるようにする t_cvv
t_dl            t_dl            行を削除する
t_cs            t_cs            スクロールする範囲
t_ed            t_cl            画面をクリアする                t_ed
t_el            t_ce            行をクリアする                  t_el
t_il            t_al            行を挿入する                    t_il
                t_da            スクリーンより上の描画が保存される
                t_db            スクリーンより下の描画が保存される
t_ke            t_ke            キーパッドモードから復帰
t_ks            t_ks            キーパッドモードに移行
t_ms            t_ms            強調表示モードでカーソルの動きをセーブする
t_se            t_se            ノーマルモード(アンドゥ t_so)
t_so            t_so            シフトアウトモード(標準出力)
t_ti            t_mr            ハイライトを逆にする
t_tb            t_md            太字モード                      t_tb
t_tp            t_me            ハイライト終わり                t_tp
t_sr            t_sr            逆にスクロールする
t_te            t_te            termcap モードから出る
t_ts            t_ti            termcap モードに移行            t_ts_old
t_vb            t_vb            ビジュアルベル
t_csc           t_CS            スクロール範囲相対カーソル移動モード t_csc

t_ku    t_ku    <Up>            上矢印キー
t_kd    t_kd    <Down>          下矢印キー
t_kr    t_kr    <Right>         右矢印キー
t_kl    t_kl    <Left>          左矢印キー
t_sku           <S-Up>          シフト+上矢印キー               t_sku
t_skd           <S-Down>        シフト+下矢印キー               t_skd
t_skr   t_%i    <S-Right>       シフト+右矢印キー               t_skr
t_skl   t_#4    <S-Left>        シフト+左矢印キー               t_skl
t_f1    t_k1    <F1>            ファンクションキー1             t_f1
t_f2    t_k2    <F2>            ファンクションキー2             t_f2
t_f3    t_k3    <F3>            ファンクションキー3             t_f3
t_f4    t_k4    <F4>            ファンクションキー4             t_f4
t_f5    t_k5    <F5>            ファンクションキー5             t_f5
t_f6    t_k6    <F6>            ファンクションキー6             t_f6
t_f7    t_k7    <F7>            ファンクションキー7             t_f7
t_f8    t_k8    <F8>            ファンクションキー8             t_f8
t_f9    t_k9    <F9>            ファンクションキー9             t_f9
t_f10   t_k;    <F10>           ファンクションキー10            t_f10
t_sf1           <S-F1>          シフト+ファンクションキー1      t_sf1
t_sf2           <S-F2>          シフト+ファンクションキー2      t_sf2
t_sf3           <S-F3>          シフト+ファンクションキー3      t_sf3
t_sf4           <S-F4>          シフト+ファンクションキー4      t_sf4
t_sf5           <S-F5>          シフト+ファンクションキー5      t_sf5
t_sf6           <S-F6>          シフト+ファンクションキー6      t_sf6
t_sf7           <S-F7>          シフト+ファンクションキー7      t_sf7
t_sf8           <S-F8>          シフト+ファンクションキー8      t_sf8
t_sf9           <S-F9>          シフト+ファンクションキー9      t_sf9
t_sf10          <S-F10>         シフト+ファンクションキー10     t_sf10
t_help  t_%1    <Help>          ヘルプキー                      t_help
t_undo  t_&8    <Undo>          アンドゥキー                    t_undo


'errorformat' オプションを変更                          errorformat-changed
------------------------------

'errorformat' がコンマで区切っていくつかのフォーマットで定義できるようになりま
した。初めにマッチしたフォーマットが使われます。初期値で多くの一般的なフォーマッ
トを認識できるように調整されました。                    errorformat

コンマを含むフォーマットがある場合バックスラッシュを前置する必要があります。こ
の時 :set コマンドが一つ取ってしまうのでバックスラッシュは二つ重ねてください。


'graphic' オプションがなくなりました                    graphic-option-gone
------------------------------------

'graphic' オプションは <~> と 0xa0の文字をスクリーンに直接表示させるために使わ
れていました。いまは 'isprint' オプションがこの代わりになりますし、もっと強化さ
れています。初期の設定は同じで前に 'graphic' オプションを vimrc でセットしてい
る場合のみ気をつける必要があります。                    'isprint'


'yankendofline' オプションがなくなりました              ye-option-gone
------------------------------------------

'yankendofline' オプションがなくなりました。代わりに次のマッピングを使うことが
できます。
        :map Y y$


'icon' と 'title' オプションの初期値を変更              icon-changed
------------------------------------------

"Thanks for flying Vim" のタイトルが残るのを避けるために、'title' オプションは
もとのタイトルを復元できる場合にのみ初期値でオンになるようになりました。
                                                        'title'

'icon' オプションの初期値は 'title' オプションのように元の値を復元できるかどう
かによるようになりました。もしアイコンのタイトルを変更するのが嫌であれば次の行
をvimrc に加えてください。                               'icon'
        :set noicon


'highlight' オプションを変更                            highlight-changed
----------------------------

'i' フラグは反転を意味するフラグではなく斜体のハイライトの意味になりました。今
まで 'i' フラグが意味していた反転ハイライトには 'r' フラグが使われるようになり
ました。普通はこの変更による違いは気づかないかもしれません。というのはほとんど
の端末では斜体表示はサポートされていない上、斜体表示が使えないときは反転モード
が使われるからです。                                    'highlight'

'highlight' オプションでセットされるアイテムのうち定義されていないアイテムは従
来は反転モードで表示されていましたが、'highlight' でのそのアイテムのデフォルト
で設定されている値から引っ張ってきてそれが使われるようになりました。


'tildeop' と 'weirdinvert' の略記名を変更               short-name-changed
-----------------------------------------

'to' ('tildeop' の略記名) は 'top' に変更                'tildeop'
'wi' ('weirdinvert' の略記名) は 'wiv' に変更            'weirdinvert'

これは Vi が 'wi' を 'window' の略記名に使っており 'to' を 'timeout' の略記名
として使っているために変更されました。このことはこれらのオプションをセットしよ
うとした場合エラーメッセージはでないけれども動作が違ってくることになります。


ビジュアルモードで "v", "V", "CTRL-V" を使う            use-visual-cmds
--------------------------------------------

ビジュアルモードにおいては "v", "V", "CTRL-V" はビジュアルモードを終了させるの
に使われてきました。いまはビジュアルモードが一致するタイプにおいてのみ終了させ
るのに使われるようになりました。そうでない場合はビジュアルモードのタイプが変わ
ります。どんな状況でもビジュアルモードを何も行わずに終了させるにはESC キーを利
用してください。                                        v_V


挿入モードでの CTRL-B を削除                            toggle-revins
----------------------------------

いままでは CTRL-B は 'revins' オプションのオン/オフをトグルするのに使われてい
ました。このことは、この動作を知らないで誤ってCTRL-Bを押してしまった場合、どう
やってアンドゥしてよいか気づくのが困難でした。ほとんどの人はこの機能を使ってい
ないので初期値では使えないようにしました。もしこの機能を使いたいならばコンパイ
ルするときにRIGHTLEFT を feature.h で define してください。         'revins'

 vim:tw=78:ts=8:noet:ft=help:norl:
関連キーワード:  usr, 変更, キー, changed, モード, Vim, CTRL, シフト, 初期, backup