Skip to content

多重游標編輯 ​

VMark 在所見即所得和原始碼兩種模式下均支援強大的多重游標編輯,讓你能夠同時編輯多個位置。

快速開始 ​

操作快捷鍵
在下一個符合項目新增游標Mod + D
跳過符合項目,移至下一個Mod + Shift + D
在所有符合項目新增游標Mod + Shift + L
在目前區塊內的所有符合項目新增游標Alt + Mod + Shift + L
還原最後一次游標新增Alt + Mod + Z
在上方新增游標Mod + Alt + 上
在下方新增游標Mod + Alt + 下
點擊新增/移除游標Alt + 點擊
收合為單一游標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 + 點擊 ​

按住 Alt(macOS 上為 Option)並點擊以:

  • 新增 游標至該位置
  • 移除 該位置已有的游標

適合在非符合文字的任意位置放置游標。

跳過符合項目(Mod + Shift + D) ​

當 Mod + D 選取了不需要的符合項目時,可跳過:

  1. 按 Mod + D 開始新增符合項目
  2. 若最新符合項目不需要,按 Mod + Shift + D 跳過
  3. 已跳過的符合項目被移除,並選取下一個符合項目

這相當於多重游標版的「尋找下一個」— 可精確挑選要編輯的符合項目。

軟性還原(Alt + Mod + Z) ​

還原最後一次游標新增,而不清除所有游標:

  1. 多次按 Mod + D 建立游標群
  2. 若多加了一個,按 Alt + Mod + Z
  3. 最後新增的游標被移除,還原至之前的狀態

與 Escape(收合所有游標)不同,軟性還原每次只退回一個游標。

在上方/下方新增游標(Mod + Alt + 上/下) ​

垂直逐行新增游標:

  1. 將游標置於某一行
  2. 按 Mod + Alt + 下 在下一行新增游標
  3. 繼續按以向下新增游標
  4. 使用 Mod + Alt + 上 向上新增游標

適合編輯對齊的欄位文字,或在連續行上進行相同的編輯。

使用多重游標編輯 ​

建立多個游標後,所有標準編輯操作均在每個游標處生效:

輸入 ​

  • 字元在所有游標位置插入
  • 選取範圍在所有位置被取代

刪除 ​

  • Backspace — 刪除每個游標前的字元
  • Delete — 刪除每個游標後的字元

導覽 ​

  • 方向鍵 — 所有游標一同移動
  • Shift + 方向鍵 — 在每個游標處延伸選取
  • Mod + 方向鍵 — 在每個游標處按單詞/行跳躍

Tab 跳脫 ​

Tab 跳脫對每個游標獨立運作:

  • 位於 粗體、斜體、程式碼或刪除線內的游標跳至格式結尾
  • 位於連結內的游標跳出連結
  • 位於右括號 ) ] } 前的游標跳過它
  • 位於一般文字中的游標保持不動

這讓你可以同時從多個格式化區域跳脫。詳情請參閱智慧 Tab 導覽。

剪貼簿 ​

複製(Mod + C):

  • 複製所有選取範圍的文字,以換行符號連接

貼上(Mod + V):

  • 若剪貼簿的行數與游標數量相同,每行分別貼至各游標
  • 否則,完整剪貼簿內容貼至所有游標

範圍 ​

程式碼有範圍限制,一般文字則沒有。 在程式碼區塊(所見即所得)或圍欄區塊(原始碼)內,游標絕不會越過圍欄 — 在一段程式碼中比對變數名稱,不會在另一段程式碼中放置游標。在一般文字中,Mod + D 和 Mod + Shift + L 會搜尋整份文件。

這通常正是你想要的,但偶爾不是:在長篇文件中比對常見詞彙,會在畫面外很遠的段落中放置游標。

選取區塊內所有符合項目 ​

Alt + Mod + Shift + L 只會選取目前區塊內的所有符合項目 — 也就是游標所在的段落、標題或清單項目。在原始碼模式中以空行作為區塊邊界;在所見即所得模式中則以所在的區塊為界。在程式碼圍欄內,它的行為與 Mod + Shift + L 完全相同,因為圍欄本身就是區塊。

兩者是並列的指令,而非模式切換:Mod + Shift + L 仍然涵蓋整份文件,因此你原本依賴的操作都不會改變。

該用哪一個?

當詞彙很常見時 — 例如重新命名在一般文字中也有提及的變數,或編輯某個清單項目的模式 — 請使用區塊範圍的版本。當你確實要涵蓋所有位置時,才使用全文件的版本。

收合游標 ​

按 Escape 即可收合回主游標位置的單一游標。

游標穩定性

收合後的游標在游標位置插入文字時保持穩定。在對應的插入操作後,不會意外擴展為選取範圍(已在 v0.6.x 修復)。

視覺回饋 ​

  • 主游標 — 標準閃爍游標
  • 次要游標 — 具有獨特樣式的額外閃爍游標
  • 選取範圍 — 每個游標的選取範圍均有高亮顯示

深色模式下,游標和選取顏色會自動調整以確保可視性。

模式比較 ​

功能所見即所得原始碼
Mod + D✓✓
Mod + Shift + D(跳過)✓✓
Mod + Shift + L✓✓
Alt + Mod + Z(軟性還原)✓✓
Mod + Alt + 上/下✓✓
Alt + 點擊✓✓
圍欄範圍限制程式碼區塊程式碼圍欄
區塊範圍的全選Alt + Mod + Shift + LAlt + Mod + Shift + L
環繞搜尋✓✓

技巧與最佳實務 ​

重新命名變數 ​

  1. 雙擊變數名稱
  2. Alt + Mod + Shift + L 選取此區塊內的所有符合項目(或用 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 + 上/下
任意位置Alt + 點擊
快速離開Escape

限制 ​

  • 原子節點:在所見即所得模式中,無法在圖片、嵌入內容或數學區塊內放置游標
  • 輸入法:使用輸入法(中文、日文等)時,組字只影響主游標
  • 程式碼區塊:在程式碼區塊(所見即所得)或圍欄區塊(原始碼)內,符合項目的比對絕不會超出該區塊

快捷鍵參考 ​

操作快捷鍵
選取下一個符合項目Mod + D
跳過符合項目Mod + Shift + D
選取所有符合項目Mod + Shift + L
軟性還原游標Alt + Mod + Z
在上方新增游標Mod + Alt + 上
在下方新增游標Mod + Alt + 下
新增/移除游標Alt + 點擊
收合為單一游標Escape
移動所有游標方向鍵
延伸所有選取Shift + 方向鍵
按單詞跳躍Alt + 方向鍵
按行跳躍Mod + 方向鍵