*version4.txt* For
Vim バージョン 7.3. Last change: 2006 Apr 24
VIM REFERENCE MANUAL 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'オプションで設定することがで
きます。
スワップファイルの構造を変更
*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:ft=help:norl: