Vim patchダイジェスト [2020/05]

[Vim](http://www.vim.org/)のリリースされた[patch](https://github.com/vim/vim/commits/master)の説明です。patchの内容を手作業で一つ一つ丁寧に確認して書いています。英語は忠実に訳していません。Vimを使っている人が理解しやすい表現にしています。
**新機能、大幅な仕様変更には、:four_leaf_clover:が付いています。**
Vim9 scriptの実装と不具合修正も頻繁におこなわれています。
([8.2.0672](https://github.com/vim/vim/commit/6ab0953fefe31fef91e40752a675ceb60fc2fe03) ～ [8.2.0869](https://github.com/vim/vim/commit/858ba06d5f577b187da0367b231f7fa9461cb32d))

* [8.2.0869](https://github.com/vim/vim/commit/858ba06d5f577b187da0367b231f7fa9461cb32d): :four_leaf_clover:`'quickfixtextfunc'`を追加しました。`setqflist()`および`setloclist()`の引数{what}にエントリ`quickfixtextfunc`を追加しました。quickfixウィンドウおよびlocationウィンドウに表示する情報をカスタマイズできます。(関連patch: [8.2.0933](https://github.com/vim/vim/commit/7ba5a7eff335dcce25afaa154f32eeadb6014b61), [8.2.0959](https://github.com/vim/vim/commit/00e260bb6cc33ff5dbba15ac87ca7fd465aa49c0))
* [8.2.0868](https://github.com/vim/vim/commit/2245ae18e3480057f98fc0e5d9f18091f32a5de0): :four_leaf_clover:`trim()`に第3引数{dir}を追加しました。文字を取り除く場所(先頭/末尾/両方)を指定します。
* [8.2.0867](https://github.com/vim/vim/commit/fccd93f0917234b962ce07d1df3adf9d7105936f): :four_leaf_clover: キーの修飾子(CTRL等)をエンコードする形式を  `\{xxx}` から `\<*xxx>` に変更しました。(`:h expr-quote`後に`/\\<\*xxx>`で検索) (関連patch: [8.2.0855](https://github.com/vim/vim/commit/ebe9d34aa07037cff2188a8dd424ee1f59cbb0bf))
* [8.2.0865](https://github.com/vim/vim/commit/e35a52aee718c881bdfa69a47a1068df6ab6c60a): :four_leaf_clover:`:syntax foldlevel`を追加しました。`foldmethod=syntax`を使用する場合の行の折り畳みレベルの計算方法を指定します。
* [8.2.0864](https://github.com/vim/vim/commit/d881b516da0184052d2f9d33c3f72c5c014316bd): :four_leaf_clover:`'cinoptions'`に`P`を追加しました。C言語の`#pragma`のインデントを通常のコードと同じようにおこなえます。
* [8.2.0863](https://github.com/vim/vim/commit/e023e88bed3f2e0a7ea4cf10cac2de80bc9c271c): :four_leaf_clover:`t_AU`と`t_8u`を追加しました。下線(underline)の色を設定します。
* [8.2.0861](https://github.com/vim/vim/commit/cfb4b47de08e4437c692d382067dc1692cd83c23): :four_leaf_clover:`getmarklist()`を追加しました。マーク(`:h mark`)の情報を返します。(関連patch: [8.2.0871](https://github.com/vim/vim/commit/f17e7ea67a798d0aa45ce24ea80c9e21d5164326))
* [8.2.0860](https://github.com/vim/vim/commit/aaad995f8384a77a64efba6846c9c4ac99de0953): :four_leaf_clover:`'nrformats'`に`unsigned`を追加しました。指定時は数値を符号なしとして認識します。(数値の前にマイナス符号がある場合の CTRL-A と CTRL-X の挙動が変わります)
* [8.2.0854](https://github.com/vim/vim/commit/363d6148dfc2cc17fb0d286c7a36c305f56f5813): :four_leaf_clover:xxd: `-d`フラグを追加しました。オフセットを10進数で表示します。
* [8.2.0852](https://github.com/vim/vim/commit/d6cd5ffade84a1054fed23079133af3b837033bf): 一部のシステムで CTRL-S がマッピングできない件を修正しました。(関連patch: [8.2.0856](https://github.com/vim/vim/commit/928eec649b8af389de0fdb7aba2034d27df3e058))
* [8.2.0849](https://github.com/vim/vim/commit/041c7107f23d3b49ab62c1d7e36af90421db8b63): :alien:BeOSのコードを削除しました。(関連patch: [8.2.0931](https://github.com/vim/vim/commit/6938e27abd80715cf7beb9d3d579a63201f417a1), )
* [runtimeファイル更新](https://github.com/vim/vim/commit/388a5d4f20b4b64341d1604aa238cab85827b892): [Todo](https://github.com/vim/vim/commit/388a5d4f20b4b64341d1604aa238cab85827b892#diff-38d7929bd26d74d92ceddf984bbfc8db)更新。helpファイル更新。他。
* [8.2.0815](https://github.com/vim/vim/commit/9c65253fe702ea010afec11aa971acd542c35de2): :four_leaf_clover:`maparg()`の返す辞書のエントリに`lhsraw`と`lhsrawalt`を追加し、`simplified`を廃止しました。(`mapset()`のための情報が不十分でした) (関連patch: [8.2.0807](https://github.com/vim/vim/commit/4c9243f9fb708c9010867d3cc8e928f36b58509a))
* [8.2.0807](https://github.com/vim/vim/commit/4c9243f9fb708c9010867d3cc8e928f36b58509a): :four_leaf_clover:`mapset()`を追加しました。`maparg()`が返す情報でマッピングを復元します。(関連patch: [8.2.0812](https://github.com/vim/vim/commit/c94c1467b9b86156a6b7c8d3e41ff01c13d2be07), [8.2.0815](https://github.com/vim/vim/commit/9c65253fe702ea010afec11aa971acd542c35de2))
* [8.2.0804](https://github.com/vim/vim/commit/e5886ccb5163873dd01fc67b09ab10e681351ee9): :alien:libvtermのコードをアップストリームのバージョンに追従しました。revision 727 (関連patch: [8.2.0776](https://github.com/vim/vim/commit/e178ba36546ec7805020280910306331f1ef4ed0), [8.2.0778](https://github.com/vim/vim/commit/d4a5f40c0cc45fdfac01df0e408d557006eb0206), [8.2.0780](https://github.com/vim/vim/commit/2d2970ea599e83acabee56be548a54a8e6b21007), [8.2.0783](https://github.com/vim/vim/commit/c4c9f7e43e7229c78919a5618003ce8aac3e1785), [8.2.0784](https://github.com/vim/vim/commit/94d729cbe8f0f788d9d7539f733cff395e73b228), [8.2.0785](https://github.com/vim/vim/commit/6fc3b59ee914a0d1710c8b037a0c592e0a7c34d4), [8.2.0787](https://github.com/vim/vim/commit/a2e408f5981b4da64426c3bda98d837ea36469bf), [8.2.0788](https://github.com/vim/vim/commit/deb17451edd65e2af1d155bce0886e856a716591), [8.2.0794](https://github.com/vim/vim/commit/d098b824c10cc20dc55e18c22c4991f61826006e), [8.2.0795](https://github.com/vim/vim/commit/88d68de95da70d0f89a5246f58355d72e9c17db4), [8.2.0796](https://github.com/vim/vim/commit/37ebd42f16734838ab68be91da291c4ec8610f47), [8.2.0797](https://github.com/vim/vim/commit/904e48a22be7e227a73c70e520cf9d8bc50fc1b2), [8.2.0798](https://github.com/vim/vim/commit/be593bf135f6967335b14ba188bd5f8f32175c75), [8.2.0802](https://github.com/vim/vim/commit/d863728913801c8fa6d633f6580edfcada533fd0), [8.2.0803](https://github.com/vim/vim/commit/83a52533b23c88f90be0dea01bc5e32ddadc1d6a), [8.2.0813](https://github.com/vim/vim/commit/591cec8366e87a172495c362477cbf5de8d399f0))
* [8.2.0775](https://github.com/vim/vim/commit/eb04f0893afe01faff272ef84c70d8cc16d8e80a): :four_leaf_clover:if_lua: `vim.call()`と`vim.fn()`を追加しました。luaからVimの関数を呼び出すのが容易になりました。(関連patch: [8.2.0858](https://github.com/vim/vim/commit/788fbb47079e6df4d4815d27273faf8390395029))
* [8.2.0770](https://github.com/vim/vim/commit/aa5fc4ec51b00e91f174ac83c8ff68becf5f42bb): GUI: CTRL-Bがマップ出来なくなっていた件を修正しました。(関連patch: [8.2.0765](https://github.com/vim/vim/commit/fd615a3c901f59abddca27c6a09940be552c0f4d))
* [8.2.0769](https://github.com/vim/vim/commit/129d6bf6b3d120b0a4c69e18b5e8602a84e352bf): Vim終了時に`VimLeavePre`イベントがトリガーされない件を修正しました。
* [8.2.0748](https://github.com/vim/vim/commit/ef6b979bfae82f64781d8b0ce0194c57111243d4): :four_leaf_clover:`popup_list()`を追加しました。すべての存在するポップアップのウィンドウIDをリストで返します。
* [8.2.0747](https://github.com/vim/vim/commit/03a9f848175b182372fb33403998059724a8bf31): :four_leaf_clover:`popup_clear()`に引数{force}を追加しました。TRUE指定時はカレントウィンドウのポップアップも閉じられます。ポップアップ内で端末が実行されている場合はkillされます。(関連patch: [8.2.0745](https://github.com/vim/vim/commit/06f0853cb0b10364b22e5607fdecd35b3936e9ea), [8.2.0746](https://github.com/vim/vim/commit/d502aa4c10771ec8eb570345ec5e124c4a4b7cd0))
* [runtimeファイル更新](https://github.com/vim/vim/commit/47e13953ffdbb9f163b901196dec8c2100b72edd): [Todo](https://github.com/vim/vim/commit/47e13953ffdbb9f163b901196dec8c2100b72edd#diff-38d7929bd26d74d92ceddf984bbfc8db)更新。helpファイル更新。他。
* [8.2.0733](https://github.com/vim/vim/commit/cb2bdb1c6d8b6df4a3d9cfb1ad9e602dace5d310): :four_leaf_clover:Vim9: 引数の型が辞書およびリストの場合でも代入をおこなえるようにしました。
* [8.2.0730](https://github.com/vim/vim/commit/1cc2a94f80ba982f83d1e2d37c4726867e36bd9f): :four_leaf_clover:Vim9: 辞書のメンバへの代入および取得を実装しました。(関連patch: [8.2.0732](https://github.com/vim/vim/commit/f163bd5e41e8ea1d32e7977e671598a9d6f7b23c))
* [8.2.0729](https://github.com/vim/vim/commit/89483d40438830fb9e74a5ec6c92d2470b05e4c2): スクリプトの再読み込み(`:source`)時にスクリプトローカルな変数(`:h s:var`)をクリアしていなかった件を修正しました。(関連patch: [8.2.0650](https://github.com/vim/vim/commit/4c17ad94ecb0a0fb26d6fface2614bc5172dea18))
* [runtimeファイル更新](https://github.com/vim/vim/commit/2cfb4a2a7248eeb40112bb482ab5b15f01b20433): [Todo](https://github.com/vim/vim/commit/2cfb4a2a7248eeb40112bb482ab5b15f01b20433#diff-38d7929bd26d74d92ceddf984bbfc8db)更新。helpファイル更新。他。
* [8.2.0695](https://github.com/vim/vim/commit/04b12697838b232b8b17c553ccc74cf1f1bdb81c): :four_leaf_clover:Vim9: 関数内(`:def`)での関数定義(`:def`)をサポートしました。(初期実装) (関連patch: [8.2.0696](https://github.com/vim/vim/commit/0e65d3de0aeff00aa42ea899f1afd11f8b22b93e), [8.2.0697](https://github.com/vim/vim/commit/221fcc741a6660bfc3fd0d64937d0c15bb71f51d))
* [runtimeファイル更新](https://github.com/vim/vim/commit/7ceefb35c8110d87ced884275ddbe63d024a014f): [Todo](https://github.com/vim/vim/commit/7ceefb35c8110d87ced884275ddbe63d024a014f#diff-38d7929bd26d74d92ceddf984bbfc8db)更新。helpファイル更新。他。

---
#### 凡例

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