多重游標編輯
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)
- 選取一個單詞或將游標置於單詞上
- 按
Mod + D在下一個符合項目新增游標 - 繼續按以新增更多游標
- 輸入文字即可同時編輯所有位置
count 重新命名為 total: - 雙擊
count以選取 - 重複按
Mod + D選取每個符合項目 - 輸入
total— 所有符合項目同步更新
選取所有符合項目(Mod + Shift + L)
一次選取目前單詞或選取範圍的所有符合項目:
- 選取一個單詞或文字
- 按
Mod + Shift + L - 文件中所有符合項目均被選取 — 若位於程式碼區塊內,則選取該區塊中的所有符合項目(請參閱範圍)
- 輸入文字即可一次取代所有
若只想在目前所在的段落、標題或清單項目內選取,請改用 Alt + Mod + Shift + L。
Alt + 點擊
按住 Alt(macOS 上為 Option)並點擊以:
- 新增 游標至該位置
- 移除 該位置已有的游標
適合在非符合文字的任意位置放置游標。
跳過符合項目(Mod + Shift + D)
當 Mod + D 選取了不需要的符合項目時,可跳過:
- 按
Mod + D開始新增符合項目 - 若最新符合項目不需要,按
Mod + Shift + D跳過 - 已跳過的符合項目被移除,並選取下一個符合項目
這相當於多重游標版的「尋找下一個」— 可精確挑選要編輯的符合項目。
軟性還原(Alt + Mod + Z)
還原最後一次游標新增,而不清除所有游標:
- 多次按
Mod + D建立游標群 - 若多加了一個,按
Alt + Mod + Z - 最後新增的游標被移除,還原至之前的狀態
與 Escape(收合所有游標)不同,軟性還原每次只退回一個游標。
在上方/下方新增游標(Mod + Alt + 上/下)
垂直逐行新增游標:
- 將游標置於某一行
- 按
Mod + Alt + 下在下一行新增游標 - 繼續按以向下新增游標
- 使用
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 + L | Alt + Mod + Shift + L |
| 環繞搜尋 | ✓ | ✓ |
技巧與最佳實務
重新命名變數
- 雙擊變數名稱
Alt + Mod + Shift + L選取此區塊內的所有符合項目(或用Mod + Shift + L選取整份文件中的符合項目)- 輸入新名稱
新增前置/後置字元
- 將游標置於重複文字的前/後
Mod + D在每個符合項目新增游標- 輸入前置或後置字元
編輯清單項目
- 選取共同模式(如行首的
-) Mod + Shift + L選取所有符合項目- 一次編輯所有清單項目
何時使用各快捷鍵
| 情境 | 最佳快捷鍵 |
|---|---|
| 謹慎、逐步選取 | 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 + 方向鍵 |