Skip to content

マルチカーソル編集 ​

VMark は WYSIWYG モードとソースモードの両方で強力なマルチカーソル編集をサポートし、複数の場所を同時に編集できます。

クイックスタート ​

アクションショートカット
次のマッチにカーソルを追加Mod + D
マッチをスキップして次へジャンプMod + Shift + D
すべてのマッチにカーソルを追加Mod + Shift + L
現在のブロック内のすべてのマッチにカーソルを追加Alt + Mod + Shift + L
最後のカーソル追加を元に戻すAlt + Mod + Z
上にカーソルを追加Mod + Alt + Up
下にカーソルを追加Mod + Alt + Down
クリックでカーソルを追加/削除Alt + Click
シングルカーソルに折りたたむEscape

TIP

Mod = macOS では Cmd、Windows/Linux では Ctrl Alt = macOS では Option

カーソルの追加 ​

次の出現を選択(Mod + D) ​

  1. 単語を選択するか、単語の上にカーソルを置く
  2. Mod + Dを押して次の出現にカーソルを追加する
  3. 再度押してさらにカーソルを追加する
  4. 入力してすべての場所を同時に編集する
例: 変数countをtotalにリネームする場合:
  1. countをダブルクリックして選択する
  2. Mod + Dを繰り返し押して各出現を選択する
  3. totalと入力する — すべての出現が同時に更新される

すべての出現を選択(Mod + Shift + L) ​

現在の単語または選択のすべての出現を一度に選択します:

  1. 単語またはテキストを選択する
  2. Mod + Shift + Lを押す
  3. ドキュメント内の一致するすべての出現が選択される。コードブロック内では、そのブロック内のすべてのマッチが選択される(スコープを参照)
  4. 入力してすべてを一度に置換する

現在の段落、見出し、リストアイテム内にとどめたい場合は、代わりにAlt + Mod + Shift + Lを使います。

Alt + Click ​

Alt(macOS では Option)を押しながらクリックして:

  • その位置に カーソルを追加 する
  • そこに既にカーソルがある場合は 削除 する

これは一致するテキストではない任意の場所にカーソルを配置するのに便利です。

出現をスキップ(Mod + Shift + D) ​

Mod + Dが不要なマッチを選択した場合、スキップします:

  1. Mod + Dを押してマッチの追加を開始する
  2. 最新のマッチが不要な場合、Mod + Shift + Dを押してスキップする
  3. スキップされたマッチが削除され、代わりに次のマッチが選択される

これはマルチカーソルの「次を検索」に相当します — どの出現を編集するかを選択できます。

ソフトアンドゥ(Alt + Mod + Z) ​

すべてのカーソルを失うことなく最後のカーソル追加を元に戻します:

  1. Mod + Dを数回押してカーソルを積み上げる
  2. 1 つ多く追加してしまった場合、Alt + Mod + Zを押す
  3. 最後に追加されたカーソルが削除され、前の状態に戻る

Escape(すべてを折りたたむ)とは異なり、ソフトアンドゥは一度に 1 つのカーソルをステップバックします。

上/下にカーソルを追加(Mod + Alt + Up/Down) ​

一行ずつ垂直方向にカーソルを追加します:

  1. 行にカーソルを置く
  2. Mod + Alt + Downを押して次の行にカーソルを追加する
  3. 再度押して下方向にカーソルを追加し続ける
  4. Mod + Alt + Upを使って代わりに上方向にカーソルを追加する

これは列揃えのテキストを編集したり、連続する行に同じ編集を加えるのに最適です。

マルチカーソルでの編集 ​

複数のカーソルがあると、すべての標準的な編集が各カーソルで機能します:

入力 ​

  • 文字がすべてのカーソル位置に挿入される
  • 選択はすべての位置で置換される

削除 ​

  • Backspace — 各カーソルの前の文字を削除
  • Delete — 各カーソルの後の文字を削除

ナビゲーション ​

  • 矢印キー — すべてのカーソルが一緒に移動
  • Shift + 矢印 — 各カーソルで選択を拡張
  • Mod + 矢印 — 各カーソルで単語/行ごとにジャンプ

タブエスケープ ​

タブエスケープは各カーソルで独立して機能します:

  • 太字、斜体、コード、取り消し線の内部にあるカーソルはその書式設定の末尾にジャンプ
  • リンク内のカーソルはリンクから脱出
  • 閉じ括弧) ] }の前のカーソルはそれらを飛び越える
  • プレーンテキスト内のカーソルはその場にとどまる

これにより複数の書式設定された領域から同時に脱出できます。詳細はスマートタブナビゲーションを参照してください。

クリップボード ​

コピー(Mod + C):

  • すべての選択からテキストをコピーし、改行で結合

