Vimはマルチカーソルで幸せになれるか？

<!-- wp:paragraph -->
<p>こちらの記事が話題になっていました。</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><a href="https://qiita.com/Yametaro/items/40b6c37437056f2a3ed5" target="_blank" rel="noreferrer noopener">マルチカーソルで、VSCodeのスニペットをもっと便利に。</a></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>また、VScode ユーザーでは重宝すると次のような記事が散見されました。</p>
<!-- /wp:paragraph -->

[マルチカーソルを使わないVSCodeはただのVSCodeだ！](http://mugi1.hateblo.jp/entry/vscode_multi_cursor)

<!-- wp:paragraph -->
<p>それぞれの記事内容を確認したところ、下記の機能性が主なメリットのようです。</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul><li>複数の位置で同時に入力・編集ができる</li><li>複数箇所にある文字列を一括で変更・削除できる</li></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>正直なところ、Vim や neovim を普段使いする Vimmer としては、検索やビジュアルモードでやれてしまうので、便利さや必要性を感じないなとは思いました。</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>しかし、<strong><span class="marker">マルチカーソル</span></strong>自体が Vim / neovim で使えるのかは興味がありました。 </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>そこで今回試すに至りました。</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2>Vimでマルチカーソルを使うには</h2>
<!-- /wp:heading -->

[こちら](https://vim.blue/vim-multicursor/)で詳しく書きましたので省略。

<!-- wp:heading -->
<h2>Vim でマルチカーソルを使う</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>例えば、Pythonの関数の引数となる変数名を変更してみます。</p>
<!-- /wp:paragraph -->

<!-- wp:image {"align":"center","id":1189,"sizeSlug":"large"} -->
<div class="wp-block-image"><figure class="aligncenter size-large"><img src="https://vim.blue/wp-content/uploads/2019/11/vim-multicursor.gif" alt="vimでマルチカーソルを使って、関数の引数名を置換してみた" class="wp-image-1189"/></figure></div>
<!-- /wp:image -->

<!-- wp:list {"ordered":true} -->
<ol><li><span class="keyboard-key">Alt-n</span> で該当する単語全てを選択</li><li><span class="keyboard-key">c</span>キーで置換するインサートモードへ移行</li><li>新しい引数名を入力</li><li><span class="keyboard-key">ESC</span>キーで元に戻す</li></ol>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>ビジュアルモードと違って、行が異なっても入力や置換ができるのは便利ですね。</p>
<!-- /wp:paragraph -->

標準でのキー操作やカスタマイズについては、[こちら](https://vim.blue/vim-multicursor/) で詳しく書きましたので省略。

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2>Vim に マルチカーソルは必要か</h2>
<!-- /wp:heading -->

<strong>他のエディタでのマルチカーソルの価値を批判する気は一切ありません。</strong>

しかし、正直なところ、<strong>マルチカーソルの必要性を感じない</strong> というのが所感です。


<!-- wp:paragraph -->
<p>もちろん便利さはあるとは思いますが、先にも書いたとおり、Vim/neovimでは<strong>ビジュアルモードや置換機能が便利</strong>なので、そちらを使うのと大差ないのが明白です。</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>１キー１キーの入力動作を見ながら作業ができるマルチカーソルはとても直感的ですが、慣れてしまえば先の機能で必要性を感じられないのです。</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>作業速度も、たぶん慣れてしまえばどちらにも差は無いでしょう。</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>また、<a rel="noreferrer noopener" aria-label="こちら (新しいタブで開く)" href="http://mugi1.hateblo.jp/entry/vscode_multi_cursor" target="_blank">こちら</a>の記事にあった「いい感じに全部のケース変換をする」「全行にデバッグログを突っ込む」は、マルチカーソルならではだとは思うのですが、登場機会があまりにも少なすぎるなと感じます。</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>むしろ、マルチカーソルの使い方と使う場面を覚える<strong><span class="marker-red">学習コストがイマイチ</span></strong>です。</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>恐らく大半の Vimmer 面倒くさがる、もしくはせっかくの活躍の機会に使い方を忘れてしまうのではないかと懸念します。</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>そのため、普段使いとして必須かと言われれば、<strong><span class="marker">Vimmerには不要</span></strong>と考えます。</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>誰か もう少し Vimmer でもマルチカーソルが必要不可欠だと言えるようなユースケースが出てきて欲しいものですね。</p>
<!-- /wp:paragraph -->

## おわりに
Vim入門者のための記事を書いて情報発信しています。

[Vim入門](https://vim.blue)

Vimがもっと世に広まって、Vimmerが1人でも増えるように少しでも貢献できれば幸いです。