EmEditor v21.6.0 發布(含技術評論)!

今天,我們發布了 EmEditor v21.6.0

以前版本的 EmEditor 允許您可視化指定的字元,但您必須通過字元碼值來指定字元範圍如果您選擇了指定範圍選項。當您感興趣的字元碼值分散在 Unicode 圖表中時,這可能會成為一項乏味的任務。新版本允許您通過 Unicode 腳本Unicode 一般類別來指定字元範圍。例如,如果您只寫拉丁文,最好選擇 拉丁文 (Latn) 和 常用 (Zyyy ) 腳本,並設定警告不在指定範圍的字元選項。您可以將 Unicode 腳本Unicode 一般類別結合使用。例如,您可以設定

"Latn,Zyyy,Ll,Lu"

來表示拉丁文 (Latn) 或 常用 (Zyyy) 腳本和小寫字母 (Ll) 或大寫字母 (Lu )。

為使此功能成為可能,我們更新了 EECommon.dll 庫中包含的 Unicode 數據庫,讓您能通過 Unicode 腳本 和/或 Unicode 一般類別來指定字元範圍。當您選擇字元碼值命令時,新信息也將包含在顯示的對話方塊中。EECommon.dll 庫在請求信息之前不會加載到記憶體中,因此 EmEditor 加載時間不會受到此功能的影響。EECommon.dll 庫最初由 Makoto Emura 開發。

EmEditor v21.1 支持所有在 Emoji 數列Emoji ZWJ 數列中的表情符號數列,但是,如果將來引入新的表情符號數列,它們並不全面,也沒有延展性。新版本的 EmEditor 使用 Unicode Technical Standard #51 – Unicode Emoji 中指定的定義來支持所有可能的表情符號。這意味著這些表情符號字元只要被字型支持就可以正確顯示,並且表情符號周圍的游標移動也是正確的。在進行這些變更時,我們將 Unicode 數據庫更新到了最新版本 (Unicode v14.0.0)。
一位使用者詢問是否可以可以將文字檔案中的各種日期格式轉換為一種日期格式。EmEditor v21.3 支持數字範圍中的日期/時間格式。雖然此功能對於尋找和篩選特定的日期/時間範圍很有用,但如果您需要將它們轉換為一種特定的日期/時間格式,它就沒有用了。新版本把 \D\T 運算式引入到取代運算式語法中。例如,如果您有一個包含各種格式的日期的文字檔案:

3/23/2022
03/23/2022
March 23,2022
Mar 23,2022
23-Mar-2022
2022-03-23
2022年3月23日

如果您想將以上日期轉換為一種格式「2022-03-22」,您可以按 CTRL+H 調出取代對話方塊,選擇數字範圍選項,然後輸入:

尋找:

[1/1/1900 , 1/1/2200 "M/d/yyyy|MM/dd/yyyy|MMMM d,yyyy|MMM d,yyyy|dd-MMM-yyyy|yyyy-MM-dd|yyyy年M月d日" ]

取代為:

\Dyyyy-MM-dd

尋找運算式將在 1/1/19001/1/2200 之間搜索這些格式,並將符合的日期轉換為 yyyy-MM-dd 格式。

在處理取代運算式語法時,我還添加了新的 \Nc\Nd\NC\ND 運算式來規范化字串,用 EmEditor v19.8中介紹的 Unicode 規范化。 當您需要規范化符合特定搜索條件的字元時,這些新運算式很有用。

EmEditor Professional 和 EmEditor Free 支持上述所有功能。