貼り付け(Mod + V):

  • クリップボードの行数がカーソル数と同じ場合、各行が各カーソルに入る
  • それ以外の場合、クリップボードの全コンテンツがすべてのカーソルに貼り付けられる

スコープ ​

コードはスコープされ、散文はスコープされません。 コードブロック(WYSIWYG)またはフェンスブロック(ソース)の内側では、カーソルがフェンスを越えることはありません。あるスニペットで変数名をマッチさせても、別のスニペットにカーソルが置かれることはありません。通常の散文では、Mod + DとMod + Shift + Lは ドキュメント全体 を検索します。

多くの場合はそれが望ましい動作ですが、そうでないこともあります。長いドキュメントでよく使われる単語をマッチさせると、画面外の離れた段落にカーソルが置かれます。

ブロック内のすべての出現を選択 ​

Alt + Mod + Shift + Lは、現在のブロック内のみ(カーソルがある段落、見出し、リストアイテム)のすべてのマッチを選択します。ソースモードでは空白行がブロックの境界になり、WYSIWYG では囲んでいるブロックが境界になります。コードフェンス内では、フェンスがすでにブロックであるため、Mod + Shift + Lとまったく同じ動作をします。

この 2 つはモードではなく兄弟関係にあります。Mod + Shift + Lは引き続きドキュメント全体に及ぶため、これまで頼りにしていた動作は何も変わりません。

どちらを使う?

単語がよく使われるものである場合(散文中で言及される変数名のリネームや、1 つのリストアイテムのパターン編集など)はブロックスコープ版を使います。本当にすべての場所を対象にしたい場合はドキュメント全体版を使います。

カーソルの折りたたみ ​

Escapeを押してプライマリ位置の 1 つのカーソルに戻ります。

カーソルの安定性

折りたたまれたカーソルは、カーソル位置にテキストが挿入されても安定したままです。マップされた挿入後に予期せず選択範囲に拡張されることはありません (v0.6.x で修正)。

視覚的フィードバック ​

  • プライマリカーソル — 標準的な点滅カーソル
  • セカンダリカーソル — 独特のスタイルの追加の点滅カーソル
  • 選択 — 各カーソルの選択がハイライトされる

ダークモードでは、カーソルと選択の色が視認性のために自動調整されます。

モード比較 ​

機能WYSIWYGソース
Mod + D✓✓
Mod + Shift + D(スキップ)✓✓
Mod + Shift + L✓✓
Alt + Mod + Z(ソフトアンドゥ)✓✓
Mod + Alt + Up/Down✓✓
Alt + Click✓✓
フェンスのスコープコードブロックコードフェンス
ブロックスコープのすべて選択Alt + Mod + Shift + LAlt + Mod + Shift + L
ラップアラウンド検索✓✓

ヒントとベストプラクティス ​

変数のリネーム ​

  1. 変数名をダブルクリック
  2. Mod + Shift + Lでブロック内のすべてを選択
  3. 新しい名前を入力

プレフィックス/サフィックスの追加 ​

  1. 繰り返されるテキストの前/後にカーソルを置く
  2. Mod + Dで各出現にカーソルを追加
  3. プレフィックスまたはサフィックスを入力

リストアイテムの編集 ​

  1. 共通のパターン(行頭の- など)を選択
  2. Mod + Shift + Lですべてを選択
  3. すべてのリストアイテムを同時に編集

各ショートカットの使用シーン ​

シナリオ最適なショートカット
慎重なインクリメンタル選択Mod + D
不要なマッチをスキップMod + Shift + D
現在のブロック内のすべてを置換Alt + Mod + Shift + L
ドキュメント内のすべてを置換Mod + Shift + L
最後のカーソルステップを元に戻すAlt + Mod + Z
連続する行を編集Mod + Alt + Up/Down
任意の位置Alt + Click
素早く終了Escape

制限事項 ​

  • アトムノード: WYSIWYG モードでは画像、埋め込みコンテンツ、数式ブロック内にカーソルを置けません
  • IME 入力: 中国語、日本語などの入力メソッドを使用する場合、変換はプライマリカーソルのみに影響します
  • コードブロック: コードブロック(WYSIWYG)またはフェンスブロック(ソース)の内側では、出現のマッチングがそのブロックの外に出ることはありません

キーボードリファレンス ​

アクションショートカット
次の出現を選択Mod + D
出現をスキップMod + Shift + D
すべての出現を選択Mod + Shift + L
カーソルをソフトアンドゥAlt + Mod + Z
上にカーソルを追加Mod + Alt + Up
下にカーソルを追加Mod + Alt + Down
カーソルを追加/削除Alt + Click
シングルカーソルに折りたたむEscape
すべてのカーソルを移動矢印キー
すべての選択を拡張Shift + 矢印
単語ごとにジャンプAlt + 矢印
行ごとにジャンプMod + 矢印