フォーラムの返信を作成しました。
- 作成者投稿
- Yutaka Emuraキーマスター
いつもお世話になっております。江村です。
さきほど、v23.1 を公開いたしました。
よろしくお願いいたします。
Yutaka Emuraキーマスターいつもお世話になっております。江村です。
申し訳ないのですが、私の読解力が弱く、ご質問の意味がよくわからないので、お手数ですが、簡単な再現可能なサンプルを作成していただき、ここに書いていただくか、私にお送りいただけますでしょうか? こちらで再現テストを行いたいと思います。
よろしくお願いいたします。
Yutaka Emuraキーマスターいつもお世話になっております。江村です。
[マクロ] メニューの [カスタマイズ] の [オプション] ページで、[既定でマクロを非同期に実行する] オプションの設定はどうなっていますでしょうか?
以前、Applek 様のご要望で、非同期が既定となっています。その場合、この設定を解除するか、あるいは、マクロの先頭行に、
#async = "off"
として実行してみてください。
よろしくお願いいたします。
Yutaka Emuraキーマスターいつもお世話になっております。江村です。
Quit(); を付けるというのは、あくまでも、テストのためです。そこでマクロを中止させて、 document.selection.Collapse(); で本当に選択が解除されているかどうかを確認するためです。実際のマクロには、もちろん、Quit() を付ける必要はありません。Quit() でマクロを中止させ、本当に選択が解除されているかを確認していただけますか?
よろしくお願いいたします。
Yutaka Emuraキーマスターいつもお世話になっております。江村です。
文章の読解力はありますか?
申し訳ありませんが、私は、現在、米国在住の米国人であり、日本語の読解力は低いと言わざるをえません。申し訳ありませんが、箇条書きにしてわかりやすく簡潔に書いていただけると幸いです。
ユーザをなめるのもいい加減していただけますか?
そのように受け取られてしまったのでしたら、大変申し訳ありません。お詫び申し上げます。
なお、yasuji 様のご希望のオプションの追加は検討しております。追加できましたら、ご連絡いたしますので、試していただき、その後、フィードバックがありましたら、またご連絡ください。
この度は、不快な思いをさせてしまい、大変申し訳ありませんでした。
よろしくお願いいたします。
Yutaka Emuraキーマスターいつもお世話になっております。江村です。
確かに問題が再現しましたので、まもなく公開する次のバージョンで修正いたしました。
よろしくお願いいたします。
Yutaka Emuraキーマスターいつもお世話になっております。江村です。
確かに受け取りました。
document.selection.Collapse();
の後に、
Quit();
と書いて、実行したところ、選択はすべて解除されていました。つまり、問題は再現できませんでした。そのようになりませんか?
よろしくお願いいたします。
Yutaka Emuraキーマスターいつもお世話になっております。江村です。
後ろでエンジニアに丸投げしているのは、すでに感じておりますが、江村様で十分に確認ができる内容です。
エンジニアとは誰のことをおっしゃっているのかわかりませんが、EmEditor の本体は、ほとんど私一人で開発しております。丸投げできるエンジニアはおりません。さらに、技術的なメール サポートなど、ほとんど私一人で行っております。
本件ですが、回答が遅くなり申し訳ありません。理由は状況がよくわからないからで、お手数でが、動画を撮って掲載またはお送りいただけないでしょうか? また、お使いの PC の CPU の型番やメモリ容量なども教えてください。
よろしくお願いいたします。
Yutaka Emuraキーマスターいつもお世話になっております。江村です。
ボタンで切り替えるだけでしたら、マクロで可能です。それでよろしければ、マクロを作成しますので、お知らせください。
よろしくお願いいたします。
Yutaka Emuraキーマスターいつもお世話になっております。江村です。
ツール→すべての設定のプロパティのことでしょうか?
「バックアップをバックアップフォルダに保存」などが書かれているところでしょうか?その通りです。
拡張子の設定などは、[ツール] メニューの [設定の関連付け] になります。
よろしくお願いいたします。
Yutaka Emuraキーマスターいつもお世話になっております。江村です。
大変お手数ですが、問題が再現できる範囲で、サンプルをできるだけシンプルにしていただき、サンプル ファイルの例も付けて、再掲示していただけないでしょうか?
なお、複数選択した後に、
document.selection.Collapse();
を実行しただけでは、特に問題は再現できませんでした。
よろしくお願いいたします。
Yutaka Emuraキーマスターいつもお世話になっております。江村です。
こちらでは問題が再現しませんでしたが、何らかの条件があるのだと思います。また、プレビュー版を含め最近のバージョンでこのあたりの動作を改良しておりますので、最新版でお試しいただけると幸いです。
よろしくお願いいたします。
Yutaka Emuraキーマスターいつもお世話になっております。江村です。
お願いがあるのですが、ご質問の意味を正しく理解するため、できるだけご質問だけを明確に書いていただけますでしょうか? AI のこともご質問に関連しているのでしょうか?
希望しています拡張子や行数ごとの設定やプログラミングファイルのように時間おきの別バージョンを細かく作るなどは見当たりませんでした。
ということの多くは、設定のプロパティの [バックアップ] ページで設定できます。
よろしくお願いいたします。
Yutaka Emuraキーマスターいつもお世話になっております。江村です。
念のため、誤解がないように書いておきますと、[検索] ダイアログの [一致する文字列を数える] を設定しておけば、yasuji 様の希望通り、検索対象のテキスト文書の中で検索文字列が重複なくどこに何個出現するかを、ステータス バーに表示します。また、[置換] や [すべて置換] も yasuji 様の希望の動作になります。つまり、[次を検索] とそのほかの動作が異なるということになります。
よろしくお願いいたします。
Yutaka Emuraキーマスターいつもお世話になっております。江村です。
少なくとも Visual Studio では、EmEditor と同様の動作をします。
よろしくお願いいたします。
Yutaka Emuraキーマスターいつもお世話になっております。江村です。
ファイルの自動バックアップは、設定のプロパティの [バックアップ] ページで設定できます。
ワークスペースの自動バックアップは、[カスタマイズ] の [ワークスペース] ページで設定できます。よろしくお願いいたします。
Yutaka Emuraキーマスターいつもお世話になっております。江村です。
メールまたは「お問い合わせ」でご連絡の際に、「不具合の報告のためファイルを送付したいのでアップロード先を教えてください。」と書いていただければ、お知らせいたします。
アップロードした結果のファイルは、弊社しかダウンロードすることはできないため、そのリンクは一般には公開できません。
よろしくお願いいたします。
Yutaka Emuraキーマスターいつもお世話になっております。江村です。
EmEditorの検索においては、上記の条件を用意した場合、[次を検索] (F3) を押下すると、1回目は先頭から1文字目からのAAを選択、2回目は先頭から2文字目からのAAを選択、3回目は先頭から3文字目からのAAを選択、4回目は先頭から4文字目からのAAを選択、これ以上選択できるものがないため検索が終了する(一致する文字列はもうないというメッセージが表示される)という動作になっている。
それで正しいです。
(1)この検索の動作仕様は、何かメリットがあって実装されたのか、または何か当時課題があってその課題を解決するために実装されたのでしょうか?
この動作が通常の動作であり、他の動作は思い付きませんでした。
(2)この検索の動作仕様は(不具合などは抜きで)、EmEditorのどのバージョンから実装されたのか?または初期から搭載されていたのか教えていただけないでしょうか?
初期からです。
(3)検索の動作仕様については、オンラインヘルプ等などに記載されている箇所を教えていただけないでしょうか?または常識の動作のため記載がなくても実用上差しさわりがないということも考えられます。
特に記載されていません。しかしながら、私の知る限り、ほとんどのテキスト エディターは EmEditor と同様の動作をするはずです。その理由ですが、検索の際には、考えられるすべての一致を検索するべきだからではないでしょうか? そうでないと、重要な検索一致箇所を見逃す可能性があります。例えば、
&A&B&C&
という文書があったとします。そこで、
&.&
という正規表現を検索したいとします。
yasuji 様のお考えの動作 (強調表示や、[すべて置換] と同様な検索) だと、
&A&
が一致した直後に、[次を検索] (F3) コマンドを実行すると、
&C&
が一致します。
しかし、ユーザーは
&A&
と&C&
の間にある&B&
も一致されることを期待するはずです。&A&
、&B&
、&C&
の 3箇所の重要性は同じだと考えられます。そこで、[次を検索] コマンドでは、できるだけ多くの可能性を見逃さずに一致させることを意識しています。
しかしながら、yasuji 様のお考えの動作を希望される場合には、オプションの追加も検討いたしますので、再度、その理由も含めてご連絡ください。
よろしくお願いいたします。
Yutaka Emuraキーマスターいつもお世話になっております。江村です。
「正規表現不具合2」の以下の内容については、見落としておりました。回答が遅くなり申し訳ありません。
改行のないテキストファイル(数百キロバイト規模)で任意を含む正規表現で検索すると本来は一致しない文字列にも一致する。緑色マークは正しい文字列をマークしているが、検索選択される文字列はマーク済み以外も検索選択する
これについて回答させていただきます。検索により一致した文字列と、強調表示により一致する文字列とは、必ずしも一致しません。強調表示は、[置換] ダイアログで、[すべて置換] を選択して全置換と動作が似ています。
これを簡単な例で説明しますと、次のようになります。例えば、
AAAAA
という文書があったとします。そこで、
AA
を検索します。すると、最初の4文字の
AAAA
だけが強調表示されますが、[次を検索] (F3) コマンドを実行すると、1個ずつ検索位置がずれて表示されるため、最後のAA
まですべて検索することができます。本件のサンプルと正規表現においても、同様に、強調表示されていない部分に検索結果が一致することもありますが、特に不具合は確認できませんでした。
また、設定のプロパティの [表示] ページに行くには、[ツール] メニューで、[現在の設定のプロパティ] または [すべての設定のプロパティ] を選択してください
よろしくお願いいたします。
Yutaka Emuraキーマスターいつもお世話になっております。江村です。
本件は、さきほど修正しましたので、まもなく公開する次のバージョン (v23.0.913) が公開されたら更新してください。
本件の理由ですが、速度とのバランスです。もっと以前のバージョンでは、常に、スクロール バーが行全体の長さを反映するようになっていました。そうすると、非常に長い行が含まれている場合に、例えば、垂直スクロールが遅くなるという問題や指摘がありました。その問題を回避するため、現在のような動作になっていました。マウスでなく、End キーなどを使用して右に移動した場合には、スクロール バーが行全部の長さを反映するようになり、問題は発生しません。次のバージョンでは、マウスだけを使用してスクロール バーを操作した場合でも、一番右に移動できるように、次のバージョンで修正いたしました。
なお、お願いがあるのですが、サンプル ファイルはダウンロード用のリンクを 1 つだけ書いていただくだけで充分ですので、本フォーラムに長いサンプルを投稿されないようお願いいたします。そのまま投稿しても、文字が変更されてしまいますし、多くのユーザーには無関係の内容になってしまいます。なお、メールでやり取りする際には、弊社指定のアップロードのサイトがありますので、添付ファイルに依存する必要はありません。アップロード先の URL は非公開になっていますので、まずメールかお問い合わせでご連絡いただければ、お知らせします。
よろしくお願いいたします。
Yutaka Emuraキーマスターいつもお世話になっております。江村です。
さきほど公開した v23.0.912 にて高速化しました。
よろしくお願いいたします。
Yutaka Emuraキーマスターいつもお世話になっております。江村です。
本件は、検索文字列の強調表示 (正規表現にマッチする文字列が黄緑色に表示されるもの) が有効になっている場合に、発生する問題だと考えられます。既定では、有効になっていますが、これを無効にするためには、設定のプロパティの [表示] ページで、[検索色] に 0 を指定してください。
しかし、これが有効の場合でも、もっと速く動作するようにならないか最適化してみます。また何かわかりましたら、ここに回答を追加します。
よろしくお願いいたします。
Yutaka Emuraキーマスターいつもお世話になっております。江村です。
さきほど公開した v23.0.911 にてご希望の動作に変更いたしました。
よろしくお願いいたします。
Yutaka Emuraキーマスターいつもお世話になっております。江村です。
正規表現の 10 個以上の後方参照は、次のフォームで可能です。
\k<10>, \k<11>, \k<12>, ...
置換表現では、次のフォームも使用できます:
$10, $11, $12, ...
これらの機能は、v19.1 で追加されました。
https://jp.emeditor.com/text-editor-features/history/new-in-version-19-1/
ヘルプでは、置換表現構文
https://www.emeditor.org/ja/howto/search/replacement_expression_syntax.html
に記載されていますが、誤字がありました。これは修正いたします。Boost でも Onigmo でも記載方法は同じです。
よろしくお願いいたします。
Yutaka Emuraキーマスターいつもお世話になっております。江村です。
問題が再現しましたので、さきほど公開した v23.0.910 で修正しました。
https://jp.emeditor.com/forums/topic/emeditor-v23-1-preview-23-0-901/
原因は、正規表現を使用する [前を検索] が遅くなっていたためです。Boost の Regex は、[前を検索] には対応していません。そのため、アプリ側で追加の処理が必要になるのですが、正確な検索を行おうとすると、前から後方向に検索する必要が生じる場合があり、そのため、1行が非常に長い今回のようなサンプルだと、遅くなっていました。最新版 v23.0.910 では、アルゴリズムの最適化により、[前を検索] も高速化しました。なお、Notepad++ では、正規表現を使用した [前を検索] はサポートされていないため、EmEditor と同列には比較できないと思います。なお、Onigmo の Regex では、[前を検索] には対応されているため、アプリ側で特に追加の処理は必要なく、高速に動作します。
他にも何かお気付きの点がございましたら、ご連絡ください。
今後もよろしくお願いいたします。
- 作成者投稿