EmEditor Professional v21.6 的主要特點是通過許多簡單的非規則運算式搜索字串顯著提高了進階篩選多項尋找的速度。一位使用者詢問是否是否可以在檔案中搜索 2500 萬個電話號碼。這在 EmEditor 的早期版本中並不容易,因為當指定超過數千個搜索字串時它變得非常慢。我針對這種情況提出了一種新算法,並對程式碼進行了優化。現在 EmEditor 可以同時接受 2500 萬個搜索字串。在我進行此優化的同時,我還使進階篩選批次尋找/取代對話方塊能夠接受連結檔案。連結檔案可以包含多個由換行符分隔的搜索字串。您可以將連結檔案從檔案總管拖放到 進階篩選批量尋找/取代對話方塊的清單方塊中。您也可以將連結檔案拖放到篩選工具列上的篩選方塊以立即啟動進階篩選。連結檔案可以更輕松地維護一組搜索字串並將變更立即應用到進階篩選多項尋找中。由於 EmEditor 在進行搜索之前會在內部對搜索字串進行排序(按長度和字母順序),因此您可以通過對連結檔案進行預先排序來提高速度。如果您決定對連結檔案進行預先排序,請在自訂對話方塊中的排序頁面上選擇快速二進位比較穩定排序選項。如果您不符合進階篩選上的大小寫,則應選擇忽略大小寫選項。打開一個連結檔案,先選擇按字母升序排序,然後選擇按文字長度從短到長排序。對連結檔案進行預先排序不會改變搜索結果,但會提高搜索或篩選的速度。

此外,篩選工具列上的抽出全部按鈕現在是一個下拉按鈕,單擊該按鈕將顯示一個功能表,您可以在其中選擇抽出所有行抽出符合字串命令。如果多個字串符合,抽出符合字串命令將每行僅抽出一個字串。

我還用與進階篩選命令類似的算法優化了合併 CSV 命令的速度,特別是當 … 包含 …… 以 … 開始… 以 … 結尾條件被選中時。

一位使用者請求了一個新選項,即自訂對話方塊中的狀態頁面上的選擇模式項。如果勾選了此選項,則狀態列會在垂直選擇模式處於活動狀態時顯示「垂直」,在行選擇模式處於活動狀態時顯示「」。

一位使用者在啟動 EmEditor 時報告了崩潰,並給我發送了一個崩潰報告檔案。我檢視了崩潰報告,發現由於一個非常大的檔案歷史記錄而使 EmEditor 因記憶體不足的情況崩潰。該使用者將儲存游標位置選項設定為 30000 天,並在 自訂對話方塊中的歷史記錄頁面上選擇了永不清除書籤選項。這會導致建立一個非常大的檔案歷史記錄。為了防止此類問題的發生,新版本去掉了永不清除書籤核取方塊,並將游標和書籤的儲存時間限制為100天。

最後,希望您喜歡 EmEditor,無論您使用的是專業版還是免費版。如果您有任何問題、功能請求或想法,請聯繫我們在論壇中留言。)

感謝您使用 EmEditor!
Yutaka Emura

詳細信息和屏幕截圖,請參閱 EmEditor v21.6 新增功能

此版本還包括以下錯誤/問題修復:

  • 修復了尋找下一個/上一個警告字元/Unicode 命令可能會丟失代理使用者定義字元的錯誤。
  • 修復了如果批次陣列為空,EmEditor 可能在 BatchReplace 方法處崩潰的錯誤。
  • 修復了與版面配置相關的問題。
  • 修復了尋找對話方塊中的 尋找下一個/上一個按鈕不適用於代理字元的問題。
  • 修復了字元間距可能變得不規則的錯誤。
  • 修復了在垂直分割視窗和切換文檔時垂直捲動位置可能位於底部的錯誤。
  • 修復了打開某些 CSV 檔案時出現語法錯誤但單擊檢查語法按鈕會清除所有錯誤的問題。
  • 修復了 v21.5 中的錯誤,其中 EmEditor 可能會在打開網絡檔案時顯示「檔案已被另一個程式變更。是否重新加載變更?」消息方塊。
  • 修復了使用者報告的問題 (1)。

如果您使用的是桌面安裝程式版,那您可以到說明功能表下選擇檢查更新來下載最新版本。 如果此方法失敗,請下載最新版本,並運行下載的安裝程式。 如果您使用的是桌面可攜式版,則可以轉到下載頁面下載最新版本。市集應用版可以在幾天後通過 Microsoft 市集更新( 64 位 / 32 位)。如果您使用 winget,您可以輸入 “winget install emeditor” 來安裝最新版本的 EmEditor(自動檢測 64 位或 32 位)。