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

[Vim](http://www.vim.org/)のリリースされた[patch](https://github.com/vim/vim/commits/master)の説明です。
([8.2.4852](https://github.com/vim/vim/commit/d2a46624300c5d02be69d0e4df12296ec9011d9e) ～ [8.2.5048](https://github.com/vim/vim/commit/b5912e0643dc21b1b88c517d3ac1282eba57293d))
**新機能、大幅な仕様変更には、:four_leaf_clover:が付いています。**
Vim9 scriptの実装/仕様変更/不具合修正も頻繁におこなわれています。

* [8.2.5034](https://github.com/vim/vim/commit/5a6ec10cc80ab02eeff644ab19b82312630ea855): :four_leaf_clover:`virtcol2col()`を追加しました。画面上の桁をバイトインデックスで返します。
* [8.2.5030](https://github.com/vim/vim/commit/e0ff3a7de6030b73d94121626deb8229e66e82b2): :four_leaf_clover:`autocmd_add()`の引数{acmds}の`event`および`pattern`エントリーにリストが指定できるようにしました。
* [8.2.5019](https://github.com/vim/vim/commit/0f7a3e1de6f71e8e1423fe594890d6aa7f94e132): :four_leaf_clover:`virtcol()`に第2引数{list}を追加しました。0以外を指定時は、文字が占める最初と最後の画面位置を含むリストを返します。
* [8.2.5011](https://github.com/vim/vim/commit/971f6825ee845828bd5c8869487928a3f32cd467): :four_leaf_clover:`autocmd_add()`に`replace`フラグを追加しました。`v:true`指定時は、指定した自動コマンドイベントおよびグループに関連付けられているすべてのコマンドが削除され、{cmd}が追加されます。
* [8.2.5003](https://github.com/vim/vim/commit/a061f34191712df7dde7716705fe0ec074e9758e): :four_leaf_clover:bitシフト演算子 `>>`と`<<`を追加しました。(関連patch: [8.2.5004](https://github.com/vim/vim/commit/338bf58eba758585ffef3fdfdba7d48477aacb7c))
* [8.2.5000](https://github.com/vim/vim/commit/835ee980eedd1aa0fa2d731312ce38697a12a897): [Todo](https://github.com/vim/vim/commit/835ee980eedd1aa0fa2d731312ce38697a12a897#diff-fb7eed53e3f2993f9d82c748206eaca82fd1d054a417c6de477bb54373d85643)更新。helpファイル更新。
* [8.2.4993](https://github.com/vim/vim/commit/8e145b82464a21ee4fdf7948f04e2a1d505f8bfa): :alien:`FEAT_CINDENT`, `FEAT_SMARTINDENT`および`FEAT_LISP`を廃止しました。C/smart/LISP インデント機能は常に有効になります。
* [8.2.4989](https://github.com/vim/vim/commit/f79d9dd43f6fe05711d7e2616ab4b8bde2ccb089): :four_leaf_clover:`:defcompile`に引数{func}を追加しました。指定時は当該関数のみをコンパイルします。また、`debug`および`profile`引数でコンパイルモードを指定することも可能です。
* [runtimeファイル更新](https://github.com/vim/vim/commit/2d8ed0203aedd5f6c22efa99394a3677c17c7a7a): [Todo](https://github.com/vim/vim/commit/2d8ed0203aedd5f6c22efa99394a3677c17c7a7a#diff-fb7eed53e3f2993f9d82c748206eaca82fd1d054a417c6de477bb54373d85643)更新。helpファイル更新。他。
* [runtimeファイル更新](https://github.com/vim/vim/commit/30ab04e16e1e9e6133590181197b3f8e70cb495e): :four_leaf_clover:カラースキーム更新。helpファイル更新。
* [runtimeファイル更新](https://github.com/vim/vim/commit/3f32a5f1601ab2b0eba0caad00d4c26fb86a02a2): [Todo](https://github.com/vim/vim/commit/3f32a5f1601ab2b0eba0caad00d4c26fb86a02a2#diff-fb7eed53e3f2993f9d82c748206eaca82fd1d054a417c6de477bb54373d85643)更新。helpファイル更新。他。
* [8.2.4932](https://github.com/vim/vim/commit/d8f5f766219273a8579947cc80b92580b6988a4b): :four_leaf_clover:`maparg()`が返す辞書に`mode_bits`エントリーを追加しました。Vim内部の "モード" のバイナリ表現値が格納されています。特定の複数のモードで使用可能なすべてのマッピングを見つけるのに便利です。`:h maplist()`に使用例があります。
* [runtimeファイル更新](https://github.com/vim/vim/commit/921bde88804663a7cb825d7f7e8a5d8ae6b58650): [Todo](https://github.com/vim/vim/commit/921bde88804663a7cb825d7f7e8a5d8ae6b58650#diff-fb7eed53e3f2993f9d82c748206eaca82fd1d054a417c6de477bb54373d85643)更新。helpファイル更新。他。
* [runtimeファイル更新](https://github.com/vim/vim/commit/d899e51120798d3fb5420abb1f19dddf3f014d05): :four_leaf_clover:[Todo](https://github.com/vim/vim/commit/d899e51120798d3fb5420abb1f19dddf3f014d05#diff-fb7eed53e3f2993f9d82c748206eaca82fd1d054a417c6de477bb54373d85643)更新。helpファイル更新。`:h highlight-groups`の各ハイライトグループ名を実際のハイライト設定で表示するようにするようにしました。(関連patch: [8.2.4891](https://github.com/vim/vim/commit/b3c9077a5be76cd88b9a0c07b6d6c072d5c8ac3e), [8.2.4893](https://github.com/vim/vim/commit/44433da5345e5c459f5e5812e30fca12fe297cd6), [8.2.4942](https://github.com/vim/vim/commit/de216732d45caa87e6f08f4319aa71e805a89a0e))
* [8.2.4907](https://github.com/vim/vim/commit/2bf875f881f7c6f6900bc0eb2a93a552db894109): :four_leaf_clover:`'formatoptions'`に`/`フラグを追加しました。`o`と共に指定された場合、ステートメントの後ろに`//`がある行で `o`や`O`でインサートモードに入った時に`//`を挿入しません。(`//`で始まる行の場合は挿入します) (関連patch: [8.2.4908](https://github.com/vim/vim/commit/48a8a833033e10fc1eba96f2fc8dd19c2408eddf))
* [8.2.4906](https://github.com/vim/vim/commit/aa04e1b0be343ff606e25a48d59bc057edcc6e87): Windows: `'termguicolors'`時に透過背景にできない件を修正しました。
* [8.2.4903](https://github.com/vim/vim/commit/79d599b8772022af1d657f368c2fc97aa342c0da): :four_leaf_clover:`getcmdcompltype()`と`getcmdscreenpos()`を追加しました。前者は現在のコマンドライン補完のタイプを返します。後者はコマンドラインのカーソルの画面位置を返します。
* [8.2.4894](https://github.com/vim/vim/commit/5a7b6dc23cd16450b5773849520d513de56bccbf): :four_leaf_clover:Windows: 端末でフォントのイタリック表示ができるようにしました。
* [8.2.4883](https://github.com/vim/vim/commit/2eaef106e4a7fc9dc74a7e672b5f550ec1f9786e): :four_leaf_clover:C#同様の文字列補間(interpolated strings)をサポートしました。`$"～"`内に`{～}`で式を含めると結果が文字列に変換されます。結果、すべてのテキストと結果が連結され新しい文字列が作成されます。(`:h interp-string`) (関連patch: [8.2.4914](https://github.com/vim/vim/commit/933c2922b5e81b238c2e56361c76cf7c9548a2d7), [8.2.4930](https://github.com/vim/vim/commit/0abc2871c105882ed1c1effb9a7757fad8a395bd), [8.2.4934](https://github.com/vim/vim/commit/70c41241c2701f26a99085e433925a206ca265a3), [8.2.4971](https://github.com/vim/vim/commit/40c141d333292d625907f4de13766cbbc2223911))
* [8.2.4882](https://github.com/vim/vim/commit/e7d6dbc5721342e3d6b04cf285e4510b5569e707): :four_leaf_clover:`'breakindentopt'`に`column`エントリーを追加しました。他のサブオプションを無効にして、列{n}でインデントします。(`:h breakindent`)
* [8.2.4861](https://github.com/vim/vim/commit/51d04d16f21e19d6eded98f9530d84089102f925): :four_leaf_clover:`mapset()`を引数{dist}のみで呼び出せるようにしました。`maparg()`や`maplist()`が返したものを指定してリストアできます。

---
#### 凡例

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