EmEditor v22.0.0 を公開しました (テクニカル レビューを含む)。

本日、EmEditor v22.0.0 を公開いたしました。

EmEditor v22.0 の主要の機能は、「あいまい一致」で、類似文字列の一致を利用して検索、フィルター、CSVの結合などを実現し、Professional 版では、さらにカスタマイズ可能です。この機能は、複数のお客様 (1, 2, 3) から要望されていました。EmEditor Professional では、この機能には複数のオプションを含んでいますが、EmEditor Free では [類似する文字列に一致] オプションのみが利用可能です。[類似する文字列に一致] オプションは、レーベンシュタイン距離、または編集距離と呼ばれる方法を使用して、2個の文字列がどの程度、類似しているかを計算します。すなわち、EmEditor は、2個の文字列を比較し、ある文字列を別の文字列に変換するまで、何ステップの編集が必要かを数えます。例えば、2個の文字列が以下だったとします。

「あいみい一致検索」 と 「あいまい一致の検索」

最初の文字列の 3文字目の「み」は「ま」に置き換える必要があり、7文字目の「検」の前に「の」を挿入する必要があります。したがって、これらの文字列の間の編集距離は 2 となります。

EmEditor Professional の [検索] ダイアログ ボックスで [あいまい一致] チェック ボックスを選択すると、[あいまい一致のオプション] ダイアログ ボックスが表示します。そこで、[類似性レベル] と [最大編集距離] オプションを使用して、どの程度の類似性が一致かを決定することができます。例えば [類似性レベル] が [3/4 (75%)] だとすると、一致するためには 4文字毎に 1編集距離までで、かつ [最大編集距離] で指定された値を超えない編集距離が許されます。つまり、文字列が 4文字以上であれば 1編集距離まで、8文字以上であれば 2編集距離までが許されます。

EmEditor Professional では、さらに多くのオプションがあいまい一致機能で利用可能です。次のオプションはすべて前述した [類似する文字列に一致] オプションを設定せずに使用することができます。[発音区分符号、濁点、半濁点などの前進を伴わない結合文字を区別しない] オプションは、発音区分符号、濁点、半濁点、その他の前進を伴わない結合文字 (後述する絵文字シーケンスを除く) を無視したい時に特に便利です。このオプションは、例えば、以下の文字列は同一とみなされます。

「e」と「é」
「c」と「ç」
「ハ」と「パ」

このオプションを選択すると、EmEditor は両方の文字列に Unicode正規化形式 (正準分解) を適用してから比較し、比較時に前進を伴わない結合文字を無視します。

[絵文字シーケンスを無視する] オプションは、シーケンスの最初のコード値を除いて、絵文字シーケンスの違いを無視します。例えば、

「👨‍🦰」(赤髪男、U+1F468 U+200D U+1F9B0)
と
「👨‍🦳」(白髪男、U+1F468 U+200D U+1F9B3)

は同一とみなされます。

[文字列/文字範囲] オプションは、文字列の類似性を定義するにおいて高度な柔軟性を実現します。例えば、長音符「ー」を無視すると指定すると、次の 2個の文字列は区別されなくなります。

「エディター」と「エディタ」

アンパサンド「&」を無視すると指定すると、次の 2個の文字列は区別されなくなります。

「fuzzy」と「fu&zzy」

Unicode用字、Unicode一般カテゴリ、文字コードの最小値と最大値、またはこれらの組み合わせにより文字範囲を指定することもできます。例えば、Unicode一般カテゴリとして「Pc,Pd,Pe,Pf,Pi,Po,Ps」を無視すると指定すると、文字列内のすべての句読点が無視されます。そこで、次の 2個の文字列は区別されなくなります。

「Emurasoft, Inc.」と「Emurasoft Inc」

[あいまい一致のオプション] ダイアログ ボックスには、さらに多くのオプションが利用可能です。詳しくは、ヘルプをご参照ください。

[検索] または [フィルター] コマンドで [あいまい一致] オプションを使用すると、あいまいに一致したけれど完全には一致しない文字列は、青い波線の下線で区別して表示されます。将来のバージョンの EmEditor では、マウス ポインターをこれらの青い波線の下線の上にポイントすると、ツールチップを表示して、これらのあいまい文字列をコピーまたは修正できるようになるでしょう。

[あいまい一致] オプションは、[検索]、[置換]、[ファイルから検索]、[ファイルから置換]、[連続検索]、[連続置換]、[ファイルから連続検索]、[ファイルから連続置換]、[CSVの結合] ダイアログ ボックス、[検索]、[フィルター] ツール バーで使用できます。現在のところ、[あいまい一致のオプション] はアプリ全体の設定であり、これらすべてのダイアログ ボックスやツール バーで共有されます。

[CSVの結合] ダイアログ ボックスで [あいまい一致] オプションを使用すると、類似で一致した文字列で 2個の CSV 文書を結合することができます。例えば、次の 2個の CSV 文書があるとします。

ID    会社名
1     Emurasoft, Inc.
2     Microsoft Corporation
3     Apple Inc.
州    会社名
CA    Apple Inc
WA    Microsoft Corp.
WA    Emurasoft Inc

