これにより、単語、フレーズに複数のカーソルを出現させ、それら全てに対して同時にアクションを実行することができます。一度に数行のテキストを編集したり、コード内の変数、関数名を一度に書き換えたりするために使用できます。こちらが完成済みのコードです。))使い方このサンプルコードを編集するという体で説明します。'new')コードのcontents変数を別のものに変更してみましょう。mc/mark-next-like-this-symbol)で同じキーワードをにカーソルを置いてゆきます。この状態では全てのカーソルでリージョン選択状態になっています。普通のカーソルとして、操作をしたい場合は1度C-gで選択モードを解除します。contentsを適当にabcみたいな変数に変更してみます。バックスペースで文字を消して、最後にabcとタイプすれば全ての変数が変換されます。マルチカーソルを解除したい場合はC-gでできます。注意キャメルケースをうまく認知できないこのカーソル複製方法は、キャメルケースによる変数の違いをうまく認知できません。コードをこのように変更してみます。'new')下の画像のように、contentsとcontentsEditedは別の変数であるにも関わらず、どちらもcontentsが含まれているため、カーソルが複製されてしまいます。上で利用したmark-next-like-this-symbolはざっくりとしたキーワードの範囲でカーソルを複製します。なく、リージョンで選んだ範囲でマッチするものにカーソルを複製する方法もあります。contentsに正確にマッチする場所にカーソルを複製してみましょう。mc/mark-next-symbol-like-this)でカーソルを複製します。mc/mark-all-like-this-dwim一括選択できます。注意としましてはバッファ内全てのキーワードにカーソルを複製するので、もしかすると意図しない場所にもカーソルが生まれているかもしれません。あとは同じように一度にカーソルを操作できます。メインカーソルを移動するカーソルが複製されている場所が、必ずしも、現在見えているバッファの中だけに収まる訳ではありません。正しい場所にカーソルが複製できるかチェックするためにも移動はできると良いしょう。メインのカーソルは複製を始めたところにあります。私のテーマでは灰色になっているカーソルがメインで、黒色が複製されたカーソルです。メインのカーソルを次の候補に移動させるにはC-v前に戻るにはM-vで移動できます。マルチカーソルでよく使うパターン例えば、マークダウンを書いていて、このようなリストがあるとします。サブ項目4一連のサブ項目をトップの階層に移動させたい場合、普通に操作すると、各行のインデントを削除していく必要があります。multiple-cursorsはこれをうまい具合にやってくれます。mc/mark-next-symbol-like-this)を実行します。このコマンドははリージョンを選択していない場合は、現在のカーソルの1つ下にカーソルを複製してくれます。ババっとこんな感じにカーソルを複製します。そのまま、バックスペースをタイプすると、良い感じに階層を上に移動できます。まとめカーソル複製の操作は正直複雑です。このブログを書いているときも思ったような複製が出来なくて色々試していました。操作に迷った時は上のサンプルコードのコメントを参考にしてください。Ted大学でコンセンサスアルゴリズムを研究。卒業後ベンチャー企業に入社してフルスタックでWebサービスを開発。現在は大手IT企業に転職し、プログラミングを行っている。AIにプログラマーの仕事を奪って欲しいと願っている。