麥誠之工作效率回顧週記—第 7 期—Sublime Text 多遊標文字處理大法(一)
Sublime Text 是一個編程界常用的代碼/純文字編輯器。 自 Sublime 推出第二版後,將多遊標(multiple cursors)操作發揚光大了。
以下各招數,分別使用了以下各種文字快捷鍵,
- CMD+D / CTRL+D
- CTRL+CMD+G / ALT+F3 選取全部相同文字片段
再配合日常系統層面使用的基本遊標移動及選取快捷鍵:
- CMD+左右 / Home, End 把遊標跳到行的最前及最後
- ALT+左右 / CTRL+左右 以詞語為單位左右移動
- SHIFT+左右 進行選擇
掌握了這些組合鍵,可以對有相同格式需求的文字進行批量操作。
注:以下統一使用 Windows 的快捷鍵,但使用 macOS 及相對應快捷鍵會有相同效果。
CTRL+D 快速選擇下一個文字
在選取了文字後,我們可以使用 CTRL+D 來選取和所選取文字相同的下一個文字片段。例如若有以下句子
如有問題,請電郵聯絡 Anna Lee (anna@example.com, 66661234) 或 John Chan (john@example.com, 28281234)。
若果我們想修改 example.com,我們可以雙按 example
或 com
然後按 CTRL+D,就可以選擇之後的 example.com
。然後就有兩個遊標了,這時就可以兩個 example.com 直接改了。
可能你會問,為何需要一個個的去選,用整篇搜尋及取代 (Find & Replace) 不就可以了?如果需要某個範圍內的取代,選擇了範圍後,再用搜尋及取代不也行嗎? 行,但若先選擇,便需要一個大範圍的滑鼠選取動作,然後再打開另一個介面來輸入搜尋及取代的範圍。
所以我更寧願留在代碼或文字中,快速選取下一個或下幾個相同的字,然後一併替換。 另外,這樣也更能防止自己的集中力被不同彈出的介面打斷。更能保持專注力在代碼中。
再者,通常這類形的替換都是短距離內操作的,所以整體按幾下 Ctrl+D 是比使用搜尋及取代更順手。
另一個更重要的原因,是我們的處理未必只是替代,亦可以是從文字中選取相同樣式的文字。
不只是替代,CTRL+D 後的其他操作
再以上述的電郵為例,假設我們想取得兩個聯絡人資料。雖然兩個聯絡人的名字長度不一樣,但其樣式是一致的,這時我們可以選擇兩者共有的文字片段,再按下 CTRL+D,然後使用 CTRL+左右跳到一邊,再 CTRL+SHIFT+左或右向另一邊選擇。由於是以詞語做單位移動,所以不同長度但相同空間距離的文字,可以統一選取。
然後再複製到一個新檔案。這樣可以繼續進行一些清理,例如處理掉中間符號並變成跳行。最後變會得出一個可讀性高的聯絡資訊文字。
Anna Lee anna@example.com 66661234 John Chan john@example.com 28281234
使用 ALT+F3 選取所有匹配的文字片段
例如現有幾個電郵地址:
anna@example.com;john@something.com;jane@example.com;mak@makzan.net
假設我們想取得所有人名,但不要電郵域名,那麼同樣可以用 CTRL+D 選取每個 @
,然後連同 @ 前面的名字一併選取(先右鍵一下,再 CTRL+SHIFT+左),複製並貼上到新文件中使用。
這個操作由於涉及多個選取需要,需要按幾次 CTRL+D,另一個方法是使用 ALT+F3(或 Mac 的 CTRL+CMD+G)
例如,我們可以選取每行的第一個字母,並使用 CTRL+K+U 把第一個字母變成大寫字母。或再最後加上逗號,然後通過 CTRL+SHIFT+J 把多行重新連結成一行。
今期講解了使用 Sublime Text 進行多遊標操作的基本招式,下星期一再和大家分享 CTRL+SHIFT+L 將遊標分為一行一個遊標,配搭上今期的快捷鍵,處理從網絡上複製回來的文字。
— 麥誠 Makzan,2021-11-22。
我是麥誠軒(Makzan),除了正職外,平常我要麼辦本地賽與辦世界賽,要麼任教編程與網站開發的在職培訓。現正轉型將面授培訓內容寫成電子書、網上教材等,至今撰寫了 7 本書, 2 個視頻教學課程。
如果我的文章有價值,請訂閱贊助我持續創作分享。