これらの 2個の CSV を会社名で結合したいとします。EmEditor の以前のバージョンでは、「Emurasoft, Inc.」が「Emurasoft Inc」と一致しないため、正しく結合することができませんでした。あいまい一致を使用すると、句読点を無視するように指定したり、「Corp」を「Corporation」として処理することができるため、結果は次のようになります。

ID    会社名                 州       会社名
1     Emurasoft, Inc.         WA      Emurasoft Inc
2     Microsoft Corporation   WA      Microsoft Corp.
3     Apple Inc.              CA      Apple Inc

[連続検索] または [連続置換] ダイアログ ボックスで定義されたすべての検索文字列に [あいまい一致] オプションを適用することもできます。リスト ボックスのすべての項目に [あいまい一致] オプションを設定またはクリアするには、リスト ボックスのすべての項目を選択して、右クリックしてメニューを表示すると、[あいまい一致] オプションのオンとオフを切り替えることができます。ただし、[あいまい一致] オプションは、検索文字列が非常に多い場合やファイル サイズが巨大な場合、検索速度を著しく低下させるので注意が必要です。

v22.0 のその他の機能として、メール メッセージ ヘッダーで使われる MIME Encoded-Word (Base64) を強調表示することができるようになり、お客様より要望されていました。たとえば、メッセージ ヘッダーに次の行が含まれているとします。

Subject: =?UTF-8?B?W0VtRWRpdG9yICjjg4bjgq3jgrnjg4jjgqjjg4fjgqPjgr8pXQ==?=
 =?UTF-8?B?IOOCqOODs+OCs+ODvOODieOBruWumue+qeOBq+aXouWumuWIhui/veWKoA==?=

EmEditor は、これらの行を強調表示し、マウス ポインターをヘッダーの上にポイントすると、ツールチップを表示して、元の文字列を表示したりコピーしたりすることができるようになります。

あるお客様は、クリップボード内の文字列がどのように貼り付けられるかをカスタマイズできる機能を要望されていました。箱型選択から文字列をコピーして通常のテキストに貼り付けると、結果は期待した通りにならない場合があります。この場合、貼り付けた後に表示されるクリップボード アイコンをクリックすると、[クリップボード履歴] ウィンドウが表示されます。先ほど貼り付けた文字列上で右クリックすると、コンテキスト メニューが表示され、そこで [文字で挿入]、[行で挿入]、[箱型で挿入]、[セルで挿入] コマンドを選択できるようになりました。

既定のメイン メニューはデザインが変更され、[挿入]、[変換]、[ブックマーク]、[並べ替え]、[プラグイン] ポップアップ メニューをトップに含むようになりました。お持ちのキーボードに発音区分符号用のキーが含まれていない場合、[挿入] メニューの中の [発音区分符号] サブメニューを使うと、対応するショートカット キーを覚えなくてもこれらの特殊文字を入力できるようになるため便利でしょう。既定のメイン メニューを使用されている場合、この変更を気に入っていただけると幸いですが、もし気に入っていただけない場合、[ツール] メニューの [メニューの変更] を選択して、いつでもメニューをカスタマイズすることも可能です。

v22.0 は、Unicode 15.0 をサポートしました。例えば、次の文字は、Unicode 15.0 で新たに追加された絵文字です。

🫨 U+1FAE8 (SHAKING FACE)
🩷 U+1FA77 (PINK HEART)
🫎 U+1FACE (MOOSE)
🛜 U+1F6DC (WIRELESS)

上の文字を正しく表示するには、Unicode 15.0 に対応したフォントが必要になりますが、EmEditor にこれらをコピー、貼り付けして、カーソルを各文字の左に置いて [文字コード値] コマンド (Ctrl+I) を使用すると、その正しい Unicode名を表示することができます。この更新は、[文字コード値] コマンドにより表示される Unicode名、Unicode用字、Unicode一般カテゴリに影響されます。また、文字の半角と全角の区別が East Asian Width により影響されます。しかし、Onigmo 正規表現エンジンは、現在のところ、以前のバージョンの Unicode に準拠しており、今回の更新には影響されません。

最後に、[コミット リスト] (Git) プラグインは、ブランチの比較機能を追加して更新され、さらに他の改善により使いやすくなりました。

Pro版、Free版とも お気に入りいただけましたら幸いです。将来、ご質問、機能のリクエスト、アイディアなどがございましたら、ご連絡いただくか、フォーラムにご発言ください。

今後も EmEditor を引き続きご愛顧くださいますよう、よろしくお願い申し上げます。
— 江村豊

主な変更点、画面図など、詳しくは、「Version 22.0 の新機能」をご覧ください。

さらに本リリースは、v22.0 を開発中の不具合/問題の修正を含みます

デスクトップ インストーラー版をご使用の場合、[ヘルプ] メニューの [更新のチェック] を選択して更新していただけます。この方法で更新できない場合には、最新版をダウンロードして、そのダウンロードしたインストーラーを実行してください。デスクトップ ポータブル版の場合、こちらよりダウンロードして、更新していただけます。ストア アプリ版の場合、数日後、Microsoft ストア (64ビット または 32ビット) よりダウンロードまたは更新していただけます。winget を使用されている場合は、”winget install emeditor” とタイプして最新版の EmEditor のインストールが可能です (64ビットか32ビットは自動検出されます)。

EmEditor v21.9.1 を公開しました。

本日、EmEditor v21.9.1 を公開いたしました。

