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

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

* [8.2.1101](https://github.com/vim/vim/commit/be7a50c22f63478a6e64fe6b932a847830191b95): `setqflist()`および`setloclist()`に誤った引数を使用してもエラーにならない件を修正しました。
* [8.2.1100](https://github.com/vim/vim/commit/47e880d6c13c3ec2888398fd9ba1f5a7180d791a): :four_leaf_clover:Vim9: `:execute`、`:echomsg` および `:echoerr`の引数内に改行を入れられるようにしました。
* [8.2.1099](https://github.com/vim/vim/commit/37c837119579ff70b005a4e54c2e26ca42b74022): :four_leaf_clover:Vim9: `:cexpr`の引数内に改行を入れられるようにしました。
* [8.2.1098](https://github.com/vim/vim/commit/006ad48b8a15c3bace741d8caaf3195e592fbe78): :four_leaf_clover:Vim9: `:throw`の引数内に改行を入れられるようにしました。
* [runtimeファイル更新](https://github.com/vim/vim/commit/e46a4405056276b4cbdacee76b11f85c8ea1830b): [Todo](https://github.com/vim/vim/commit/e46a4405056276b4cbdacee76b11f85c8ea1830b#diff-38d7929bd26d74d92ceddf984bbfc8db)更新。helpファイル更新。他。
* [8.2.1081](https://github.com/vim/vim/commit/a1f9f8666ed3a462eb8a518e78418c57dc41bbd4): :four_leaf_clover:if_lua: `table.insert()`および`table.remove()`を追加しました。`l[#l + 1] = newitem` でリストの最後に項目を追加できるようにしました。
* [8.2.1080](https://github.com/vim/vim/commit/b7a78f7a6713f07d2fcad0b27dea22925c7b1cdf): :four_leaf_clover:Vim9: `:for`の`in`の前後および`{object}`内に改行を入れられるようにしました。
* [8.2.1079](https://github.com/vim/vim/commit/d5053d015a957b343ad9c9e45e0abd2978f10cf0): :four_leaf_clover:Vim9: `:while`の条件式内に改行を入れられるようにしました。
* [8.2.1074](https://github.com/vim/vim/commit/9215f01218b2ed2cfe49c1f43fcf342bd9ffdded): :four_leaf_clover:Vim9: 三項演算子(`cond ? val1 : val2`)の演算子(`?`および`:`)の後ろ、および、論理演算子(`||`および`&&`)の後ろ、および、比較演算子(`<`や`!=`や`is`等)の後ろに改行を入れられるようにしました。(関連patch: [8.2.1062](https://github.com/vim/vim/commit/793648fb563359396a23740c72a6e04cb64df3a9), [8.2.1063](https://github.com/vim/vim/commit/be7ee488761a5582a5605197c3951a17f20d072e), [8.2.1064](https://github.com/vim/vim/commit/e6536aa766e95b6c64489678eb029e6909ee6a35))
* [8.2.1073](https://github.com/vim/vim/commit/7a4981b93642b5b62018cd8150b3fb0dfa2417d4): :four_leaf_clover:Vim9: 括弧式(`(`～`)`)内に改行を入れられるようにしました。
* [8.2.1071](https://github.com/vim/vim/commit/e40fbc2ca9fda07332a4da5af1fcaba91bed865b): :four_leaf_clover:Vim9: lambda内に改行を入れられるようにしました。
* [8.2.1068](https://github.com/vim/vim/commit/8ea9390b78da9e34a20e7418712921397c0c1989): :four_leaf_clover:Vim9: 辞書(dict)内に改行を入れられるようにしました。(関連patch: [8.2.0555](https://github.com/vim/vim/commit/4fdae9996fb9a9bc1291a61e7b85cb360feb7599), [8.2.1122](https://github.com/vim/vim/commit/442af2f89e29fb60790bffde2def9cd74a081780))
* [8.2.1066](https://github.com/vim/vim/commit/bd84617d1a6766efd59c94aabebb044bef805b99): :four_leaf_clover:if_lua: luaの配列を0ベースから1ベースに変更しました。(:exclamation:注意: これには後方互換性がありません。)
* [8.2.1065](https://github.com/vim/vim/commit/7147820cb978f5b179cfec2f9d8b7774e28d43e0): :four_leaf_clover:Vim9: リスト(list)内に改行を入れられるようにしました。(関連patch: [8.2.0555](https://github.com/vim/vim/commit/4fdae9996fb9a9bc1291a61e7b85cb360feb7599), [8.2.1069](https://github.com/vim/vim/commit/e6e031739c9d0c4140e371031b58a249db0eb572))
* [8.2.1064](https://github.com/vim/vim/commit/e6536aa766e95b6c64489678eb029e6909ee6a35): :four_leaf_clover:Vim9: 比較演算子(`<`や`!=`や`is`等)の前に改行を入れられるようにしました。(関連patch: [8.2.1074](https://github.com/vim/vim/commit/9215f01218b2ed2cfe49c1f43fcf342bd9ffdded))
* [8.2.1063](https://github.com/vim/vim/commit/be7ee488761a5582a5605197c3951a17f20d072e): :four_leaf_clover:Vim9: 論理演算子(`||`および`&&`)の前に改行を入れられるようにしました。(関連patch: [8.2.1074](https://github.com/vim/vim/commit/9215f01218b2ed2cfe49c1f43fcf342bd9ffdded))
* [8.2.1062](https://github.com/vim/vim/commit/793648fb563359396a23740c72a6e04cb64df3a9): :four_leaf_clover:Vim9: 三項演算子(`cond ? val1 : val2`)の演算子(`?`および`:`)の前に改行を入れられるようにしました。(関連patch: [8.2.1074](https://github.com/vim/vim/commit/9215f01218b2ed2cfe49c1f43fcf342bd9ffdded))
* [8.2.1058](https://github.com/vim/vim/commit/fc838d6cb0f22c77a6ee2befd034b593e1c5ea06): concealの表示がEOLを超えた場合、前行の内容を表示してしまう等問題が出ていた件を修正しました。
* [8.2.1054](https://github.com/vim/vim/commit/801ab069341c8652680d63c174530fd4feb2911e): :four_leaf_clover:if_lua: luaの関数とクロージャをVimのfuncrefに変換するようにしました。(関連patch: [8.2.1057](https://github.com/vim/vim/commit/1e4c7d0ed272201fa3a7cf34a462abb139170759))
* [8.2.1051](https://github.com/vim/vim/commit/ca275a05d8b79f6a9101604fdede2373d0dea44e): `reduce()`で使用中のリストを変更するとクラッシュする件を修正しました。
* [8.2.1039](https://github.com/vim/vim/commit/25fd2672875351ff56a925284a03a900081f70c0): クリップボードに`NUL`を入れることができない件を修正しました。
* [runtimeファイル更新](https://github.com/vim/vim/commit/73fef33014dbf21fc59e7e47fb091117868d82fb): [Todo](https://github.com/vim/vim/commit/73fef33014dbf21fc59e7e47fb091117868d82fb#diff-38d7929bd26d74d92ceddf984bbfc8db)更新。helpファイル更新。他。
* [8.2.1012](https://github.com/vim/vim/commit/3b74b6b4bb9a022f8c6f6e544360d628e10df1ab): Vim9: `b`や`s`等の1文字のスクリプト変数が宣言できない件を修正しました。
* [8.2.0997](https://github.com/vim/vim/commit/856c1110c1cf0d6e44e387b70732ca4b4c8ef0f2): :four_leaf_clover:レジスタの内容に行継続(`:h line-continuation`)を含んでいても実行(`:h :@`)できるようにしました。
* [8.2.0991](https://github.com/vim/vim/commit/0fe937fd8616fcd24b1b1ef2ab9f1657615dd22c): :four_leaf_clover:`win_gettype()`の返す種別に ~~`"aucmdwin"`~~ ([8.2.0996](https://github.com/vim/vim/commit/40a019f157c549dcdc17c33f082975485567bb06)で `"autocmd"`にリネーム)と `"preview"` を追加しました。(関連patch: [8.2.0996](https://github.com/vim/vim/commit/40a019f157c549dcdc17c33f082975485567bb06))
* [8.2.0989](https://github.com/vim/vim/commit/a6e8bf2d8929ef52eeda495e0e0c3d2bff8f5830): 端末ウィンドウをリサイズ後にクラッシュする件を修正しました。(関連patch: [8.2.1010](https://github.com/vim/vim/commit/128d3079635ae62786a13adc435d0063a64a014a))
* [8.2.0988](https://github.com/vim/vim/commit/84cf6bd81bec93b49166cd48fccc7087fdbaa6fc): :four_leaf_clover:`readdir()`および`readdirex()`に第3引数{dict}を追加しました。エントリ`sort`の指定によりソート方法を変更できます。`:language`の引数に`collate`を追加しました。`v:collate`を追加しました。(関連patch: [8.2.0995](https://github.com/vim/vim/commit/e17f8817a1713a1ef20257c777a483b7ab57a841))
* [8.2.0982](https://github.com/vim/vim/commit/b340baed9f7fc1c19a0742e2214d54982190c15e): :four_leaf_clover::alien:`test_override()`の引数{name}に`ui_delay`を追加しました。
* [8.2.0981](https://github.com/vim/vim/commit/47a519a933e8bcaf703a5feaac5c01491a658ee3): :four_leaf_clover:Vim9: `[var, var] = list`等のリスト代入式を実装しました。(関連patch: [8.2.0987](https://github.com/vim/vim/commit/9af78769eeae0318e07aa8b6af4d6e2244481ca7))
* [runtimeファイル更新](https://github.com/vim/vim/commit/65e0d77a66b7e50beb562ad554ace46c32ef8f0f): [Todo](https://github.com/vim/vim/commit/65e0d77a66b7e50beb562ad554ace46c32ef8f0f#diff-38d7929bd26d74d92ceddf984bbfc8db)更新。helpファイル更新。他。
* [8.2.0970](https://github.com/vim/vim/commit/0c0eddd3ddd266bcc2036362fae7b2b8b9d2c7bf): :four_leaf_clover:`terminalprops()`を追加しました。端末のプロパティを辞書で返します。
* [8.2.0964](https://github.com/vim/vim/commit/37d1673ce007c46ec2338f3236ae1b7b0324bd25): :four_leaf_clover:オートコマンドイベント`TextYankPost`トリガー時の`v:event`のエントリに`visual`を追加しました。操作がビジュアルエリアでおこなわれたかどうかが設定されます。
* [8.2.0960](https://github.com/vim/vim/commit/9721fb4ea3db2559aaf7f71458da8ddda30ff93e): :four_leaf_clover:すべてのVim scriptで`:import`をサポートしました。(関連patch: [8.2.0992](https://github.com/vim/vim/commit/101f4810e27e432970bc8809e18f018e1795937f))
* [8.2.0953](https://github.com/vim/vim/commit/362b44bd4aa87a2aef0f8fd5a28d68dd09a7d909): :four_leaf_clover:`'spelloptions'`を追加しました。`camel`指定時は、単語が "CamelCased" の場合、"Cased" は別の単語であると仮定してスペルチェックをおこないます。(関連patch: [8.2.0956](https://github.com/vim/vim/commit/e0ebeda4d8219a8955001b43ef7a9268452ef7f5))
* [8.2.0952](https://github.com/vim/vim/commit/be5ee8686a50acf07b823bd293f9c765e533d213): :four_leaf_clover:Unix: オートコマンドイベント`SigUSR1`を追加しました。SIGUSR1シグナル検出時にトリガーされます。
* [8.2.0946](https://github.com/vim/vim/commit/eebd555733491cb55b9f30fe28772c0fd0ebacf7): :four_leaf_clover:番号入力待ちプロンプト時に`q`でキャンセルできるようにしました。
* [8.2.0935](https://github.com/vim/vim/commit/077a1e670ad69ef4cefc22103ca6635bd269e764): :four_leaf_clover:`flatten()`を追加しました。引数{list}を平坦化します。(関連patch] [8.2.0937](https://github.com/vim/vim/commit/dcf59c37d0e1517439c4c0c4a6a5ca09c90157ad))
* [8.2.0933](https://github.com/vim/vim/commit/7ba5a7eff335dcce25afaa154f32eeadb6014b61): :four_leaf_clover: `'quickfixtextfunc'`に指定した関数の引数に渡される引数の辞書のエントリに`winid`を追加しました。locationリストの場合にwindow IDが格納されます。(関連patch: [8.2.0869](https://github.com/vim/vim/commit/858ba06d5f577b187da0367b231f7fa9461cb32d))
* [8.2.0929](https://github.com/vim/vim/commit/cc613031b96f1cfa5a184253e745c26f1def9be4): オペレータ実行終了後に`v:register`をクリアしていなかった件を修正しました。
* [runtimeファイル更新](https://github.com/vim/vim/commit/acc224064033e5cea21ef7f1eefb356ca06ff11d): [Todo](https://github.com/vim/vim/commit/acc224064033e5cea21ef7f1eefb356ca06ff11d#diff-38d7929bd26d74d92ceddf984bbfc8db)更新。helpファイル更新。他。
* [8.2.0925](https://github.com/vim/vim/commit/1f1fd44ef796dd909ff5f3e5288b3fd79294dc71): :four_leaf_clover:`getcompletion()`の第2引数{type}に`cmdline`を追加しました。指定時はコマンドライン補完の結果を返します。
* [8.2.0924](https://github.com/vim/vim/commit/bb861e293e0170455184079fa537278754b07911): :four_leaf_clover:`getreginfo()`を追加しました。レジスタの情報を辞書で返します。あと、`setreg()`を辞書でアクセスできるように変更しました。
* [8.2.0917](https://github.com/vim/vim/commit/e928366de5deca359fad779a4f740db703296302): :four_leaf_clover:`'errorformat'`の基本項目の`%t`(エラータイプ)に`n`(備考メッセージ)を指定できるようにしました。(`:h error-file-format`)
* [8.2.0915](https://github.com/vim/vim/commit/adc17a5f9d207fd1623fd923457a46efc9214777): :four_leaf_clover:`search()`および`searchpos()`に第5引数{skip}を追加しました。{skip}式が指定されている場合は、マッチの先頭にカーソルを置いて評価され、結果が非ゼロの場合、このマッチはスキップされます。これは、例えば、コメントまたは文字列の一致をスキップするために使用できます。
* [8.2.0909](https://github.com/vim/vim/commit/002bc79991286934a9593b80635c27d4238cdfc4): :four_leaf_clover:`:tcd`および`:lcd`に`-`オプションを追加しました。カレントディレクトリを最後に同コマンドで指定したディレクトリに変更します。
* [8.2.0901](https://github.com/vim/vim/commit/e52702f00322c8a8861efd0bd6a3775e685e5685): :four_leaf_clover:`'formatoptions'`の指定可能文字に`]`を追加しました。指定時は、整形時に禁則処理で`'textwidth'`を超えないようにします。主にCJK用で、`'encoding'`が`utf-8`の場合のみ機能します。(関連patch: [8.2.0912](https://github.com/vim/vim/commit/11f1ffd18282c44ca4b74cf7cf336da6d09e396d))
* [8.2.0893](https://github.com/vim/vim/commit/fb517bac2384798bb5142ed1f75f965f93984c0a): :four_leaf_clover:`assert_equalfile()`に第3引数{msg}を実装しました。エラーメッセージの先頭に出力されます。
* [8.2.0886](https://github.com/vim/vim/commit/c17e66c5c0acd5038f1eb3d7b3049b64bb6ea30b): :four_leaf_clover:`0o`で始まる8進数記法をサポートしました。(`:h octal`, `:h scriptversion-4`)
* [8.2.0878](https://github.com/vim/vim/commit/85629985b71035608a37ba3bde86968481490d46): :four_leaf_clover:`reduce()`を追加しました。第1引数{object} (リストまたはBlob)の各項目に対して第2引数{func}を呼び出して畳み込みをおこないます。(関連patch: [8.2.0882](https://github.com/vim/vim/commit/48b1c21809553d3463b5ed6c2b3bc6d335663bb6), [8.2.1083](https://github.com/vim/vim/commit/fda20c4cc59008264676a6deb6a3095ed0c248e0))
* [8.2.0877](https://github.com/vim/vim/commit/e8f5ec0d30b629d7166f0ad03434065d8bc822df): :four_leaf_clover:`searchcount()`を追加しました。最後の検索カウント情報を辞書で返します。(関連patch: [8.2.0879](https://github.com/vim/vim/commit/f9ca08e95ff5b66a02c75334264dd86508b2a453), [8.2.0880](https://github.com/vim/vim/commit/109aece79d1b5f14f6a84ff2ac068cfffebeba80), [8.2.0884](https://github.com/vim/vim/commit/ea6561af92eeb26fa0b4966575da7cadd98af1cd), [8.2.0887](https://github.com/vim/vim/commit/57f75a5a364ad4d8334fdf6b6b41420b48e08390), [8.2.0896](https://github.com/vim/vim/commit/14681627f39421cce289345d4ec9927c10fa3b1c), [8.2.0902](https://github.com/vim/vim/commit/442a85369f3eb9834dbab42add45f7c4106700f4))
* [8.2.0876](https://github.com/vim/vim/commit/950587242cad52d067a15f0f0c83528a28f75731): :four_leaf_clover:`:verbose pwd`にカレントディレクトリがセットされたスコープ(グローバル`:cd`/ウィンドウローカル`:lcd`/タブページローカル`:tcd`)を表示するようにしました。(`'verbose'`が非0の場合)
* [8.2.0875](https://github.com/vim/vim/commit/6c9ba0428041d5316871245be38c13faa0107026): :four_leaf_clover:`readdirex()`を追加しました。`readdir()`の拡張バージョンです。ファイルおよびディレクトリの情報を辞書のリストで返します。`readdir()`を呼び出した後、`getfperm()`, `getfsize()`, `getftime()` および `getftype()`を呼び出すよりもはるかに高速です。(特にWindows) (関連patch: [8.2.0888](https://github.com/vim/vim/commit/441d60efd8f0e4a44d0cf4bca11cb72e6c830e47), [8.2.0947](https://github.com/vim/vim/commit/ab54032f297e9418b0d83970cbe3a414d6ef08c4))

---
#### 凡例

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