VSCode の Vim 拡張 (VSCodeVim) をより Vim っぽくする PR を送った
随時追加中。送った PR はこちら。
Pull Requests · VSCodeVim/Vim · GitHub
あんまり一度に送りすぎてもアレなので温存してるブランチもまだあります…
送った PR の内容
注:まだマージされてない PR もあります。
全てマージされました。次のリリースが楽しみですね。
- Implement gn command (#2589)
- これが一番個人的に嬉しい。
gn
コマンドがなかったので実装した gn
コマンドの挙動は「実践Vim 思考のスピードで編集しよう!」参照か、この記事参照- ちなみにまだ翻訳されてませんが、原著の Practical Vim は第2版が出てます
- これが一番個人的に嬉しい。
- [Fix] * command highlights extra content (#2611)
- これも気になってた。なぜか
*
で検索した時に次の候補が4文字分右に多くハイライトされてしまうってやつ。該当 issue のスクリーンショット見ると分かるけどかなりうっとうしい。
- これも気になってた。なぜか
- Add missing window keys (<C-w><C-[hjklovq]>) (#2600)
- いくつかのウィンドウ関連のキーがなかったので追加。
- 実装はあったけど Ctrl 無しのキーだけでしか提供されていなかった。例えば
<C-w>l
はあったけど<C-w><C-l>
はなかった、みたいな。 - キーバインド追加して既存のコマンド呼んだだけ
- みんなよく Ctrl 押したり離したりできるなーと思った (こなみ)
- [Fix] aW doesn't work at the end of lines (#2591)
daW
を行末で実行した場合の挙動が Vim と異なっていたため修正
- [Fix] p in visual-mode should save last selection (#2588)
p
をビジュアルモードで実行した後、gv
で選択される範囲が挿入されたテキストではなく最後にビジュアルモードで選択した範囲になっていたため修正:help gv
にAfter using "p" or "P" in Visual mode the text that was put will be selected.
と書いてある- つまりビジュアルモードの
p
は最後の選択範囲を更新しなければならない
- [Fix] Transition between v,V,<C-v> is different with original Vim behavior (#2581)
v
,V
,<C-v>
をそれぞれビジュアルモードで実行した場合、同じビジュアルモードの種類だったらノーマルモード (例:vv
)、そうでなかったら押したビジュアルモードの種類に変更 (例:vV
→ linewise visual-mode)
- [Fix] Don't add beginning newline of linewise put in visual-mode (#2579)
- linewise なレジスタの内容を linewise visual-mode で
p
した場合に不必要な改行が挿入されるのを修正 (例:yy
してVp
した場合の挙動)
- linewise なレジスタの内容を linewise visual-mode で
- [Fix] p won't work in linewise visual-mode at the end of document (#2601)
p
がファイルの最後で使われた時の挙動が間違ってたので修正。上の PR (#2579) で考慮が漏れていた。
- [Fix] p in visual block appends unnecessary newline (#2609)
- linewise visual mode の時、
p
コマンドで余計な改行が入ってしまうのを修正 - 色々送りすぎて最初 (#2601) に戻ってる、と見せかけてちょっとだけ違うケースの別のバグ (ファイル先頭と末尾のみで起きる)
- ここらへんリファクタリングしたい…つらい…
- linewise visual mode の時、
- [Fix] <C-h> should work as same as
in search mode (#2593) /
コマンドで検索中に<BS>
は効くのに<C-h>
が効かなかったので修正
- [Fix] p in visual-mode should update register content (#2602)
- ビジュアルモードで選択中に
p
を押した時、テキストが置換された後にレジスタの内容が置換前のテキストに変わらなかったので修正
- ビジュアルモードで選択中に
- Add o command in visual block mode (#2604)
o
コマンドが visual block mode で動かなかったので追加