v21.9.1 は、v22.0 beta 1 (21.9.901) から beta 2 (21.9.902) までのすべての不具合修正を含みます。

主な変更点、画面図など、詳しくは、「Version 21.9 の新機能」をご覧ください。

デスクトップ インストーラー版をご使用の場合、[ヘルプ] メニューの [更新のチェック] を選択して更新していただけます。この方法で更新できない場合には、最新版をダウンロードして、そのダウンロードしたインストーラーを実行してください。デスクトップ ポータブル版の場合、こちらよりダウンロードして、更新していただけます。ストア アプリ版の場合、数日後、Microsoft ストア (64ビット または 32ビット) よりダウンロードまたは更新していただけます。

EmEditor v21.9.0 を公開しました (テクニカル レビューを含む)。

本日、EmEditor v21.9.0 を公開いたしました。

EmEditor Professional v21.9 の主な機能は、江村誠により改善された [コミット リスト (Git)] プラグインです。Git を使用してプロジェクトの変更を追跡されている場合、おそらく毎朝、作業フォルダ内の変更を確認してから仕事を始めるでしょう。更新したプラグインは、サイド バーに変更されたファイルとステージング済みのファイルの一覧を表示し、一覧の中のファイルをダブルクリックすると、ファイルを開いて、変更を比較表示します。改善点には、ファイル履歴の表示の高速化も含まれます。[コミット リスト] プラグインがどのように動作するかを示すビデオをご覧ください。

EmEditor Professional と Free v21.9 では、比較結果表示においていくつかの点で改善しました。例えば、1行の離れた場所で、複数の文字が異っている場合、以前のバージョンでは、最初の異なる文字と最後に異なる文字の間に、まったく同じ文字列が存在する場合でも、最初の異なる文字と最後に異なる文字の間をすべて濃い緑色で強調していました。v21.9 では、異なる文字のみ濃い緑色で強調し、残りの文字は薄い緑色で残します。これは、このお客様を含め、複数のお客様から要望されていました。この改善により刺激された他のお客様は、[前の変更文字]、[次の変更文字] コマンドを要望されました。これらのコマンドは、既存の [前の変更]、[次の変更] コマンドと共に、比較が分割ウィンドウで表示されている間、文書タイトルに追加されたボタンから簡単にアクセスすることができるようになりました。さらに、比較結果が分割ウィンドウで表示されていれば、v21.9 では、比較されている文書のどちらかにタイプするにつれて動的に比較強調を更新するようになりました。

EmEditor Professional v21.9 には、複数のお客様 (1, 2, 3) により要望されていた、CSV に関連する新機能が含まれています。

最初に、[行ヘディング 1] から [行ヘディング 4] コマンドにより、左側の 1列または複数列を固定できるようになりました。または、固定したい行の下、列の右のセルを選択して、[ヘディングの設定/解除 (ウィンドウ枠の固定/解除)] コマンドを選択して、列と行を固定できます。

次に、[列の非表示]、[列の再表示] コマンドを使用すると、特定の CSV 列を非表示にできるようになりました。この機能を使用するには、非表示したい列ヘディングを右クリックしてポップアップ メニューを表示し、[列の非表示] を選択します。元に戻すには、非表示列の左右の列ヘディングを右クリックしてポップアップ メニューを表示し、[列の再表示] を選択します。または、左上の隅の領域を右クリックすると、すべての列が選択され、ポップアップ メニューが表示されます。そこで、[列の再表示] を選択すると、すべての列が再表示されます。

さらに、あるお客様は CSV で列を右揃えする機能をメールにて要望されました。そこで、[右揃え]、[左揃え]、[中央揃え] コマンドを追加しました。これらのコマンドを使用するには、揃えたい列のヘディングを右クリックして表示されるポップアップ メニューから、[右揃え]、[左揃え]、[中央揃え] コマンドを選択してください。[カスタマイズ] ダイアログ ボックスの [CSVオプション] ページで、[数値の列を右揃えにする] オプションが設定されている場合、CSV ファイルがオープンされた時、または CSV モードが選択された時、数値の列は自動的に右揃えになります。

あるお客様は、[頻出文字列を抽出] コマンドをマクロに記録する機能を要求されました。そこで、v21.9 では、このコマンドをマクロに記録できるようになり、Selection オブジェクトの ExtractFrequent メソッドを使用してスクリプトを書けるようになりました。

最後に、既定のメイン メニューはデザインが変更され、CSV ポップアップ メニューをトップに含むようになりました。この CSV ポップアップ メニューには、CSV に関連するよく使うコマンドが含まれているため、ツール バーを使用しなくても簡単にこれらのコマンドにアクセスすることができます。さらに、CSV 列ヘディングや左上の隅の領域で右クリックした時に、新しいポップアップ メニューが表示されるようになりました。

Pro版、Free版とも お気に入りいただけましたら幸いです。将来、ご質問、機能のリクエスト、アイディアなどがございましたら、ご連絡いただくか、フォーラムにご発言ください。

今後も EmEditor を引き続きご愛顧くださいますよう、よろしくお願い申し上げます。
— 江村豊

主な変更点、画面図など、詳しくは、「Version 21.9 の新機能」をご覧ください。

さらに本リリースは、v21.9 を開発中の不具合/問題の修正を含みます

