*version4.txt*	For Vim バージョン 9.1.  Last change: 2025 Nov 09


		  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:
