マルチカーソルは Vim をもっと便利にできるのか?

Vim / neovim で マルチカーソル という機能を利用してみました。

この記事では、Vim や neovim でマルチカーソルを導入する方法と使い方、その所感についてご紹介します。

Vimでマルチカーソルを利用しようとする発端

こちらの記事が Qiita で話題になっていました。

https://qiita.com/Yametaro/items/40b6c37437056f2a3ed5

また、VScode ユーザーでは重宝するとの記事が次のように散見されました。

memo_md
マルチカーソルを使わないVSCodeはただのVSCodeだ! - memo_md Misoca+弥生+ALTOA Advent Calendar 2018の10日目のエントリです。 グッと来るタイトルにしようと思った結果、意味不明になってしまったのは自覚している。許してほしい。 ...

それぞれの記事内容を確認したところ、下記の機能性が主なメリットのようです。

  • 複数の位置で同時に入力・編集ができる
  • 複数箇所にある文字列を一括で変更・削除できる

正直なところ、Vimmer としては検索やビジュアルモードでやれてしまうので、便利さや必要性を感じないなとは思いました。

しかし、マルチカーソル自体が Vim / neovim で使えるのかは興味がありました。

そこで今回試すに至りました。

Vimでマルチカーソルを使うには

標準機能には無く、こちらのプラグインを導入する必要があります。

https://github.com/terryma/vim-multiple-cursors

README.md がとても丁寧に書いてあって好感が持てます。

導入手順 – vim-plug

README.md では vim-plug でインストールする方法が記載されています。

vim-plug instructions

1. Paste this block into the top of ~/.vimrc.

2. Start vim and execute :PlugInstall.

下記を ~/.vimrc 記載して、:PlugInstall でインストールするだけみたいです。

call plug#begin()
Plug 'terryma/vim-multiple-cursors'
call plug#end()

導入手順 – dein

dein を記載している .vimrc もしくは init.vim のうち、dein でプラグインを記載している箇所に下記を追記します。

call dein#add('~/.cache/dein.vim')

プラグインを記載するTOMLファイルに下記を記述します。

[[plugins]]
repo = 'terryma/vim-multiple-cursors'

いくつかキーバインドに関する設定もありますが、とりあえずは標準でも利用可能です。

Vim でマルチカーソルを使う

例えば、Pythonの関数の引数となる変数名を変更してみます。

次の書籍の P406 の「マルチスレッド版 XKCDダウンローダー」のコードを拝借して、試して見ました。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

Vim力アップして、そろそろ上級 Vimmer の仲間入りしたいIT系エンジニアの端くれです。読んでくる訪問者の皆様と一緒に、Vim力を上げていくことができる記事が書ければと考えています。