デスクトップ インストーラー版をご使用の場合、[ヘルプ] メニューの [更新のチェック] を選択して更新していただけます。この方法で更新できない場合には、最新版をダウンロードして、そのダウンロードしたインストーラーを実行してください。デスクトップ ポータブル版の場合、こちらよりダウンロードして、更新していただけます。ストア アプリ版の場合、数日後、Microsoft ストア (64ビット または 32ビット) よりダウンロードまたは更新していただけます。winget を使用されている場合は、”winget install emeditor” とタイプして最新版の EmEditor のインストールが可能です (64ビットか32ビットは自動検出されます)。

EmEditor v21.8.1 を公開しました。

本日、EmEditor v21.8.1 を公開いたしました。

v21.8.1 は、v21.8 beta 1 (21.8.901) から beta 6 (21.8.906) までのすべての不具合修正を含みます。

主な変更点、画面図など、詳しくは、「Version 21.8 の新機能」をご覧ください。

デスクトップ インストーラー版をご使用の場合、[ヘルプ] メニューの [更新のチェック] を選択して更新していただけます。この方法で更新できない場合には、最新版をダウンロードして、そのダウンロードしたインストーラーを実行してください。デスクトップ ポータブル版の場合、こちらよりダウンロードして、更新していただけます。ストア アプリ版の場合、数日後、Microsoft ストア (64ビット または 32ビット) よりダウンロードまたは更新していただけます。winget を使用されている場合は、”winget install emeditor” とタイプして最新版の EmEditor のインストールが可能です (64ビットか32ビットは自動検出されます)。

EmEditor v21.8.0 を公開しました (テクニカル レビューを含む)。

本日、EmEditor v21.8.0 を公開いたしました。

EmEditor の以前のバージョン (v21.7) では、分割ウィンドウで比較や同期スクロールの結果の表示をサポートしました。新しいバージョンでは、その分割ウィンドウを改善しました。v21.8 では、この種類の分割ウィンドウでは、文書の上部に文書のタイトルを表示するようになり、どの文書が右側で、どの文書が左側かが分かりやすくなりました。分割ウィンドウのサイズを変更したり最大化すると、以前のバージョンでは、分割境界位置を調節しませんでした。新しいバージョンでは、ウィンドウのサイズを変更するにつれて、それに比例して分割境界を自動的に調節するようになりました。さらに、v21.8 は、[分割表示] コマンドを使用して、2個の文書の比較や同期スクロールを行わないで、単純に分割ウィンドウで並べて表示することが可能になりました。以上の機能は、すべて EmEditor Professional と EmEditor Free でサポートされています。

EmEditor Professional の主な機能は、v21.7 で既に実装された [すべて一括置換] の機能を使用する時に、正規表現 (RegEx) と数値範囲表現 (NumRange) を検索文字列に含めることが可能になったことです。このお客様を含め複数のお客様がこの改善を望まれていました。大部分は単純な文字列ですが、検索文字列の一覧に、少数の RegEx を含めたい場合に便利です。[すべて一括置換] は、すべての検索文字列が RegEx でも NumRange でもない (無し) 場合に最も速く動作します。RegEx を検索文字列の一覧に追加すると、[すべて一括置換] の動作速度は著しく低下します。しかし、少数の RegEx が存在する場合は、[すべて一括置換] の方が [すべて連続置換] よりも高速に動作します。

RegEx、NumRange、(無し) を検索文字列の一覧に混在させると、[すべて一括置換] は、これらすべての文字列を同時に検索しますが、競合が発生することがあります。競合が発生した場合、(無し) が優先度が最も高く、NumRange が次に優先度が高く、RegEx が最も優先度が低くなります。

例えば、次のように 3個の文字列を検索するとします。

RegEx: [1-3] → A
NumRange: [1, 2] → B
(無し): 1 → C

そして、元の文書が

[ 1 2 3 ]

となっていた場合です。この例では、RegEx は 1、2、3 のすべてに一致し、NumRange は 1 と 2 に一致し、(無し) は 1 のみに一致します。[すべて一括置換] が 1 を見つけると、これらすべての表現は 1 に一致します。この場合、[すべて一括置換] は (無し) が最も優先度が高いため、 (無し) を選択します。次に、2 を見つけると、NumRange と RegEx が 2 に一致します。NumRange の方が RegEx より優先度が高いため、NumRange を選択します。3 を見つけた時は、RegEx のみが 3 に一致します。

したがって、結果は次のようになります。

[ C B A ]

このようにして、EmEditor は [すべて一括置換] のタスクを速度によって最適化しています。[すべて一括置換] の速度をさらに改善するためには、RegEx と NumRange の検索文字列の数を減らすことをおすすめします。例えば、次のようなグループ正規表現があったとします。

(x|y)

高速化するためには、これを次のように 2個の単純な文字列に展開することをおすすめします。

x
y

さらに v21.8 では、[ファイルから連続検索] ダイアログ ボックスの [一括検索] と [ファイルから連続置換] ダイアログ ボックスの [すべて一括置換] でも、RegEx と NumRange 検索文字列をサポートしました。

v21.8 の他の新機能は、江村誠により開発されたコミット リスト プラグインの追加で、このプラグインは、Git リポジトリのコミット履歴を表示します。このプラグインは、異なるリビジョン間の比較を簡単に行うことができます。プラグインの現在の最小限の機能セットにより、皆様のフィードバックが将来のバージョンに活かされる機会を残していますので、プラグインにどの機能を取り入れて欲しいか、フィードバックをぜひお聞かせください。

