Makzan

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

麥誠之工作效率回顧週記—第 8 期—Sublime Text 文字處理大法(二)每行一個遊標進行多行同步文字處理

而如果想每行有數字遞增遞減等,例如有序列表或年份的排序等。這時可以配合 Sublime Text 內置的 Arithmetic 功能。這個 Arithmetic 功能可以將選擇的數字進行運算。例如加減乘除配上 x 及 i 兩個變數,x 是所選擇原有的值,i 是 0—N 的遞增整數。

今期的 Sublime Text 快捷鍵主題是每行一個遊標的 CTRL+SHIFT+L (Mac 的 CMD+SHIFT+L)。

上一期的 CTRL+D 不同。這招是當每行都有相同的模式,但又沒有任何相同的文字供我們使用 CTRL+D 或 ALT+F3 時,便可以使用這招建立一行一個遊標。

我們可以選擇需要處理的行,然後按 CTRL+SHIFT+L,就可以將這多行的選取範圍變成一行一個遊標。這樣,只要我們左右操作,便可以多行一併移動或一併增加刪除文字。配合上 CTRL+左/右及 HOME/END 鍵,可以整個詞語地移動。

其實,我們的思維是應以詞語作為移動單位的。這些多行相同的模式,每行的詞語空間應相同或部份相同,我們可以以此作為定位。而每行就算相同模式,也會因應其內容文字長短不一,所以要左右移動時,更方便的會是配合 CTRL 做詞語間跳動。

CTRL+SHIFT+L 將每行都分出一個遊標

第一個例子:假設我們有一個列表,常見的一種操作是在每行的開頭加上一些列點符號,例如 –, * 等。或者加上 1., 2., 3. 等作為有序列表。

這樣可以通過選擇這幾行,再按 CTRL+SHIFT+L分拆至一行一個遊標,按 HOME 移到每行最前面,便可以方便地多行批量加入文字或標記了。

Arithmetic 自動數數字替換

而如果想每行有數字遞增遞減等,例如有序列表或年份的排序等。這時可以配合 Sublime Text 內置的 Arithmetic 功能。選擇所有的數字,然後按 CTRL+SHIFT+P 打開指令框,選取 Arithmetic(由於是 A 字頭,所以一般會是第一或第二個選項)。

這個 Arithmetic 功能可以將選擇的數字進行運算。例如加減乘除配上 x 及 i 兩個變數,x 是所選擇原有的值,i 是 0—N 的遞增整數。

要製作基本的 1—N 列表,我們可以選入 i+1,這樣便可以有 1., 2., 3. 等有序列表。

又例如,如果想逐個值 +1/-1 等,可以輸入 x+i 或 x-i,這方便一些年份遞增遞減的整理,如下圖的文字,一開始從只有一年的網址,通過複製每行,再在每行開頭輸入用來下載檔案的指令,及將年份替換成逐年遞減。

批量整理年份

例子:批量清理每行資訊

再示範一個例子,這是我從澳門天文台上找到的天氣 API 的狀態對照表。假設我只保留中文資訊,及以冒號相隔,則可以:

  1. 先按 CTRL+A 全選,
  2. CTRL+SHIFT+L 分開遊標,
  3. 再按 HOME 統一定位,
  4. 再 CTRL+右 到中文後面,
  5. 按 SHIFT+END及刪除 就可以批量將所有中文字後的字符都刪除。

過程中如果左右移動錯誤,例如在英文詞語間,由於詞語量不一而左右移動出差位移,則可以再按 HOME 重新定位。

使用了 CTRL+D、ALT+F3、CTRL+SHIFT+L 加上詞語間移動,便可以方便在不同近似模式的文字間批量輸入或替換文字,加上 Arithmetic 數數字替換,便能應付各種日常工作遇到的多行批量處理難題。

— 麥誠 Makzan,2021-11-29。


我是麥誠軒(Makzan),除了正職外,平常我要麼辦本地賽與辦世界賽,要麼任教編程與網站開發的在職培訓。現正轉型將面授培訓內容寫成電子書、網上教材等,至今撰寫了 7 本書, 2 個視頻教學課程。

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

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

喜歡我的文章嗎?
別忘了給點支持與讚賞,讓我知道創作的路上有你陪伴。

CC BY-NC-ND 2.0 版權聲明

麥誠之工作效率回顧週記—第 7 期—Sublime Text 多遊標文字處理大法(一)

教學文系列

1

看不過癮?

一鍵登入,即可加入全球最優質中文創作社區