Vim 9.0 patchダイジェスト (2022/09)

[Vim](http://www.vim.org/)のリリースされた[patch](https://github.com/vim/vim/commits/master)の説明です。
([9.0.0344](https://github.com/vim/vim/commit/e42c8dae32f3575557b83a371c4be66c09afbf7f) ～ [9.0.0631](https://github.com/vim/vim/commit/145d1fd91041bd2a22a11eef0357702e420796e2))
**新機能、大幅な仕様変更には、:four_leaf_clover:が付いています。**

* [9.0.0620](https://github.com/vim/vim/commit/50faf02f43d7f1a56ec2023028fca7c72dbce83e): :four_leaf_clover:`matchaddpos()`の第2引数{pos}の位置指定最大数 8 を撤廃しました。
* [9.0.0597](https://github.com/vim/vim/commit/3bdef10dc1c836e5e5a6fdcc1c21155cbd80d798): :four_leaf_clover:真ん中のマウスボタンでタブページを閉じれるようにしました。
* [runtimeファイル更新](https://github.com/vim/vim/commit/9712ff1288f942736ed76c0dec014909f067eec9): [Todo](https://github.com/vim/vim/commit/9712ff1288f942736ed76c0dec014909f067eec9#diff-fb7eed53e3f2993f9d82c748206eaca82fd1d054a417c6de477bb54373d85643)更新。helpファイル更新。他。
* [9.0.0473](https://github.com/vim/vim/commit/aa5341477c9f3840d63f709de3b9e5d0266f93d7): :four_leaf_clover:`fullcommand()`に第2引数{vim9}を追加しました。省略時はカレントスクリプトバージョン向けのフルコマンド名を返します。FALSE指定時は旧来のスクリプト向けのフルコマンド名を、TRUE指定時はVim9 script向けのフルコマンド名を返します。(関連patch: [9.0.0474](https://github.com/vim/vim/commit/dd44b58f64a173ffc976cc96ccdd00cd5493b273))
* [9.0.0449](https://github.com/vim/vim/commit/cdc839353f68ca43db6446e1b727fc7ba657b738): :four_leaf_clover:`keytrans()`を追加しました。キーの内部バイト表現を`:map`に使用できる形式に変換します。
* [9.0.0445](https://github.com/vim/vim/commit/29ab524358ba429bcf6811710afc97a978641f0b): :four_leaf_clover: ~~`'splitscroll'`~~ を追加しました([9.0.0647](https://github.com/vim/vim/commit/13ece2ae1d09009d3fb8acf858c288e7848ecdac)で`'splitkeep'`にリネーム)。`:split`等でウィンドウを水平分割したり、ウィンドウを閉じたりした際のスクロール動作を決定します。on時(デフォルト)は新旧ウィンドウ間のカーソル位置の維持が優先されます(スクロールが発生しうる)。off時はスクロール回避を優先します。(関連patch: [9.0.0455](https://github.com/vim/vim/commit/5ed391708a62b4ebaa84dd23e32a416e5c3383d9), [9.0.0465](https://github.com/vim/vim/commit/e697d488901b6321ddaad68b553f0a434c97d849), [9.0.0469](https://github.com/vim/vim/commit/3735f11050616652525bf80b4fbcb2b3bfeab113), [9.0.0486](https://github.com/vim/vim/commit/d5bc762dea1fd32fa04342f8149f95ccfc3b9709), [9.0.0505](https://github.com/vim/vim/commit/faf1d412f5e3665021500b528c0e7301eb02bf0b), [9.0.0647](https://github.com/vim/vim/commit/13ece2ae1d09009d3fb8acf858c288e7848ecdac))
* [9.0.0438](https://github.com/vim/vim/commit/04e0ed1ddf399d609dbcb7dbf19e531da1fe6172): :four_leaf_clover:`prop_add()`の第3引数{props}の項目`text_align`に値`"above"`を追加しました。(関連patch: [9.0.0442](https://github.com/vim/vim/commit/79f8b8494cd4f738f25272ece94d8b524b99cb09))
* [9.0.0437](https://github.com/vim/vim/commit/55e9366e32bc0e1056478d1d0ae935f9cf039d6a): コマンドライン補完のcustomlistのユーザー定義補完関数がListを返さなかった場合にエラーメッセージを表示していなかった件を修正しました。(`:h :command-completion-customlist`)
* [runtimeファイル更新](https://github.com/vim/vim/commit/71b6d3397649fed68ef587aa863fcbdf5fdb057a): [Todo](https://github.com/vim/vim/commit/71b6d3397649fed68ef587aa863fcbdf5fdb057a#diff-fb7eed53e3f2993f9d82c748206eaca82fd1d054a417c6de477bb54373d85643)更新。helpファイル更新。他。
* [9.0.0430](https://github.com/vim/vim/commit/375141e1f80dced9be738568a3418f65813f4a2f): :four_leaf_clover:`repeat()`がBlobにも使えるようにしました。
* [9.0.0411](https://github.com/vim/vim/commit/6f14da15ac900589f2f413d77898b9bff3b31ece): :four_leaf_clover:`mkdir()`の第2引数{path}に`'D'`フラグと`'R'`フラグを追加しました。指定時は、関数スコープを抜けるときに作成したディレクトリを削除します。(`'R'`は再帰的) (関連patch: [9.0.0370](https://github.com/vim/vim/commit/1d84f7608f1e41dad03b8cc7925895437775f7c0), [9.0.0440](https://github.com/vim/vim/commit/f5fec05c7fd0df4c934a838e82882e601dc920cb))
* [9.0.0394](https://github.com/vim/vim/commit/5903aaf7eb4586cf7e4fa5a219092334b05c89de): Cygwin: ターミナルウィンドウでマルチバイト文字が正しく表示されない件を修正しました。
* [runtimeファイル更新](https://github.com/vim/vim/commit/0daafaa7d99ef500f76b1b12f5fe8153e2fcaea0): [Todo](https://github.com/vim/vim/commit/0daafaa7d99ef500f76b1b12f5fe8153e2fcaea0#diff-fb7eed53e3f2993f9d82c748206eaca82fd1d054a417c6de477bb54373d85643)更新。カラースキーム更新。helpファイル更新。他。
* [9.0.0379](https://github.com/vim/vim/commit/806a273f3c84ecd475913d901890bb1929be9a0a): :four_leaf_clover:`writefile()`の第3引数{flags}に `'D'`フラグを追加しました。指定時は、関数スコープを抜けるときに作成したファイルを削除します。(関連patch: [9.0.0370](https://github.com/vim/vim/commit/1d84f7608f1e41dad03b8cc7925895437775f7c0), [9.0.0380](https://github.com/vim/vim/commit/fed6bdae6f5f15d842d2e33eda6d3ffbc5b258a7))
* [9.0.0375](https://github.com/vim/vim/commit/c8ac3a072f18d4b250e55e91f610fe517e218777): :alien:`FEAT_FOOTER`と関連コードを削除しました。
* [9.0.0370](https://github.com/vim/vim/commit/1d84f7608f1e41dad03b8cc7925895437775f7c0): :four_leaf_clover:`:defer`を追加しました。関数スコープを抜けるときに登録した関数を実行します。(関連patch: [9.0.0379](https://github.com/vim/vim/commit/806a273f3c84ecd475913d901890bb1929be9a0a), [9.0.0390](https://github.com/vim/vim/commit/86d87256c4005c6215da5af2597fbf6f6304421f), [9.0.0397](https://github.com/vim/vim/commit/58779858fb5a82a3233af5d4237a3cece88c10d4), [9.0.0411](https://github.com/vim/vim/commit/6f14da15ac900589f2f413d77898b9bff3b31ece), [9.0.0419](https://github.com/vim/vim/commit/169003289fb4b2ad18fd7f5807e0d05efff0be85))
* [9.0.0347](https://github.com/vim/vim/commit/df5320c439e9a7f7bf1ebff3cb455d45e223547a): :four_leaf_clover:Windows: Windowsターミナルでカーソル形状を変更できるようにしました。

---
#### 凡例

|表記|意味|
|:------|:------|
|:four_leaf_clover:|新機能、大幅な仕様変更|
|:alien:|Vim開発者向けの追加、変更|
|`'hoge'`|オプション (`:h options`参照)|
|`:hoge`|Exコマンド (`:h :index`参照)|
|`hoge()`|組み込み関数 (`:h functions`参照)|
|`v:hoge`|Vim定義済変数 (`:h v:`参照)|
|`+hoge`|feature (`:h +feature-list`参照)|

---
#### 方針
[こちら](http://qiita.com/h_east/items/23cd0d10932505072e6b#%E6%96%B9%E9%87%9D)を参照。