あるお客様は、[ファイルから検索] で作業中にファイルのタイムスタンプにより検索ファイルを制限したいと要望されました。そこで、[高度] ダイアログ ボックス ([ファイルから検索]) に、[最古の更新日] と [最新の更新日] オプションを追加しました。[最古の更新日] のみが設定されている場合、指定した日付より新しいファイルを検索します。[最新の更新日] のみが設定されている場合、指定した日付より古いファイルを検索します。どちらも設定されていない場合、ファイルの日付に関係なくすべてのファイルを検索します。

別のお客様は、フィルター結果が表示されている時、行毎に、(1個だけでなく) すべての一致した文字列を抽出できるように要望されました。そこで、[フィルター] ツール バーで [すべて抽出] ボタンをクリックした時に表示されるメニューに、[抽出オプション] を追加し、[すべての一致した文字列を抽出] オプションを選択したり、一致した文字列を区切って表示するための区切りを設定することができるようになりました。

またさらに別のお客様は、[一致する行の上/下に追加表示する行数] をマクロに記録する機能を要望されました。そこで、Document オブジェクトの Filter メソッドに 2個のパラメータを追加し、これらの数を指定できるようにしました。すでに、Filter メソッドを使用するマクロを持っている場合で、一致する行の上/下に行を追加表示させたい場合には、これらのパラメータに 0 以外の値を設定するか、-1 を指定して Filter メソッドがこれらの値を変更しないように指示する必要があります。

最後に、Pro版、Free版とも お気に入りいただけましたら幸いです。将来、ご質問、機能のリクエスト、アイディアなどがございましたら、ご連絡いただくか、フォーラムにご発言ください。

今後も EmEditor を引き続きご愛顧くださいますよう、よろしくお願い申し上げます。
— 江村豊

主な変更点、画面図など、詳しくは、「Version 21.8 の新機能」をご覧ください。

さらに本リリースは、v21.8 を開発中の不具合/問題の修正を含みます

デスクトップ インストーラー版をご使用の場合、[ヘルプ] メニューの [更新のチェック] を選択して更新していただけます。この方法で更新できない場合には、最新版をダウンロードして、そのダウンロードしたインストーラーを実行してください。デスクトップ ポータブル版の場合、こちらよりダウンロードして、更新していただけます。ストア アプリ版の場合、数日後、Microsoft ストア (64ビット または 32ビット) よりダウンロードまたは更新していただけます。winget を使用されている場合は、”winget install emeditor” とタイプして最新版の EmEditor のインストールが可能です (64ビットか32ビットは自動検出されます)。

EmEditor v21.7.2 を公開しました。

本日、EmEditor v21.7.2 を公開いたしました。

v21.7.2 は、v21.8 beta 7 (21.7.907) から beta 11 (21.7.911) までのすべての不具合修正を含みます。

主な変更点、画面図など、詳しくは、「Version 21.7 の新機能」をご覧ください。

デスクトップ インストーラー版をご使用の場合、[ヘルプ] メニューの [更新のチェック] を選択して更新していただけます。この方法で更新できない場合には、最新版をダウンロードして、そのダウンロードしたインストーラーを実行してください。デスクトップ ポータブル版の場合、こちらよりダウンロードして、更新していただけます。ストア アプリ版の場合、数日後、Microsoft ストア (64ビット または 32ビット) よりダウンロードまたは更新していただけます。winget を使用されている場合は、”winget install emeditor” とタイプして最新版の EmEditor のインストールが可能です (64ビットか32ビットは自動検出されます)。

EmEditor v21.7.1 を公開しました。

本日、EmEditor v21.7.1 を公開いたしました。

v21.7.1 は、v21.8 beta 1 (21.7.901) から beta 6 (21.7.906) までのすべての不具合修正を含みます。

主な変更点、画面図など、詳しくは、「Version 21.7 の新機能」をご覧ください。

デスクトップ インストーラー版をご使用の場合、[ヘルプ] メニューの [更新のチェック] を選択して更新していただけます。この方法で更新できない場合には、最新版をダウンロードして、そのダウンロードしたインストーラーを実行してください。デスクトップ ポータブル版の場合、こちらよりダウンロードして、更新していただけます。ストア アプリ版の場合、数日後、Microsoft ストア (64ビット または 32ビット) よりダウンロードまたは更新していただけます。winget を使用されている場合は、”winget install emeditor” とタイプして最新版の EmEditor のインストールが可能です (64ビットか32ビットは自動検出されます)。

EmEditor v21.7.0 を公開しました (テクニカル レビューを含む)。

本日、EmEditor v21.7.0 を公開いたしました。

以前から、「比較結果を 2つの並べられたウィンドウではなく 1つの分割ウィンドウに表示を」という要望は多くありましたが、v21.7 では可能になりました。[比較] メニューより比較コマンドを選択すると、EmEditor は 1つの分割ウィンドウ内で比較結果を表示するようになりました。[リセット] を選択して比較を終了すると、EmEditor は通常のタブ ウィンドウに戻ります。[同期スクロール] コマンドも同様に動作します。この機能は、EmEditor Professional と EmEditor Free の両方で利用可能です。

