Vim 9.0 patchダイジェスト (2023/08)

[Vim](http://www.vim.org/)のリリースされた[patch](https://github.com/vim/vim/commits/master)の説明です。
([9.0.1678](https://github.com/vim/vim/commit/ad34abee258322826146d597ac5b5fd2111c2b79) ～ [9.0.1833](https://github.com/vim/vim/commit/816fbcc262687b81fc46f82f7bbeb1453addfe0c))
**新機能、大幅な仕様変更には、:four_leaf_clover:が付いています。**
今月から新体制のコミュニティーで再開しました。runtimeファイルも直接commitされるようになりました。ただ、数が多いので基本的にはここでは取り扱わないことにします。

* [9.0.1827](https://github.com/vim/vim/commit/e2528ae11134cdf35c312754b124aba4963d8054): :four_leaf_clover: xxd: 基本的なカラーサポートを追加しました。(`xxd -R`) (関連patch: [9.0.1834](https://github.com/vim/vim/commit/f6fc255e8d9c46a0e51e03f16a508833d309dee6))
* [9.0.1804](https://github.com/vim/vim/commit/cd7293bf6c358bb0e183582a2927fc03566d29f6): :four_leaf_clover: Vim9: privateオブジェクトメソッドをサポートしました。クラスメソッドのプレフィックスが `_` の場合、privateメソッドになります。
* [runtime: Distribute the editorconfig with vim](https://github.com/vim/vim/commit/e5e04306bf02aa4ad488558dd593cf5c3b72f9b7): :four_leaf_clover: [editorconfig](https://github.com/editorconfig/editorconfig-vim)を同梱するようにしました。
* [9.0.1798](https://github.com/vim/vim/commit/6dfdff3f273dcea29099d81e3eceb871ae089998): :four_leaf_clover: `'syntax'`の補完に対応しました。(`set syntax=`の次に1文字以上の入力が必要)
* [9.0.1786](https://github.com/vim/vim/commit/afe0466fb1695fa8b9782eea8a8e9f9540d4cb85): :four_leaf_clover:`instanceof()`を実装しました。{object}が{class}の直接または間接的なインスタンスの場合、TRUEを返します。{class}がリストの場合は、{object}がいずれかのインスタンであればTRUEを返します。(関連patch: [9.0.1801](https://github.com/vim/vim/commit/b49ad28d731551ddbd5cc57f9c77d0df085ae845))
* [9.0.1782](https://github.com/vim/vim/commit/171c5b9b0332493faa6caadd8c0d5cf52392d913): :four_leaf_clover:`prop_list()`が返す辞書のエントリに`text_padding_left`を追加しました。テキスト行と仮想テキストの間の左パディング数が格納されています。
* [9.0.1774](https://github.com/vim/vim/commit/92997dda789ad8061841128cbc99b15ec0374411): :four_leaf_clover:`getcmdcompltype()`と`getcompletion()`にcustomとcustomlistの対応を追加しました。
* [9.0.1753](https://github.com/vim/vim/commit/b5f6fe9ca2661d06bc0be839447ce1995450b9de): :four_leaf_clover:`g<end>`の挙動を変更しました。スクリーン行の最後の非空白文字に移動します。(関連patch: [9.0.1761](https://github.com/vim/vim/commit/654bdbbd329e7267051cc2eb496bc52b66053081))
* [9.0.1728](https://github.com/vim/vim/commit/825cf813fa0fddf085fcbd3194781e875320ff63): :four_leaf_clover:`virtcol()`の第3引数に{winid}を追加しました。指定時はそのwindowについての情報を返します。
* [9.0.1724](https://github.com/vim/vim/commit/2261c89a49ff2115e1ccc9ab9211e9f0d5a37578): Vim9: classのコンストラクタの仮引数がobjectメンバ(this.～)の場合、コンストラクタ呼び出し時に引数の型チェックがおこなわれない件を修正しました。(関連patch: [9.0.1928](https://github.com/vim/vim/commit/b895b0fabce7d952a6617eb69fc1e1597ece8b00), [9.0.1941](https://github.com/vim/vim/commit/3aa114463f0219eba2e9fe0517067be9fcaf8248))
* [9.0.1708](https://github.com/vim/vim/commit/8ef1fbc0c3ca8dca32c352f3cf30e7a4b3096a94): `getcompletion()`がユーザ定義コマンドの補完で失敗する件を修正しました。
* [9.0.1704](https://github.com/vim/vim/commit/0c6181fec4c362eb9682d5af583341eb20cb1af5): :four_leaf_clover:`printf()`に文字列フォーマットでの位置引数をサポートしました。(`%`の次の 1$ や 2$ 等の何番目の引数を使うかを指定するもの)
* [9.0.1686](https://github.com/vim/vim/commit/5fee11114975b7405b7ccd3ee8758e54bf559760): :four_leaf_clover:`undotree()`に第1引数 {buf} を追加しました。指定時はそのバッファについての結果を返します。(関連patch: [9.0.1763](https://github.com/vim/vim/commit/ab9f2ecfd4ecaf74eeed0e5ec41355589af3ec8f))
* [9.0.1684](https://github.com/vim/vim/commit/b00df7aa388994119346a21d77b0d0db2a0a5e9f): :alien: libvtermをrev 839にアップデートしました。
* [Bram Moolenaar passed away on 3 August 2023](https://groups.google.com/g/vim_announce/c/tWahca9zkt4): :pray::pray::pray:Bram Moolenaar氏が病気のため8月3日に亡くなりました。今までありがとう。安らかに:pray::pray::pray:

---
#### 凡例

|表記|意味|
|:------|:------|
|: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)を参照。