Makzan
Makzan

我管理世界職業技能競賽之網站技術項目、舉辦本地設計與開發賽事、開課分享技術心得。一個用網頁來表達自己的作家。

麥誠之工作效率回顧週記—第 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 個視頻教學課程。

如果我的文章有價值,請訂閱贊助我持續創作分享。

訂閱贊助:https://liker.land/thomasmak/civic

CC BY-NC-ND 2.0 版权声明

喜欢我的文章吗?
别忘了给点支持与赞赏,让我知道创作的路上有你陪伴。

加载中…
加载中…

发布评论