EmEditor Professional の前のバージョン (v21.6) では、複数文字列の素早い同時検索が可能になりました。EmEditor Professional v21.7 のメインの機能は、複数の文字列を同時に置換することであり、複数のお客様から要望されていました (1, 2)。既存の機能である [すべて連続置換] に対して、この新機能を [すべて一括置換] と呼ぶことにします。[すべて一括置換] は、[すべて連続置換] とはアルゴリズムが大きく異なります。[すべて連続置換] は一度に文書全体で 1つの文字列を検索して、この手順を文字列の数だけ繰り返します。一方、[すべて一括置換] は、すべての検索文字列を同時に検索します。この違いは、次のような場合に、異なる結果をもたらします。それは、例えば、検索/置換文字列に、

1 → 5
2 → 4
4 → 2
5 → 1

といったペアが含まれていて、元の文書が

[1,2,3,4,5]

となっていた場合です。

この場合、[すべて連続置換] を使用すると、EmEditor は最初に文書全体の 1 を 5 に置換します。そして、2 を 4 に置換します。この時点で、元の文書は次のようになります。

[5,4,3,4,5]

次に、4 を 2 に置換する時、2つの 4 (2番目と4番目の数字) を置換することに注意してください。最後に、5 を 1 に置換する時、2つの 5 (最初と最後の数字) を置換します。したがって、結果は次のようになります。

[1,2,3,2,1]

新しい [すべて一括置換] を使用すると、EmEditor はすべての文字列を同時に置換します。したがって、結果は、期待通り、次のようになります。

[5,4,3,2,1]

[すべて一括置換] は、[すべて連続置換] よりもずっと高速に動作します。私のテストでは、100万件の検索/置換ペアが存在する場合、[すべて一括置換] は、[すべて連続置換] より 6310 倍も高速に動作しました。

この [すべて一括置換] による高速化により、従来では考えられなかった新しい EmEditor の活用法が可能になりました。例えば、あなたがクライアント一覧のお客様に電話をかけるとします。ただし、別のリストには、数百万件の電話番号の一覧があり、それらは電話禁止名簿だったとします。あなたは、クライアント一覧に、電話禁止名簿の番号が含まれていないことを確認する必要があります。この場合、EmEditor の前のバージョン (v21.6) では、クライアント一覧の電話禁止番号をすばやく検索することができました。新バージョン (v21.7) では、検索だけではなく、一致した番号を他の文字列 (または空の文字列) に置換することもできるようになりました。このように、新機能により、文書から不要な文字列をすばやく置換または削除が可能になりました。以前なら、このようなタスクには、検索文字列の数によっては、数時間、または数日間もかかっていたものです。現在のところ、[すべて一括置換] は正規表現、数値範囲、改行を含む検索文字列をサポートしていません。

最後に、Pro版、Free版とも お気に入りいただけましたら幸いです。将来、ご質問、機能のリクエスト、アイディアなどがございましたら、ご連絡いただくか、フォーラムにご発言ください。

今後も EmEditor を引き続きご愛顧くださいますよう、どうぞよろしくお願い申し上げます。
— 江村豊

主な変更点、画面図など、詳しくは、「Version 21.7 の新機能」をご覧ください。

さらに本リリースは、次の不具合/問題の修正を含みます。

  • [半角/全角変換] ダイアログ ボックスで [文章全部] を選択しても CSV モードで選択範囲のみが変換される不具合を修正しました。
  • フィルター設定中のセル ツール バーに関する不具合を修正しました。
  • 新バージョンは、[ヘディングは書き換え禁止] が設定されている場合、[列の削除/切り取り] コマンドを無効にせずに、これらのコマンドでメッセージ ボックスを表示するようになりました。
  • 新バージョンは、列が選択されていて [ヘディングは書き換え禁止] が設定されている場合でも各種変換コマンドを有効にしました。
  • 置換表現が \x{hhhhh} の値を正しく解析しなかった不具合を修正しました。
  • editor.QueryStatusByID(EEID_TOOLBAR1 + n) が正しく動作しなかった不具合を修正しました。
  • ある特定の条件でのフィルター設定で異常終了する可能性があった v21.6 の不具合を修正しました。
  • 抽出置換が行のすべての一致を抽出しないことがあった v21.6 の不具合を修正しました。
  • お客様から報告された不具合を修正しました (1, 2)。

デスクトップ インストーラー版をご使用の場合、[ヘルプ] メニューの [更新のチェック] を選択して更新していただけます。この方法で更新できない場合には、最新版をダウンロードして、そのダウンロードしたインストーラーを実行してください。デスクトップ ポータブル版の場合、こちらよりダウンロードして、更新していただけます。ストア アプリ版の場合、数日後、Microsoft ストア (64ビット または 32ビット) よりダウンロードまたは更新していただけます。winget を使用されている場合は、”winget install emeditor” とタイプして最新版の EmEditor のインストールが可能です (64ビットか32ビットは自動検出されます)。

EmEditor v21.6.1 を公開しました。

本日、EmEditor v21.6.1 を公開いたしました。

v21.6.0 からの主な変更点は次の通りです。

  • 設定のプロパティの [文字チェック] ページの [用字]/[一般カテゴリ] の選択に関する不具合を修正しました。
  • ステータス バー メッセージに関する不具合を修正しました。
  • 新バージョンは高度なフィルターがアクティブな時でもフィルター ツール バーのフィルター ボックスを読み取り専用にしないようになりました。
  • 設定のプロパティの [表示] ページで [下線色] がテーマに保存されなかった不具合を修正しました。
  • コードの最適化によりプログラム サイズを小さくしました。
  • 検索色に関する v21.6 の不具合を修正しました。
  • 巨大ファイルに対する [行/列の入れ替え] コマンドに関する動作不良の可能性を修正しました。
  • 巨大ファイルを保存直後に「ファイル操作中に致命的なエラーが発生しました。」というメッセージが表示されてしまうことがあった不具合を修正しました。
  • 論理プロセッサーが1個のマシンで非 Unicode ファイルを保存中に異常終了する可能性があった不具合を修正しました。
  • 新バージョンでは、Filters コレクションの Add メソッド、AddFind メソッド、AddReplace メソッドに eeExFindLinkFile フラグを使用できるようになりました。

主な変更点、画面図など、詳しくは、「Version 21.6 の新機能」をご覧ください。

デスクトップ インストーラー版をご使用の場合、[ヘルプ] メニューの [更新のチェック] を選択して更新していただけます。この方法で更新できない場合には、最新版をダウンロードして、そのダウンロードしたインストーラーを実行してください。デスクトップ ポータブル版の場合、こちらよりダウンロードして、更新していただけます。ストア アプリ版の場合、数日後、Microsoft ストア (64ビット または 32ビット) よりダウンロードまたは更新していただけます。winget を使用されている場合は、”winget install emeditor” とタイプして最新版の EmEditor のインストールが可能です (64ビットか32ビットは自動検出されます)。

EmEditor v21.6.0 を公開しました (テクニカル レビューを含む)。

本日、EmEditor v21.6.0 を公開いたしました。

以前のバージョンの EmEditor では、特定の文字の可視化が可能になりましたが、[指定範囲] オプションを選択した場合、文字範囲を文字コード値で指定する必要がありました。これは、関心のある文字コード値が Unicode 表のあちらこちらに散りばめられている場合、退屈な仕事になります。新バージョンでは、Unicode 用字Unicode 一般カテゴリを使用して文字範囲を指定できるようになりました。例えば、ラテン文字のテキストのみを書く場合、Latin (Latn) と Common (Zyyy) 用字を選択し、[指定範囲文字のみの文字を許可する] オプションを設定すると良いでしょう。Unicode 用字と Unicode 一般カテゴリを組み合わせることもできます。例えば、

"Latn,Zyyy,Ll,Lu"

と指定して、ラテン (Latn) または共通 (Zyyy) 用字、かつ小文字 (Ll) または 大文字 (Lu) と設定することもできます。

この機能を可能にするため、EECommon.dll ライブラリに含まれている Uniocde データベースを更新して、Unicode 用字と Unicode 一般カテゴリにより文字範囲を指定できるようにしました。この新しい情報は、[文字コード値] コマンドを選択したときに表示されるダイアログ ボックスにも含まれます。EECommon.dll ライブラリは、情報が要求されるまでメモリーにロードされないため、この機能の追加により EmEditor のロード時間は影響を受けません。EECommon.dll ライブラリは、最初、江村誠により開発されました。

EmEditor v21.1 は、絵文字シーケンス絵文字 ZWJ シーケンスのすべての絵文字をサポートしていましたが、完全という訳ではなく、将来新しい絵文字シーケンスが現れた場合に時代遅れになってしまう可能性がありました。EmEditor の新バージョンでは、Unicode Technical Standard #51 – Unicode Emoji で指定された定義を使用してすべての可能な絵文字をサポートすることにしました。絵文字のサポートとは、フォントによりサポートされている限り、これらの絵文字を正しく表示して、絵文字のまわりのカーソルの移動が正しいことを意味します。これらの変更の作業を行うと同時に、Unicode データベースを最新バージョン (Unicode v14.0.0) に更新しました。

あるお客様は、テキスト ファイル内の様々な日付の形式をある 1つの日付の形式に変換できないか質問されました。EmEditor v21.3 では、数字範囲に日付/時刻の形式をサポートしました。この機能は、日付/時刻の範囲を検索/フィルターするのに便利でしたが、それらを 1つの日付/時刻の形式に変換することはできませんでした。そこで、新バージョンでは、\D と \T を置換表示構文に追加しました。例えば、次のように様々な形式の日付を含むテキスト ファイルがあったとします:

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

そして、これらすべてを 1 つのフォーマット「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

さらに、置換表現構文に、\Nc、\Nd、\NC、/ND という表現を追加して、文字列の Unicode正規化を行うことができるようにしました。これは、EmEditor v19.8 の新機能である [Unicode正規化] コマンドを使用したものです。これらの新しい表現は、ある検索条件に一致する文字の正規化を行う場合に便利でしょう。

上記の機能は、すべて EmEditor Professional と EmEditor Free でサポートされています。

EmEditor Professional v21.6 の主な機能は、多数の正規表現でない簡単な検索文字列を使った場合の [高度なフィルター] と [複数検索] の大幅な高速化です。あるお客様は、ファイルから 2500万件の電話番号を検索できないか質問されました。これは、検索文字列の数が数千を超えると非常に遅くなるため、以前の EmEditor のバージョンでは簡単ではありませんでした。私は、このような状況のための新しいアルゴリズムを思い付き、コードを大幅に最適化した結果、現在は、同時に 2500万個の文字列を検索することが可能になりました。この最適化に取り組むと同時に、[高度なフィルター] と [連続検索/置換] ダイアログ ボックスに、リンク ファイルを受け入れることも可能にしました。リンク ファイルには、改行で区切られた複数の検索文字列を含めることができます。エクスプローラから [高度なフィルター] または [連続検索/置換] ダイアログ ボックスのリスト ボックスにリンク ファイルをドラッグ アンド ドロップすることができます。また [フィルター] ツール バーの [フィルター] ボックスにリンク ファイルをドラッグ アンド ドロップして [高度なフィルター] を直ちに開始することができるようになりました。リンク ファイルにより検索文字列のセットの保持が容易になり、[高度なフィルター] または [複数検索] への変更の適用が容易になります。EmEditor は、内部では、検索を始める前に、検索文字列を、長さ、そしてABC順により並べ替えているため、リンク ファイルをあらかじめ並べ替えること (プリソート) により、高速化することが可能です。リンク ファイルをプリソートする場合は、[カスタマイズ] ダイアログ ボックスの [並べ替え] ページで [高速バイナリ比較] と [安定ソート] オプションを設定します。[高度なフィルター] で大文字小文字を区別しない場合には、[大文字、小文字を区別しない] オプションは設定します。リンク ファイルを開き、まず [AからZへ並べ替え] を選択し、その次に [短い文字列から長い文字列へ並べ替え] を選択します。リンク ファイルのプリソートは必須ではなく、検索結果には変わりありませんが、速度を向上させることができます。

さらに、[フィルター] ツール バーの [すべて抽出] ボタンがドロップ ダウン ボタンになり、ボタンをクリックすると、メニューが表示され、[すべての行を抽出] と [一致した文字列を抽出] コマンドから選択できるようになりました。[一致した文字列を抽出] コマンドは、複数の文字列が一致した場合、各行 1個の文字列のみを抽出します。

また、条件として [… は … を含む]、[… は … から始まる]、[… は … で終わる] が選択されている場合の [CSVの結合] コマンドを、[高度なフィルター] コマンドに似たアルゴリズムを使用して、大幅に高速化しました。

あるお客様は、[カスタマイズ] ダイアログ ボックスの [ステータス] ページに [選択モード] 項目を追加を要望されました。これを設定すると、ステータス バーには、箱型選択中には「箱型」と、行選択中には「行」と表示されます。

あるお客様から、EmEditor を起動中に異常終了すると報告があり、クラッシュ レポート ファイルが送られました。このクラッシュ レポートを調べると、非常に大きなファイル履歴によりメモリ不足の状態に陥り異常終了していることがわかりました。このお客様は、[カーソル位置を保存する] オプションに 30000日を指定し、[ブックマークはクリアしない] チェック ボックスも設定していました。これにより、非常に大きなファイル履歴が作成されてしまいました。このような問題が起こるのを防ぐため、新バージョンでは、[ブックマークはクリアしない] チェック ボックスを廃止し、カーソルとブックマークの保存期間を 100日までに制限しました。

最後に、Pro版、Free版とも お気に入りいただけましたら幸いです。将来、ご質問、機能のリクエスト、アイディアなどがございましたら、ご連絡いただくか、フォーラムにご発言ください。

今後も EmEditor を引き続きご愛顧くださいますよう、どうぞよろしくお願い申し上げます。
— 江村豊

主な変更点、画面図など、詳しくは、「Version 21.6 の新機能」をご覧ください。

さらに本リリースは、次の不具合/問題の修正を含みます。

  • [次/前の警告すべき/Unicode文字を検索] がユーザー定義のサロゲート文字を見逃す可能性があった不具合を修正しました。
  • バッチ配列が空の場合に BatchReplace メソッドで異常終了することがある不具合を修正しました。
  • レイアウトに関する不具合を修正しました。
  • サロゲート文字で [検索] ダイアログ ボックスの [次を/前を検索] ボタンが正しく動作しないことがある不具合を修正しました。
  • 文字間が不規則に表示される可能性があった不具合を修正しました。
  • ウィンドウ分割後、文書の切り替えで、スクロール位置が一番下に移動してしまうことがある不具合を修正しました。
  • 特定のCSVファイルを開いた直後に構文エラーが表示されてしまうが、[構文チェック] ボタンをクリックすると、エラーが消える不具合を修正しました。
  • EmEditor は、ネットワークを開いていると、時々「ファイルは他のプログラムによって変更されています。読み直しますか?」というメッセージ ボックスが表示されることがある v21.5 の不具合を修正しました。
  • お客様から報告された不具合を修正しました (1)。

デスクトップ インストーラー版をご使用の場合、[ヘルプ] メニューの [更新のチェック] を選択して更新していただけます。この方法で更新できない場合には、最新版をダウンロードして、そのダウンロードしたインストーラーを実行してください。デスクトップ ポータブル版の場合、こちらよりダウンロードして、更新していただけます。ストア アプリ版の場合、数日後、Microsoft ストア (64ビット または 32ビット) よりダウンロードまたは更新していただけます。winget を使用されている場合は、”winget install emeditor” とタイプして最新版の EmEditor のインストールが可能です (64ビットか32ビットは自動検出されます)。