テキストエディター「Mery」ベータ版 Ver 2.6.10 を公開、インクリメンタルサーチ機能を搭載

テキストエディター「Mery」ベータ版 Ver 2.6.10 を公開、インクリメンタルサーチを搭載

みなさん、ベータ検証のご協力ありがとうございます。

本バージョンでは、ご報告いただいた不具合の修正およびいくつかのご要望の対応、さらに新機能としてインクリメンタルサーチを実装しました。

前のバージョンのリリース直後にちょっとしたプログラムミスが見つかっていたので、近いうちに修正版をリリースしようと思っていたのですが、それだけの修正でバージョンを上げるのも気が引けたので、他にも色々と改善してみました。

ところで先日、Mery の開発環境でもある Delphi のフル機能が使える Delphi Community Edition が無料化されました。

Windows の 32 ビットアプリケーションの開発のみに制限された Starter Edition はすでに無料化されていましたが、Community Edition では Professional Edition に相当する機能が使えます。しかも 64 ビットアプリケーション、Mac、Android、iOS 向けのアプリケーションまで開発できてしまいます。

まさか 10 数万円で購入した開発環境 (Android、iOS 開発はさらに別途数万円) が無料になる日が来るとは思っていませんでしたので、嬉しさよりもちょっと悲しい気持ちが大きかったですが、ユーザ登録をしてライセンスをいただき、早速インストールしてみました。

Mery の開発環境 (Delphi XE) より断然良いです。

Delphi Community Edition を使えば Mery のプラグインも (もちろん 64 ビット版も) 作れますし、既存のプラグインをカスタマイズすることも可能です。当然のことながら、テキストエディターを開発することもできてしまいます。

簡単に高機能なアプリケーションを開発できる Delphi、みなさんもこの機会に触れてみてはいかがでしょうか?そして、ワタモテ 13 巻を購入してみてはいかがでしょうか?

参考 Kindle (New モデル) を買ったのでレビューと自炊します! - Haijin Boys Online
スポンサーリンク

新機能

冒頭で述べた通り今回は不具合の修正が目的だったのですが、それだけだとあまり興味を引かないかなと思いまして、新機能の [インクリメンタルサーチ] をオマケで実装しておきました。

[インクリメンタルサーチ] 機能を実装しておけば、将来的に「検索バー」のような機能が必要になったときに開発がスムーズに行える寸法です。

フォーラム インクリメンタルサーチと、保存後に編集した行の行番号背景の変化

インクリメンタルサーチ機能

検索する文字列を 1 文字入力するたびに自動で検索を実行してくれる [インクリメンタルサーチ] 機能を使えば、文字を最後まで入力することなく目的の場所に移動できるので、入力の手間や入力ミスを減らすことができます。

インクリメンタルサーチ機能

使い方は簡単で、[検索] や [置換] のダイアログに [インクリメンタルサーチ] の項目が追加されていますので、そこにチェックを入れるだけ。あとは [検索する文字列] に文字を入力するとすぐに検索が実行され、カーソルが目的の位置に移動します。

更新内容

本バージョンではいくつかの不具合修正や改善が含まれています。現在、お使いのバージョンで問題がある場合はバージョンアップで改善されるかもしれません。

「←」記号が [EOF] を非表示にしても表示されていたのを修正

前のバージョンのリリース直後にご報告いただいた不具合です。[EOF] 表記を「←」記号に仕様変更したものの、その記号を非表示にするための機能がプログラムミスで動作しなくなっていました。

修正作業は 30 秒ぐらいで終わったのですが、さすがに「ミスっちゃってた、てへぺろ」って言いながら Ver 2.6.9 をこっそり差し替えたりすると怒られちゃうのでやめておきました。

アウトプットバーにおけるリダイレクト処理の安定性をもっと向上

[外部ツール] で [アウトプットバーを使用する] にチェックを入れると、コマンドラインツールの標準出力をアウトプットバーに表示できるのですが、この機能の安定性をもっと向上させました。

大変な検証作業にご協力くださったみなさん、ありがとうございました。

ご報告いただいた時点では、環境にもよりますが 10 万行ぐらいの標準出力を受けると「応答なし」になったり、データの取りこぼしが発生していました。

今回、研究に研究を重ね独自の解釈で作り上げた「イイ感じ出力」を採用したことで、200 万行以上 のデータで検証しまして、安定性の向上 (応答します) と高速化 (当社比 10 倍です) がされていることを確認しました。(500 万行まで確認)

ホントだよ。

[ファイル] メニューの履歴でステータスバーにフルパスを表示するようにした

コメント欄でご意見をいただきまして、結果、「なくても良い」という方向で話が進んでいましたが、あっても邪魔にならないと思ったので対応しました。

置換の進捗ダイアログを 1 秒おきに更新するようにした

気づいていた方もいらっしゃると思いますが、置換の進捗ダイアログで「~個、置換されました」という部分、1024 の倍数で更新していたんですよね。

これだと置換処理の速度によって更新されるタイミングがバラバラだったり、大きいファイルで置換の速度が遅いときには更新されにくかったりしていました。

置換の進捗ダイアログを 1 秒おきに更新するようにした

1 秒おきに更新するようにしたことで、置換された個数がわかりやすくなりました。

案外、これが一番良い変更点かもしれません。

プラグイン機能の変更点

プラグインから「すべてのテキスト」を取得する "Editor_GetText" メソッドを追加しました。ご要望があったわけではありませんが、文字数カウントや全文解析などに使えるかと思います。

また、以前にフォーラムでご要望がありました「プラグインからエンコードと改行コードを取得・設定する機能」ですが、"Editor_Info" メソッドにて対応しました。

  • MI_GET_ENCODE
    現在のエンコードを取得します。
  • MI_SET_ENCODE
    現在のエンコードを設定します。
  • MI_GET_LINE_ENDING
    現在の改行コードを取得します。
  • MI_SET_LINE_ENDING
    現在の改行コードを設定します。

フォーラム https://www.haijin-boys.com/discussions/3509

マクロ機能の変更点

上記のフォーラムでのやりとりに関連して、マクロのプロパティに "document.LineEnding" を追加しました。これによりマクロから改行コードを取得・設定できるようになりました。

ちょっとした実装漏れですが、マクロのメソッド "ChangeCase" で使える定数 "meCaseCapitalize" (単語の最初の文字を大文字に変換) を追加しました。

その他、細かい修正

例えば [検索] ダイアログの [上を検索] [下を検索] ボタンですが、[前を検索] [次を検索] に名称変更しました。これはメインメニューの項目名と統一したかったのと、縦書きの場合を考えての仕様変更です。

あとは、[検索] ダイアログには [置換 >>] ボタンがあるのに [置換] ダイアログには [<< 検索] ボタンがなかったので追加しました。え、[すべて置換] と間違えて押しちゃうって?

すぐに慣れるよ!

その他にも [検索する文字列] にフォーカスがあるときにEnterキーやショートカットキーで検索した後、[検索する文字列] を自動で全選択するようにしてみたり、[置換] ダイアログでもショートカットキーから [前を検索] できるようにしてみたり、と色々と細かい修正が入っています。

検索でヒットしなかったときにビープ音を鳴らすのをやめた (2018/07/25)

インクリメンタルサーチのときにポーンポーンとビープ音がうるさかったので、検索全般において、そもそもそういう音を鳴らすのをやめました。

置換ダイアログの [選択した範囲のみ] におけるインクリメンタルサーチを修正 (2018/07/25)

コメント欄でご意見をいただきまして、置換ダイアログの [選択した範囲のみ] がオンの場合、インクリメンタルサーチで選択範囲を解除せずに強調表示のみ更新するようにしてみました。

ダウンロード

Mery Ver 2.6.10 (32 ビット版) ZIP Mery Ver 2.6.10 (32 ビット版) インストーラー Mery Ver 2.6.10 (64 ビット版) ZIP Mery Ver 2.6.10 (64 ビット版) インストーラー
VirusTotal で誤検出されたり SmartScreen で保護されたりしますが、もちろんウイルスではありません。ご心配な方は正式版が Vector さんか窓の杜さんで公開されるまでお待ちください。

おわりに

新しいバージョンの Mery いかがでしょうか。地味ですか?そうですか。でも、すっごく大変だったんですよ、[アウトプットバー] の作り直し作業。

コメント欄にて非常に詳細なデータを送ってくださった方々の熱意に影響され、開発用のデスクトップパソコンを 1 台、検証用のデスクトップパソコンを 2 台、検証用のノートパソコンを 2 台並べてストップウォッチを片手に検証作業を行いましたところ、室温が 35 度になりました。

正直申しますと、そこのプログラムは私が作ったものではなく Delphi コンポーネントを使っていただけなので、私の技術力では改善できないのではないかと思っていたのですが…。

結果は使ってみてのお楽しみ!

ちなみに Delphi コンポーネント (DosCommand.pas) は MPL のライセンスなのでカスタマイズした部分のソースは GitHub で公開していますが、Mery 用の魔改造なので通常の用途にはあんまり使えないと思います。

さぁ、夏です!

海ですか…?山ですか…?

私は家で冷たいビールを飲みながらホラー映画を観たいです。

Amazon プライム・ビデオでねっ!

おすすめ ホラー映画も見放題!Amazon プライムが 30 日利用できる、無料体験登録はこちら。

ひぐらしのなく頃に 奉 通常版 - Switch

ひぐらしのなく頃に 奉 通常版 - Switch
エンターグラム
昭和 58 年初夏。山奥の寒村、雛見沢村。連続怪死事件が…にぱー!
Amazon で探す 楽天市場で探す

スポンサーリンク

関連する記事

フォローする

コメント (83)

  1. 検索でヒットした行をまとめて一覧表示する機能なんかがあると助かります。
    該当箇所にいちいちジャンプするのではなく、まとめて見たい場合もありますので。
    その一覧から該当箇所に飛べる機能もあると助かります。

    インクリメンタルサーチ(複数行ヒット)の場合は特に見やすくなるのではないかと。

    イメージとしては、Winのエディタでは思い浮かばないのでMacで恐縮ですが
    「CotEditor 検索」で画像検索すると出てくるような感じです。

     |  名無しさん
  2. >> 名無しさん さん
    コメントありがとうございます。

    確かにそういった機能があれば便利ですね。今後の開発の参考にさせていただきたいと思います。

    現状ですと、MeryWiki に掲載してある「文書から検索」マクロをつかえばそれに近いことができると思います。検索結果から F10 キーでジャンプできますね。まぁ、インクリメンタルではありませんが ^^;

     |  Kuro
  3. すみません、ちょっとインクリメンタルサーチの時にビープ音が鳴るのがうるさいので差し替えますw

    →差し替え完了しました!

     |  Kuro
  4. 更新おつかれさまです。
    ありがたくつかわせていただきます。

     |  ひまお
  5. >アウトプットバーにおけるリダイレクト処理の安定性をもっと向上
    >ホントだよ。

    「KEN_ALL.CSV」にて、連続で10回以上テストしてみました。
    私のパソコンでも、「応答なし」になることが一度も無く、かつ、「取りこぼし」も全く発生しませんでした。
    動作が快適になったように感じました。

    -----------------------------

    仕事中、Meryを利用していてふと思いましたが、変更行(保存前)・変更行(保存後)の表示も、とても良いです。
    編集作業していて、「あれっ?ここ直したっけ?」とか、迷う心配ないですから。

    ありがとうございます。

     |  いっち
  6. >> ひまお さん
    コメントありがとうございます。
    今後とも応援よろしくお願いいたします。

    >> いっち さん
    その節は、いろいろと検証にご協力くださりありがとうございました。いっちさんのおかげで、アウトプットバーの性能を格段に向上させることができました ^^ そして、今回も検証ありがとうございます。

    本バージョンでは、KEN_ALL.CSV をコピーしまくって 500 万行ぐらいの KEN_ALL.CSV を作って検証しましたので、安心してお使いいただけると思います。

    > 変更行(保存前)・変更行(保存後)の表示も、とても良いです。
    ありがとうございます。「変更行 (保存前)」だけなら、多くのテキストエディタで当たり前のように搭載されている機能なので、ちょっとがんばって「変更行 (保存後)」まで作ってみましたが、好反応をいただけて嬉しいです!

     |  Kuro
  7. 更新お疲れさまです。
    前回の更新から間もなくのバージョンアップで驚きましたw

    しかもインクリメンタルサーチ実装とは素晴らしい…。
    早速利用してみて、モダンなエディタのニオイを感じましたw

    インクリメンタルサーチ、便利なので置換の際にも活用したいのですが、その挙動で要望を挙げさせてください。

    置換ポップアップで、「選択した範囲のみ」にチェック、かつ「インクリメンタルサーチ」にもチェックを入れている場合に検索文字列を変更すると、以下のような挙動になると思います。

    ・検索文字列に設定に応じて文字列をハイライト
    ・合致した最初の位置の文字列を範囲選択 (このタイミングで、元々選択していた範囲は解除される)

    これを、以下のようにできないでしょうか。

    ・検索文字列に設定に応じて文字列をハイライト
    ・元々の範囲選択箇所は変更しない

    理由としては、検索文字列を変更するたびにインクリメンタルサーチによって選択範囲が変わってしまうため、任意の範囲を置換直前に再選択する必要が出てくるためです。

    勝手な推測ですが、「選択した範囲のみ」にチェックしていると「次を検索」ボタンがグレーアウトして検索ができないようになっているのは、同じような理由からではないでしょうか?

    もしこの動作ができれば、置換される文字列・置換される範囲を同時に目視しながら検索文字列を作ることができるので、良いなぁ…と妄想しています。

     |  yuko
  8. ↑若干誤字りました...

    誤)・検索文字列に設定に応じて文字列をハイライト
    正)・検索文字列の設定に応じて文字列をハイライト

     |  yuko
  9. >> yuko さん
    コメントありがとうございます。
    気になったら修正せずにはいられないタイプなので、前回からちょっと早めのバージョンアップとなりましたw

    > ・検索文字列に設定に応じて文字列をハイライト
    > ・元々の範囲選択箇所は変更しない

    そういわれてみると、置換の場合にも選択範囲が毎回解除されてしまうのはいただけませんね。素敵なアイデアありがとうございます!早速実装してみたいと思います。

     |  Kuro
  10. ↑さっそく修正しておきました。
    バージョン番号は 2.6.10 のままですが、ご了承くださいませ。一身上の都合により Ver 2.6 系は 2.6.10 で打ち止めにしたいので ^^;

     |  Kuro
  11. おおお!こ…これは…!
    このインクリメンタルサーチ × 選択範囲のみ置換の組み合わせは、想像していた以上に快適で、感動しました!

    早速明日にでも同僚に自慢してきますw

     |  yuko
  12. 素晴らしいソフトをありがとうございます。
    64ビット版zipですが、3,558,908 バイトで合っていますか?
    私の環境では微妙に違う数字が出たもので。
    もちろんウイルスチェックには引っかかっていませんが。

     |  雪三
  13. Meryの最新版を早速ダウンロードさせて頂きました。
    Delphiは高額なイメージがあって手が出なかったのですが、無償化されたんですね。
    Pascalって初めて触るんですが、コーディングの可読性に配慮した構文っぽいですね。
    マルチプラットフォームだし、面白そうです。

     |  fuka
  14. と思って、Delphiについて軽く調べてみましたが、コンポーネントってWindowsAPIのラッパーだけだと思ったら、マルチプラットフォームにも対応したものが用意されているんですね。
    しかもフルネイティブと言うのは、結構興味深いです。
    (Javaみたいに、各プラットフォームごとに微妙にコーディングが違うのだと思っていました)
    UI/UXへの配慮もRADからの操作で対策できるようだし、今ちょっと困っていた地形データのレンダリングにも使えるかも知れません。
    実はDelphiって「ちょっと古い言語」と言うイメージがあったのですが、考え方を改めねばならないですね。

     |  fuka
  15. >> yuko さん
    ご返信ありがとうございます。

    > 想像していた以上に快適で、感動しました!
    私も感動しました ^^ これは便利ですね!アイデア素晴らしいです!

    >> 雪三 さん
    コメントありがとうございます。
    64 ビット版のファイルサイズですが、記事中のファイルサイズの部分を書き直すのを忘れていました。記事のほう、修正しておきました。

    >> fuka さん
    ダウンロードありがとうございます。
    Delphi の無料化は衝撃的でした。Pascal の構文はわかりやすいといわれていて、昔は情報処理の教科書なんかでも Pascal で書かれてたりしましたね。

    簡単なアプリケーションであれば、マルチプラットフォームのネイティブアプリが 1 つのソースでできちゃいますね。(Windows API や Cocoa API みたいな OS 特有の機能を使っちゃうとコードを分けないといけませんが)

    UI の開発においては Delphi はとても優れていて、簡単に高品質な外観のアプリケーションを作ることができますね。Delphi 5 や 6 (18 年前) は非常に人気があってその印象が結構強いので、ちょっと古い言語なイメージがありますね。でも現在でも続いている、非常に歴史のある開発環境ですよー ^^

     |  Kuro
  16. 開発、御疲れ様です。
    凄まじい勢いで使いやすくなっていきますね……。インクリメンタルサーチ、かなりよい感じです。

    いくつか気になることがございましたので、こちらにまとめて書かせて戴きたく存じます。

    ①要望
    サ○ラや○TBも同様の挙動なので、こちらが一般的なのかも知れませんが、行頭や行末で改行した際に、「二行更新」扱いになることに少々違和感があります。
    秀○やE○lipseの場合、行頭・行末、空行での改行は「一行追加した」と見なされます(EmEdit○rは行頭行末で挙動が異なっていました)。個人的にはこちらの方が自然であるように感じます。
    このあたりは人其々な気がしますが、一応、このような意見もあるということで、参考程度に考えてくださればと思います。

    ②要望
    既出の問合せでしたら申し訳ありません、「変換中の文字列を挿入モードで入力」についてですが、検索・置換の入力欄には適用できないのでしょうか?
    さしたる不便は無いのですが、普段「挿入モード」に慣れておりますので、こちらも同じ感覚で入力できればより便利に感じます。

    ③不具合?
    DirectWriteを有効にした際に、U+007F(DEL)やU+200B(幅無スペース)をいくつか続けて入力した後から通常の文字入力をすると、何だか愉快な字面になります。
    U+2060~4でも同様の事象が発生しますが、他方、U+2050~9はDW有効時のみ正しい図形(?)が表示されます。
    なお、U+00A0(NBSP)は問題ありませんでした。
    DW側の問題なのかも知れませんが、もし可能でしたら、解消して頂けますと幸いです。

    更新の止まったソフトも多い中、これ程に進化を続けるエディタは貴重な存在だと思います。今後の更新も楽しみにお待ちしております。

     |  迷
  17. >> 迷 さん
    コメントありがとうございます。
    ちょっと頻繁に更新しすぎてしまったので、しばらくお休みをいただこうと思います (w

    > ①要望
    そうなんですよね。これは仕様を決めるときに色々なエディタを調査しまして、秀〇さんのように 1 行扱いになるエディタがあることも知っていました。Mery はなるべく Windows の一般的な仕様に準拠しますので、Microsoft 製品である Visual Studio の動作を正としました。(私の愛用する Delphi も同様の仕様です)

    > ②要望
    [変換中の文字列を挿入モードで入力] は Windows の機能として用意されているものではなく、Mery のエディタエンジン専用に私が開発した仕組みなので、エディタエンジンを使用していない普通の入力欄などには残念ながら適用できません。

    > ③不具合?
    DirectWrite の仕様上、正常に描画できない文字はたくさんあります。これらはフォントによるものや、文字の組み合わせによるもの、ロケールによるものなど多種多様で、すべての文字を正しく描画することはほぼ不可能だと思います。描画がおかしい文字は見つけ次第、都度ひとつづつ手動で対応するしかないので、なんか変な描画になっていたら「あらあらウフフ」と思ってやってください ^^;

    DirectWrite の描画で問題があるようでしたら、DirectWrite をオフで使用していただくしか対策がない状態ですのでご了承くださいませ。(Windows 10 だと DirectWrite オフでも文字は結構きれいですよ)

    > 更新の止まったソフトも多い中、これ程に進化を続けるエディタは貴重な存在だと思います。今後の更新も楽しみにお待ちしております。
    ありがとうございます。今後とも応援よろしくお願いいたします。

     |  Kuro
  18. >> 迷 さん
    【追伸】DirectWrite の件は根本的な対策はありませんが、ご報告いただいた文字はその都度、一文字ずつ特別対応 (できる範囲ですが) はしていますので、今回の U+007F と U+200B と U+2060 ~ 4 は対応しておきますね。

     |  Kuro
  19. タイトル:2.6.10
    トップ絵:2.6.10.1
    ダウンロード:2.6.10
    プログラム:2.6.10

    2.6.10.1ってなに?

     |  亜鉛
  20. >> 亜鉛 さん
    7月25日にちょっと修正したので .1 をつけました。「更新内容」の最後の辺に追記してます。

    トップの絵はいつも記事を見てくれているユーザさんにわかりやすいように、公開初日のものとは色をかえて 2.6.10.1 としてみました。プログラムのバージョンは 2.6.10 で正しいです。

     |  Kuro
  21. Kuroさん

    わかったようなわからないような…。
    投稿前に 2.6.10.1 で検索したものの見つからず、更新内容の最後の辺というのもどれかわかりませんでした。
    つまりは 2.6.10 の公開後に、更にプラスアルファがあって 2.6.10.1 になったということでしょうか。

    いつも見に来ない人にもわかるようにしてもらいたいです。

     |  亜鉛
  22. >> 亜鉛 さん
    記事中の「更新内容」のところに 2018/07/25 の更新内容を追記しています。

    > つまりは 2.6.10 の公開後に、更にプラスアルファがあって 2.6.10.1 になったということでしょうか。
    はい、そういうことです。

    > いつも見に来ない人にもわかるようにしてもらいたいです。
    そういうかたは MeryWiki で公開している正式版をご利用いただければと思います。

    本ブログで公開しているのはベータ版で、コメント欄やフォーラムでみなさんとやり取りしながら、気分次第で適当に更新していくスタイルなのでご了承ください。(2.6.10.1 の公開に至った経緯もコメント欄を読んでいただければわかると思います)

     |  Kuro
  23. Kuroさん

    そこは読んだんですが、差し替えとか2.6.10.1という記述がないため判断ができませんでした。

    作者さまの開発されるもので、公開される場所ですし、そう言われてしまっては返す言葉はありません。
    不本意ではありますが、言われたとおりベータ版に手を出すのはやめておきます。
    申し訳ありませんでした。

     |  亜鉛
  24. なにやら殺伐とした雰囲気が…

    フリーウェアの公開自体が好意以外の何者でもない中で、ベータ版の更新履歴までこれだけ綺麗に楽しく記事にしてくださっている時点で、私としては感謝しかないです!

     |  yuko
  25. あまり重要ではありませんが気になる事象があったのでコメントしておきます。

    Mery(64bit)を2.6.7→2.6.10にバージョンアップしたのですが、
    ウィンドウサイズ、位置が記憶されなくなりました。
    (サイズ変更、場所移動をしても次回起動時には初期状態にもどる)

     |  いそ
  26. >> yuko さん
    そう言っていただけるとありがたいです!確かにフリーソフトということで勘弁してね的な考えはなくもないですが、正直、普段見ない人のための記事を書くより、いつも見てくれる人のための記事を書いたほうがベータ版のフィードバックもいただけますし、SEO 的にも効率が良いのでw

    でも、記事中にもありますが「ミスっちゃってた、てへぺろ」ってファイルを差し替えたときは、よくお叱りのコメントをいただきます。

    今回はわかりやすいように記事の更新日時も変更し、トップの絵も変更し、変更内容も追記して、変更した旨をツイッターで流しましたがダメでしたね ^^;

    >> いそ さん
    コメントありがとうございます。

    Ver 2.6.10 で確認してみましたが特に問題ないようです。ウィンドウサイズの記憶・復元に関しては 2.6.7 からプログラムを変更していませんので、お手数をおかけしますが設定のご確認をお願いできますでしょうか。

    [ツール] メニューの [オプション] から [基本] タブのなかの [ウィンドウの位置とサイズを復元] にチェックが入っているでしょうか?

    チェックが入っている場合、その右側にある「...」ボタンで [ウィンドウ位置とサイズ] のダイアログを表示しまして、その中の値がすべて「0」になっているかどうかご確認ください。(ここが 0 以外だと、ウィンドウ位置が固定されます)

     |  Kuro
  27. MeryのZIP版を使用しています(ポータブル&非常駐)。
    外部ツール設定でMery.exeから(? Mery.iniから?) の相対参照でコマンドやアイコンのパスを指定するばあい、うまくいくときといかないときがありますが、Meryを開いたときにMeryフォルダのパスが作業フォルダとしてとおっているかどうかで違ってくるみたいですね。
    外部ツールの登録・編集時に相対参照を使うばあい、つねにMeryフォルダからの相対参照になるとよいのですがいかがでしょうか?(%appdata%\Meryを使うインストーラ版との兼ね合いとかで問題あるのかなぁ…)

    以下、ZIP版で確認した「外部ツールの登録・編集時の挙動」を書いておきます。

    Meryフォルダを作業フォルダに指定したMery.exeのショートカットやランチャから起動したばあいは(空での起動でもファイルのドラッグ&ドロップでも)コマンドやアイコンを相対参照で指定できて、テキストファイルなどを直接ダブルクリックしてOSの関連付けでMeryを起動したばあいは相対参照ができないようです。

    ファイルのダブルクリックから起動したときは、最初に開いたファイルの親ディレクトリが外部ツールの登録・編集時の相対参照元のカレントフォルダになるようですが、登録済みの外部ツール実行時のコマンドやアイコンのパスはMeryフォルダからの相対参照のようですね。

    レジストリの [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\Mery.exe] でMeryのパスをとおして "PATH"= でMeryフォルダを指定してみてもだめなようです(そもそもレジストリをいじるんじゃポータブルモードの意味が…)。

    Meryを空で起動して相対参照での登録ができていれば、それ以後はファイルのダブルクリックからMeryを起動したばあいでも相対参照で登録したコマンドのパスはきちんと適用されるようです。
    アイコンについてはインデックスが指定されないので、Mery側の規定のアイコンのままになりました。
    → 絶対参照(フルパス)で外部ツール登録したあとで、Mery.iniをいじって相対参照パスとアイコンインデックスに書きかえてもうまくいくようです。

     |  ぽい
  28. ご丁寧な返答、有難うございました。

    Eclipseの仕様って、ひょっとしたらIDEでは少数派かもしれないんですね。MSVSはプロ生ちゃんIDEを導入したら満足してしまい、あまり使ってませんでした……。

    検索・置換欄の件も承知致しました。
    可能だったらとっくに対応されているだろうとは思っておりましたが念のためお伺いした次第です。お手数お掛けしました。

    Directwriteの件はご修正いただけるとの事、有難うございます。
    特にU+200Bは某SQLソフトでNULLの表記に使われますので、修正いただけるのは有難いです。

     |  迷
  29. 中身が違うなら(更新されているなら)バージョン番号も更新してほしいなというのは素直な感想だと思います。
    そうでないとバージョンの意味がなくなってしまうので。

    バージョン番号がついている以上、それを参考に判断するのは当然だと思うし。
    付いてなければ日付なりサイズなりハッシュ値なりで判断するでしょうけど。

     |  名無しさん
  30. >> ぽい さん
    ご愛用ありがとうございます。
    外部ツールの設定の件、確認してきました。

    ちょっと把握できていない部分があるので確認させてください。

    まず、外部ツールの [コマンド] の部分で相対パスを指定した場合、Mery.exe からの相対パスとして実行されます。これは関連付けから開いたときでも関係なく Mery.exe からの相対パスから実行するように作ってます。

    で、ご指摘の内容は【登録・編集時】ということですが、これは [外部ツールの設定] → [プロパティ] の画面で入力するとき、ということだと思うのですが…

    [コマンド] の欄は特に入力チェックなどはないので、相対パスでも受け付けてくれるようなのですが、何か問題がありますでしょうか?

    それから、[アイコン] の部分ですが、これは確かに絶対パスしか受け付けてなくて、相対パスだとアイコンの選択欄に絵が出てこないので選べませんね ^^;

    つまり、[アイコン] の入力欄で相対パス (Mery.exe からの) で指定できたらイイってことですかね?(間違っていたらスミマセン…)

    >> 迷 さん
    ご返信ありがとうございます。
    eclipse は私も仕事で使うので Mery を作るときにもたまに参考にしてますね。特に eclipse 系の Aptana Studio には影響を受けてます。

    でも一応、Windows 用のテキストエディタってことで仕様は メモ帳 > Office 系 > Visual Studio 系、な優先度で参考にさせてもらってます。

    > 検索・置換欄の件も承知致しました。
    いいえー。トゥルーインライン入力はほんとに便利な機能なので、あらゆる場面で使いたくなりますからね。Chrome ブラウザとかだとすべての入力欄で対応されていてスゲー!って思います。OS の標準機能として MS が対応してくれたら良いんですけどね…。

    > 特にU+200Bは某SQLソフト
    そうだったのですね。ゼロ幅スペースってエディタによって実装が色々なのですが、文字通りゼロ幅にするのと、わかりやすいように半角スペース分空けるのとどっちがお好みでしょうか?(某 SQL ソフトって Object Browser?どんな表示になるのか気になります)

    >> 名無しさん さん
    コメントありがとうございます。
    そうですね、以後、気を付けようと思います。

     |  Kuro
  31. @kuroさん
    > [コマンド] の欄は特に入力チェックなどはないので、相対パスでも受け付けてくれるようなのですが、何か問題がありますでしょうか?
    > [アイコン] の入力欄で相対パス (Mery.exe からの) で指定できたらイイってことですかね?

    たしかに「コマンド」のほうは問題なく相対参照できているようですね。
    おなじEXEファイルへの相対参照パスを「アイコン」指定欄に入力しても反映されないので、「コマンド」の登録にも問題があるような認識になっていました。
    Meryの起動条件で「アイコン」指定欄で相対パスがとおらない状態でも「コマンド」に登録した相対パスの外部アプリは起動可能でした。
    おっしゃるとおり、どうやら「アイコン」の入力欄だけの問題のようです。

    個人的には相対参照でアイコンを登録できる条件も割り出せているのであまり差しつかえはないのですが、ご報告までにということでひとつ :)
    マクロで外部アプリを呼び出すスクリプトを書くよりも外部ツールに登録するほうがハードルが低いので、初心者?向けに混乱のない仕様のほうがよいのではないかということで、よろしくお願いします。

    あとインストーラ版を利用していないので理解があいまいなままでしたが、どちらの場合も相対参照元はMery.exeということみたいですね。
    できましたら、オンラインヘルプにも説明を追加していただければとおもいます。

     |  ぽい
  32. インクリメンタルサーチは英文とかだと便利なんだけど、日本語だといまいちなんだよなぁ。
    Migemoに対応する予定はあるでしょうか?

     |  foo
  33. 更新作業お疲れ様です。

    wiki の開発室に記載されている項目について、
    > ワークスペース保存・復元 ~ 検討 … 備考: [元に戻す] 情報も保持する必要ある?
    レジューム機能のようなもののことだと読んだ気がしますが、それで良いですか?

    > スクロールバーに検索色付け ~ 検討 … 備考: 基礎はできたけど動作速度が実用レベルに達しない
    スクロールバーに変更箇所の色付けをすることも同様に難しいのでしょうね?
    例えば、アウトラインでの色付けやマーク付けをすることも処理が重くなるだけかな?

    > ミニマップが欲しい ~ 検討 … 備考: 面白そうだけど大変そう
    > 集中執筆モード ~ 検討 … 備考: 私の要望
    これはどういう機能なのでしょうか?

    > 矩形選択をがんばる ~ 検討 … 備考: がんばれない
    > 矩形選択で文字入力したときにイイ感じに入力されると良い ~ 保留 … 備考: 作ってみたけど問題多すぎ
    (これは単なる感想)矩形選択は今の機能で十分な気がしますが、要望はいろいろとあるんだなー。

     |  ARC
  34. > メモ帳 > Office 系 > Visual Studio 系、な優先度で参考にさせてもらってます。
    もはや「メモ帳よりも"ちょっと"いいもの」とは言えない程進化している気もしますが、やはりメモ帳が最高優先度なのですね……w。でも確かに設定画面などのシンプルさはメモ帳精神(?)を受け継いでいる気がします(メモ帳は設定画面自体ありませんが)。

    > OS の標準機能として MS が対応してくれたら良いんですけどね…。
    全くですね。極東の言語は後回しなのか……。

    > 文字通りゼロ幅にするのと、わかりやすいように半角スペース分空けるのと
    その二択ですと、個人的には半角ある方が好みです。ただ、慾を言うとDirectwrite無し状態のMeryのように、「半角ほどではない何か」が理想です。

    > どんな表示になるのか気になります
    某ソフトはA5:S○L Mk2ですね。出力結果をコピペすると、NULLは「U+200B + "(NULL)" + U+200B」になります。(文字列で「(NULL)」が入っている場合と区別するためだそうです)

     |  迷
  35. >> ぽい さん
    > どうやら「アイコン」の入力欄だけの問題のようです。
    了解いたしました。

    > どちらの場合も相対参照元はMery.exeということみたいですね。
    そのようですね。ただ、相対パスで指定できるように作ってあるのか、たまたま相対パスでも動いているだけなのか調査してみないとわかりません。外部ツールの部分を作ったのは数年前なので忘れちゃってますね…

    とりあえずアイコン入力欄は仕様を確認の上、対応できそうであれば修正してみます。

    > できましたら、オンラインヘルプにも説明を追加していただければとおもいます。
    できれば絶対パスをオススメします。

    相対パスでの指定は Windows の仕様上、カレントディレクトリの変更が伴いますので、詳しくない人が使うと不具合のもとになります。ヘルプには書かずに、知っている人は自己責任で使ってね的な感じになるかなと思います。

    >> foo さん
    コメントありがとうございます。

    > インクリメンタルサーチは英文とかだと便利なんだけど、日本語だといまいちなんだよなぁ。
    確かに日本語だと逆にうざったくなりますね。
    おー、Migemo って名前は聞いたことがありました。これは面白そうですね。
    Delphi のサンプルとかが落ちてたら挑戦してみてもイイですね。
    (軽くググってみたけどサンプルないのー)

    >> ARC さん
    コメントありがとうございます。

    > レジューム機能のようなもののことだと読んだ気がしますが、それで良いですか?
    その通りです。

    > スクロールバーに変更箇所の色付けをすることも同様に難しいのでしょうね?
    変更行の色付けは行単位なのでそれほど負荷はないと思います。

    色分け、マーカー、検索色付けは、画面上ではすべて色がついているように見えますが、実は、高速化のために画面に表示されている部分だけをリアルタイムで分析して色付けしているんです。

    スクロールバーにこれらを描画するとなると、文章全体を解析してマーカー、検索の色付けを処理してスクロールバーに色付けし、さらに一文字変更があるたびにすべての解析をやり直すことになるので非常に動作速度が遅くなってしまいます。

    > ミニマップが欲しい ~ 検討 … 備考: 面白そうだけど大変そう
    > 集中執筆モード ~ 検討 … 備考: 私の要望
    > これはどういう機能なのでしょうか?
    ミニマップは上記の「スクロールバーに色付け」の延長で、スクロールバーをもうちょっとでっかくして、変更行や検索、マーカーなどのいろんな情報を色で表示する機能です。

    集中執筆モードはフルスクリーンモードのもっとシンプルな画面のやつで、全画面表示にしてツールバーやタブなどを完全に非表示にして画面上に編集エリアのみ表示し、執筆に集中できるモードです。テキストエディタでは OMMWRITER や Mac の Stone などがイメージ的に近いです。(喫茶店でノート PC で執筆とかしてて、カッコイイ!ってなる感じのクールな画面の予定です)

    > (これは単なる感想)矩形選択は今の機能で十分な気がしますが、要望はいろいろとあるんだなー。
    そうなんですよね。Mery は矩形選択はあまり得意ではないので表に出していませんし、エディタコンポーネントの仕様上、対応がすごく難しい部分です。

    >> 迷 さん
    ご返信ありがとうございます。

    > やはりメモ帳が最高優先度なのですね……w。
    ですですw テキストエディタってどちらかというとプログラマーさんとかが使うイメージが強くて、どうしても機能や画面のクセが強くなってしまう傾向があります。

    最近はそういうのって Atom や VS Code 使えばいいじゃん!っていう傾向で、マニアックに多機能化しちゃったテキストエディタはけっこう死にかけてますから、Mery は逆の発想で初心者が感覚的に、簡単に、気軽に使えるメモ帳を目指してます。

    > その二択ですと、個人的には半角ある方が好みです。ただ、慾を言うとDirectwrite無し状態のMeryのように、「半角ほどではない何か」が理想です。
    なるほど。秀〇さん (DirectWrite) では半角スペース、E〇さん (DirectWrite) ではゼロ幅、メモ帳 (DirectWrite 無し) ではゼロ幅でしたが、もうちょっと検討してみますね。

    > 文字列で「(NULL)」が入っている場合と区別するためだそうです
    ふむふむ、フリーでこんな SQL ツールがあったのですね。しかも Delphi 製っぽいですね。これは良いものを教えてもらいました!^^

     |  Kuro
  36. >ふむふむ、フリーでこんな SQL ツールがあったのですね。
    けっこう有名かと (^^;

    以前から少し疑問だったのでお尋ねするのですが、SQL整形の SQLFMT.DLL ですが、
    複雑なクエリは整形しきれないことがありますよね。

    なので、コマンドラインから呼べる、
    A5M2cmd_2.11.0_beta3(同所のベータに以前あった整形部を切出したもの、今は無いようです)
    anbt-sql-formatter (sonota さんの java→ruby ポート)
    SQLConvert
    などを、マクロから呼出して整形してます。
    Kuro さま的には SQLFMT.DLL で事足りてらっしゃるのかな?

     |  通りすがり^2
  37. >> 通りすがり^2 さん
    そう言われてみると、昔、Mery に SQL 整形機能を搭載しようとした時に A5:S○L Mk2 の作者さんのサイトを見た気がします ^^;

    作者さんが使われている ActiveQueryBuilder っていうコンポーネントが SQL 整形機能やクエリビルダとか搭載されていてスゴイんですけど値段も結構するんですよね。

    > SQLFMT.DLL ですが、複雑なクエリは整形しきれないことがありますよね。
    そうですね。ストアドとかだとダメな時があった気がします。

    > Kuro さま的には SQLFMT.DLL で事足りてらっしゃるのかな?
    私はずっと SI Object Browser を使っていますが、当時、Object Browser に SQL 整形機能がなかったころ (Ver 9 以前かな) に、SQL 整形ツールが欲しくて Mery に搭載したのが sqlfmt.dll です。

    Object Browser に SQL 整形機能が搭載されてからはもう Mery の SQL 整形は使ってませんね。(家で趣味で MySQL とかいじるときはたまに使ってますがw)

    SQL 整形ライブラリって色々あるのですが、ライセンスが厳しいものばかりで自由に使える (といっても同梱はできませんが) のが sqlfmt.dll ぐらいなんです。Poor Man's T-SQL Formatter というライブラリが性能は良さそうなのですがライセンスが厳しくてね…。

     |  Kuro
  38. ご回答ありがとうございます。
    機能について理解しました。

     |  ARC
  39. なるほど、です。ライセンスは悩ましいところですね。

     |  通りすがり^2
  40. Meryさんの話題でなくて恐縮ですが、 A5:S○L Mk2 さんの Beta ページから、

    >2018/8/6
    >コマンドライン版
    >以前、ベータ版で公開していたコマンドラインでSQLの実行やインポート・エクスポートなどを行うツールを開発再開

    Delphi 使いさんが元気なのは嬉しいですね、ということでご容赦を (^^;

     |  通りすがり^2
  41. おくれはせながら、インクリメンタルサーチがとても便利で重宝させていただいております。
    いつもありがとうございます。

     |  ハジメ
  42. >> 通りすがり^2 さん
    全然オッケーです。
    A5:S○L Mk2 さん、すごい勢いで更新されてますねー。

    Delphi の盛り上がりに便乗して Mery も更新したいところですが、なかなかやる気が起きなくて…。一応、ちょろっと要望対応とバグフィックスをしていますが、公開するほどの内容でもないですし、記事を書く元気もナッシング。

    >> ハジメ さん
    コメントありがとうございます。
    インクリメンタルサーチ、使ってくれてありがとうございます。あまり目立たない機能ですし、日本語入力だとビミョーなので、そう言っていただけると少し気持ちが楽になります ^^

     |  Kuro
  43. いつもお世話になっております。
    趣味の物書きにMeryを使わせて頂いてます。縦書き便利です。軽くて字が見やすいので大変重宝しております。
    個人的な欲を言うと縦書き時の最大サイズ時に末行が真ん中あたりにもってこられると
    視線が真ん中に固定されるため前後が見やすくありがたいなあとおもいます。
    もし設定等で可能であったらスイマセン。

     |  あ
  44. >> あ さん
    ご愛用ありがとうございます。
    縦書き機能は開発に非常に時間がかかったところなので、使っていただけてうれしいです。

    > 縦書き時の最大サイズ時に末行が真ん中あたりにもってこられる
    最終行が画面の中央付近ということは、画面の左半分は余白ということになるのでしょうか…?ちょっと動作が想像できないので、よろしければそういった機能のあるエディタ (ワープロソフトでも可) があれば、教えていただけますと今後の開発の参考にしてみたいと思います。

    ご希望通りの機能ではないと思いますが、視線の移動を抑えたいということでしたら以下の 2 通りの方法が考えられます。

    (1) スクロールマージンを調整する
    スクロールマージンというのは縦書きの場合ですと、常に見えている左右の行数 (デフォルトでは 3 行) ですが、これをもう少し多く表示するようにすれば、視線は画面の左端を見なくて済みます。

    (2) キャレット位置の行を画面の中央にするマクロを使う
    ボタン一発でキャレット位置の行が画面の中央にスクロールするマクロを使えば、スクロールマージンより便利かもしれません。

    上記の 2 つの方法は、以下のフォーラムで具体的な方法を記載していますのでお試しくださいませ。
    https://www.haijin-boys.com/discussions/3295#discussion-3300

     |  Kuro
  45.  横入り済みません。

     多分、あさんのおっしゃっている事は、WORDでの半ページ送りの事ではないでしょうか?

     可能なソフトウェアは、有料の物でWORD、秀丸があり、

     一行を残し、全てのページを送れるのは一太郎、エムエディター(要設定)があります。

     無料の物でTATEditor、TeraPadがあります。これも一行を残して全てページを送れます。

     最後になりましたが、kuro様、Meryのような素晴らしいソフトウェアを公開して下さって、本当に感謝しております。

     |  和七郎
  46. >> 和七郎 さん
    情報ありがとうございます。

    Word、秀〇、TeraP〇d で確認してみたのですが「半ページ送り」という機能がどこにあるのかわかりませんでした ^^; (TeraP〇d で半ページスクロールというのがありましたがコレとは違いますよね…)

    「ページを送る」という動作は、キーボードの PageUp、PageDown のスクロールとは別のものを指しているのでしょうか?

    もし、スクロールのことでしたら Mery でも PageUp、PageDown で一行を残して次のページにスクロールしますが、これとは違いますか?スクロールでしたら、半画面スクロールもマクロにて対応することが可能です。(参考フォーラム: https://www.haijin-boys.com/discussions/3559)

    でも、あさんのおっしゃっている感じですと、最後の行が自動で常に画面の真ん中あたりにある機能、という意味合いが強いようなので、やはり Word や秀〇さんにはそういった機能があるのでしょうね。ググってみても「半ページ送り」なる機能がヒットしないので、お手数をおかけして恐縮ですが、その設定方法を教えていただけますと助かります。

     |  Kuro
  47. >Word、秀〇、TeraP〇d で確認してみたのですが「半ページ送り」という機能がどこにあ>るのかわかりませんでした ^^; (TeraP〇d で半ページスクロールというのがありました>がコレとは違いますよね…)

    興味があったので、調べてみました。秀〇の巻き
    その他⇒動作環境⇒表示/操作⇒PageUp/PageDownでスクロールする量
    ⇒1/2ページ
    ではないでしょうか? 普段縦書きは使わないのでスクロールマージンは
    余り気にしていません。

     |  tisi
  48. >>Kuro様

     横から入った割には、間違えた情報を提供してしまい、大変申し訳ありません。「半ページ送り」という言葉はないのですね。

     イメージとして最も分かりやすいのは、横書きになってしまいますが、EmEditorで、
     [ツール→現在の設定のプロパティ→スクロール→1頁の垂直スクロールを常に有効]
     このチェックボックスをON、OFFしてみるのが一番分かりやすいのかもしれません。
     有効にすると、EOF行が一番上にくるまでスクロール出来ます。

     |  和七郎
  49. >> tisi さん
    コメントありがとうございます。

    秀〇さんで確認してみましたが「PageUp/PageDownでスクロールする量」という項目はその名の通り PageUp、PageDown でスクロールする量を 1/2 ページにするだけの機能のようですね。(これなら先日の回答に貼ったリンクのマクロで対応可能ですね)

    私も、もう少し秀〇さんの設定を調べてみましたところ、[動作環境] → [表示/操作] → [カーソル操作] で、「カーソルでスクロールする開始位置」という項目があり、ここの [%指定] で「50%」にしてみると半分のページ送り (自動) っぽい動作になりました。(でも、これも Mery ではスクロールマージンを最大値に設定すれば同様の動作になりますね)

    あさんのご意見が聞ければモヤモヤが晴れるのですが… ^^;

    >> 和七郎 さん
    コメントありがとうございます。

    いいえー、私のほうこそテキストエディタを開発していながら機能について詳しくなくてすみません。秀〇さんとか E〇Editor さんは設定項目が複雑すぎてサッパリ…。

    E〇Editor さんで確認してみました。なるほど、確かにその設定を ON にすると最終行が一番上に来るまでスクロールできるようになりました。

    秀〇さんでも確認してみたところ、標準で最終行が画面の半分ぐらいまでスクロールできるようになっていたのですね。TeraP〇d さんは一行を残して全てページ、なるほど!ようやくわかりました。

    私の思っていた機能とはやはり違っていたようですね。確かにこの動作なら、あさんがおっしゃっていた「末行が真ん中あたりにもってこられる」という表現のとおりだと思いました。

    これなら Mery でも対応できる気がします。需要がありそうなら作ってみようと思います。

     |  Kuro
  50. Mery愛用させていただいてます。CSSのフォント指定のような感じで、欧文フォントと和文フォントを併用(英数字と日本語で別のフォントを設定)できるようにすることは可能でしょうか? フォントリンクが上手くいかないことがあり、Meryで気軽に設定ができるようであれば大変嬉しいです。

     |  支倉
  51. >> 支倉 さん
    ご愛用ありがとうございます。
    申し訳ございません、Mery では英数字と日本語で別のフォントを指定することはできません。

    > Meryで気軽に設定ができるようであれば大変嬉しいです。
    以前にもご要望があって開発に挑戦してみたことがあるのですが、自前で実装するとどうしてもフォントリンクよりも動作速度が遅くなってしまい実用レベルには達しませんでした。

    フォントリンクがうまくいかないときは、レジストリの FontSubstitutes (HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontSubstitutes) のほうで何か別の値が指定されていてそちらが優先されていることもありますね。

     |  Kuro
  52. お返事ありがとうございます。やっぱり重くなりますか~。FontSubstitutes調べてみます。日本語フォントはいろいろ難しいですね^^;

     |  支倉
  53. Meryのヘルプについて、オプション項目の個別説明があると、ありがたいです。

     |  f
  54. Kuro様

     縦書きで、文章を範囲選択したまま、マウスポインタをウインドウ左端に持って行くと、スクロールが始まりますが、同じことを右方向にした場合、スクロールが開始されません。
    この現象は、横書き(上下)では発生しません。

     |  和七郎
  55. すいません。言葉足らずでわかりづらかったですね。お手数をおかけしました。
    ほかの方のおっしゃられている
    >最終行が画面の半分ぐらいまでスクロールできるようになっている。
    これがほしかったのです。
    とりあえず、scrollMagineを設定しまして自分の好みの感じになりました。ありがとうございます。

     |  あ
  56. >> 支倉 さん
    ご返信ありがとうございます。
    ほんと、日本語フォントは難しいです ^^;

    以前は日本語フォントと英語フォントで個別に指定する機能のついているテキストエディタもあった気がしますが、最近はユニコード化の影響でユニコードに対応したフォントも増えてきて、どこまでが日本語でどこまでが英語かっていう区別も難しいです。

    「A~Z だけは英語フォントを使うよ」って感じの仕様なら動作速度にそれほど影響なく実装できると思いますが、CSS みたいな感じにしようとすると、とりあえず英語フォントで描画してみて描画できなかったら (フォントリンクが発動したら) 日本語フォントで描画、みたいなことになるので、最初からフォントリンクを使えばいいじゃない?ということになってしまいます ^^;

    >> f さん
    コメントありがとうございます。

    なるべく Windows の一般的な言葉とか有名なテキストエディタのオプション項目に合わせてわかりやすさを優先しているつもりではありますが、確かに、テキストエディタの世界でしか使われないような単語も含まれていて、初めてテキストエディタに触れるかたからするとわかりづらい項目がありますね。

    Mery のヘルプ自体もちょっと内容が古いままなので、開発作業がひと段落したら改善してみようと思います。

    >> 和七郎 さん
    ご報告ありがとうございます。こちらの環境でも確認しました。

    どうやら、縦書きで[ルーラ]を非表示にしていて、さらに[ウィンドウの右端で折り返し]になっていて (右側にスクロールバーが表示されていない状態)、なおかつ[全画面表示]のときに、マウスを右端に移動してもスクロールの判定エリアに届かないのでスクロールが開始されないようです。

    次のバージョンでは修正しておきますね。
    (もし、上記の条件じゃない場合でもスクロールできない場合は教えてください ^^;)

    >> あ さん
    ご返信ありがとうございます。

    >最終行が画面の半分ぐらいまでスクロールできるようになっている。
    なるほど、そうでしたか。勘違いしており、間違った対処法をお伝えしてしまい申し訳ございませんでした。スクロールマージンでご対応いただけたようで良かったです。

    でも、「最終行が画面の半分ぐらいまでスクロールできるようになっている」機能 (なんていう機能なのかわかりませんが ^^;) は、ほかのテキストエディタでも実装されているようで、目からウロコでした。

    今まであまり指摘されたことがなかった部分なので、需要がどれぐらいあるかわかりませんから、とりあえず隠し機能 (ScrollMargin の指定みたいな感じで INI 直書き) で次のバージョンで実装してみようと思います。

     |  Kuro
  57. Kuro様

     素早い返事、ありがとうございます。
     こちらの環境では、全画面表示ではなくても、範囲選択をしながらの右スクロールは出来ないようです。

     |  和七郎
  58. >> 和七郎 さん
    ご返信ありがとうございます。
    あら、、、私の確認した現象とは異なるようですね。

    もう少し詳細な調査が必要になりそうですので、よろしければお使いの Mery のバージョンと Windows のバージョンを教えていただけませんでしょうか?

     |  Kuro
  59. Kuro様

     色々お手数をおかけして申し訳ありません。

    Windows 10 Home バージョン1803 OSビルド17134.228

    Mery(x64) v2.6.10

     |  和七郎
  60. >> 和七郎 さん
    ご返信ありがとうございます。

    こちらでも、ほぼ同様の環境で全画面表示以外では動作に問題ないことを確認しました。
    マウスをさらにもっと右にもっていくとスクロールしませんか?

    それでもスクロールしない場合は何か別の問題があるのかもしれません。(常駐アプリとの競合など)

    その場合、思っていた不具合とは異なるようなので、次のバージョンでも改善できないかもしれません。

    他に何か細かいことでも構いませんので、設定などお気づきの点がありましたら情報をいただけると調査の参考になりますのでよろしくお願いいたします。

     |  Kuro
  61. Kuro様

     今、色々やってみた所、ウインドウを最大化状態では、やはり右側にスクロールはしません。
     それで、今度は最小化したところ、右スクロールが出来るようになりました。

     常駐させているソフトとしては、Meryと秀丸、後はesetのセキュリティソフトくらいでしょうか。IMEはATOKです。

     |  和七郎
  62. >> 和七郎 さん
    ご確認ありがとうございました。

    最小化 (通常のウィンドウの状態) では右スクロールができるとのことで安心しました。恐らくこちらで確認した現象と同じだと思いますので、次のバージョンでは改善できると思います。

    ご不便をおかけして申し訳ございませんが、今しばらくお待ちくださいますようお願いいたします。

     |  Kuro
  63. Kuro様

     深夜まで、本当にお手数をおかけして申し訳ありません。

     |  和七郎
  64. Kuro様

    いつもスクリプトや論文の執筆に利用させてもらっています。
    一時期Scrivenerを使っていたのですが、入力行を中央に固定できる設定があるのですが、Meryでも同様の機能はありますでしょうか。入力中の自動スクロールの上下を広めに設定できれば助かります。
    よろしくお願いいたします。

     |  jacklegdoc
  65. 以前から気になっていた事があるのですが、読み取り専用ファイルを読み込んで編集メニューの「書き換え禁止」を解除して編集可能になっても実際のファイルの書き込み禁止が解除されないのは何故でしょうか。
    他のテキストエディタ(例えばNotepad++)だと、同じ操作をすればファイルの読み取り専用属性も同時に解除されます。

     |  譲治
  66. >> 和七郎 さん
    ご返信ありがとうございます。
    修正版は近日中に公開できると思いますので、今しばらくお待ちくださいませ。

    >> jacklegdoc さん
    ご愛用ありがとうございます。

    入力行を中央に固定、もしくは入力中の自動スクロールの上下を広めに設定する機能は、Mery でも一応あることはあるのですが、使う人が少ないので隠し機能になっています。

    Mery を終了させて、メモ帳などで Mery.ini (C:\Users\<ユーザ名>\AppData\Roaming\Mery\Mery.ini) を開いて、[General] セクションに ScrollMargin=3 な感じで上下の自動スクロール量を設定することができます。

    例)
    [General]
    ScrollMargin=80

    ↑こんな感じで十分に大きな値を指定すると中央固定になります。(デフォルトは 2)
    需要がありそうならメイン機能に昇格ということで、ご意見をいただけると今後の開発の参考になりますので、よろしくお願いいたします。

    >> 譲治 さん
    コメントありがとうございます。
    Mery の「書き換え禁止」機能はテキストエディタ上での書き換え禁止ということで、実際のファイルには影響を及ぼしません。

    ファイルの「読み取り専用」属性は、外部から上書きや変更されたくないから「読み取り専用」なわけで、Mery のようなメモ帳ソフトからその属性を解除されたり上書き保存できてしまうと、「読み取り専用」の意味がなくなってしまいますからね ^^;

     |  Kuro
  67. >> 譲治さん
    Windowsの attrib.exe -R (または +R) を外部ツールに登録してもファイルを「開きなおす」必要があり、そのためには親フォルダを開くか「ファイル」メニューの履歴を叩く必要があって不便だなと感じていました。 → この件にかんして某巨大掲示板にて相談して、マクロをつくっていただくことができました。
    MeryWikiのマクロライブラリに先日立てた「小マクロ集」のトピック内で案内を出していますので、是非ご覧ください。

    ref. 読み取り専用属性を変更するマクロ ×3
    https://www.haijin-boys.com/wiki/%E3%83%9E%E3%83%86%E3%83%AA%E3%82%A2%E3%83%AB%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3%E3%81%A3%E3%81%BD%E3%81%84%E3%82%A2%E3%82%A4%E3%82%B3%E3%83%B3%E3%81%A8%E3%80%8E%E5%B0%8F%E3%83%9E%E3%82%AF%E3%83%AD%E9%9B%86%E3%80%8F#.E5.B1.9E.E6.80.A7.E5.A4.89.E6.9B.B4
    Wikiの同ページには「ファイルを開きなおす」マクロも掲載してありますが、属性変更の「保存+書込禁止ON & 書込禁止OFF+開きなおす」マクロがものすごく便利ですよ。あと、よろしければアイコンもお持ち帰りを! :P

    Meryの「書き換え禁止」機能は、スニペット(テンプレート)的なファイルを保護するのに便利ですよね。半閲覧専用的なファイルを外部ツールやショートカットファイルに /r オプションをつけて登録しておいて、Mery上で再編集の必要なときにだけショートカットキーで「書き換え禁止」ON/OFF切り替えをしています(小マクロ集の原文とか)。

    >> Kuroさん
    関連して(というか便乗?)「お気に入り」プラグインで /r オプションをつけて登録できるようになるとうれしいのですが、いかがなものでしょうか?
    (あと「お気に入り」プラグインでラベル/登録名の個別設定とかも可能ならお願いしたいのですが…)

     |  ぽい (sukemaru)
  68. >>Kuro様

    ありがとうございます!
    理想的な挙動になりました。Ctrl+上下でカーソル行そのままで参照できるので便利ですね。
    ついでですが、書き始めの1行目も中央に表示するのは可能でしょうか。
    重ね重ねすみませんが、よろしくお願いいたします。

     |  jacklegdoc
  69. >> ぽい さん
    コメントありがとうございます。

    > 「お気に入り」プラグインで /r オプションをつけて登録できるようになるとうれしいのですが、いかがなものでしょうか?
    プログラム的にはそんなに難しくないと思います。「お気に入り」プラグインでファイル名にラベル (別名) みたいなのをつける機能もときどきご要望をいただくことがありますね。(スニペットプラグインでは可能です)

    プラグインは誰かがカスタマイズしてくれることに期待して、NYSL ライセンス (煮るなり焼くなり好きにしろライセンス) で公開させていただいてます。私は本体側の開発で手一杯なので、誰かが作ってくれると嬉しいです… ^^;
    (暇になったらやってみないこともなくもなくもないかもしれませんが…)

    >> jacklegdoc さん
    ご返信ありがとうございます。ご希望の動作になったようで良かったです。
    仕様上、書き始めの 1 行目は中央にすることはできませんのでご了承ください。

     |  Kuro
  70. 置換についてご要望があります!><

    置換する際、1つのタブに対して置換ではなく、
    複数のタブを選択したらそのタブ内の内容も置換できるようにしてほしいです!><

    【5つタブがあって、残り4つのタブを置換する例】
    例えば、5つのタブが「あいうえお」になって、残り4つのタブにある「あいうえお」を「かきくけこ」に置換したい時、
    置換機能の中に「□開いている他のタブも置換対象にする」をチェック入れるか【Ctrl】+置換対象にしたいタブを個別にクリック、
    【Shift】+2つ目のタブを選択した状態で5つ目のタブをクリックでまとめて選択する事ができるような機能を導入してもらえたら幸いです><

    他の利用者様も同じご要望持っている事も承知済みですけど、デフォルトとして機能にあるとエディタの便利性がますます上がるかなと思ってます><b

    URL:https://www.haijin-boys.com/discussions/2947
    URL:https://www.haijin-boys.com/discussions/2855

     |  がちょぴん
  71. >> がちょぴん さん
    お久しぶりです、コメントありがとうございます。

    開いているすべてのタブから置換する機能はときどきご要望をいただきますね。
    個別に置換対象のタブを選択するまでは考慮していませんでしたが、開いている他のタブを含めて置換する機能でしたら実装可能です。

    MeryWiki の開発室の [ご意見・ご要望] に書いてる「開いているファイルから検索・置換」という機能がそれに該当しますが、一応開発は完了しているものの、置換の処理に大幅な変更が加えられますので標準機能として実装する勇気がなかなか出なくて… ^^;

    でもバグを恐れていたらプログラミングなんてできませんね…、がんばります!

     |  Kuro
  72. >> kuroさん
    返信ありがとうございます。
    "公式(?)プラグインなくしてMeryを使いたおすことなんてできない!" とおもっているユーザーはたくさんいるとおもいます。
    「お気に入り」プラグインの将来の更新について期待させていただきます(…気長に)。ぜひともよろしくお願いします。 :)

    またまた便乗になってしまいますが、がちょぴんさんの "Ctrl+クリック" に関連して…
    そういえば、Meryのメニューでは "Shift+メニュー" ってありませんね。オプションの [キーボード] タブ(ショートカットキーの変更)や「ポップアップメニューの変更」ダイアログに隠された(?)各カテゴリの全機能をメニューバーの "Shift+メニュー" として表示できるようにする、なんていうのはいかにもWindowsアプリっぽいのではないでしょうか? :P
    登録したマクロが増えすぎて [マクロ] メニューが煩雑にならないよう「カスタマイズ」でチェックをはずしているものが多かったのですが(マクロバーにも表示しきれないし)、たまに直接アクセスしたいような隠しマクロやイベントマクロもあるので… とか、
    あわよくば、ポップアップメニューのほうにも "通常の右クリック" と "Shift+右クリック" とで表示できる項目を増減させられたら… とか。

    P.S. さきほど、MeryWikiの「構文ファイル」に5ちゃんブラウザJane用の正規表現対応の拡張バージョンを投稿しておきました。ちょっと手を加えれば bregonig 以外にも転用可能だとおもいます。
    正規表現検索"/pattern/options" での option フラグをURL文字列に誤爆させないような回避策を考えつかなかったので、どなた様かオプションフラグの強調用定義の追加をお願いします。
    これにてMeryWikiに投下できる手持ちのネタはひとまず打ち止め。

     |  ぽい (sukemaru)
  73. >> ぽい さん
    ご返信ありがとうございます。
    そう言われると弱いですね、プラグインは確かに開発のハードルが若干高いのでなかなか普通の人には作って!って言えないのも事実…。いや、ぽいさんならきっと!と思いました ^^

    > 「お気に入り」プラグインの将来の更新
    了解しました。気が向いたときにちょっと対応してみたいと思います。

    > "Shift+メニュー" として表示できるようにする、なんていうのはいかにもWindowsアプリっぽい
    私が今までに使ってきた Windows アプリではそういった隠し機能?のような操作を一度も使ったことがなかったので気づきませんでした。そういった機能の搭載された Windows の有名アプリがあれば教えていただきたいです。(そのアプリが MS 純正なら速攻で対応したいところですね)

    ポップアップメニューのほうはユーザさんがカスタマイズ可能なのでお好きにどうぞということで、SHIFT + 右クリックの隠しメニューまで個別にカスタマイズできる仕様なんて考えるだけでゾッとしますが… ^^;

    > 5ちゃんブラウザJane用の正規表現対応の拡張バージョン
    おお!ありがとうございます。確か Jane も Delphi 製だった気が。Jane は bregonig を採用されているのですかね、私は Jane を使ったことがないので詳しいことは分かりませんが、Mery の構文ファイルで Jane っぽく色分けできると面白そうですね。

    MeryWiki への投下、ありがとうございました!

     |  Kuro
  74. > プラグインは確かに開発のハードルが若干高いのでなかなか普通の人には作って!って言えないのも事実…。いや、ぽいさんならきっと!と思いました ^^
    えっ!? まだまだ、マクロにでてくる ActiveXObject() ってナニ? …というレベルなんですが。 :(

    >> 「お気に入り」プラグインの将来の更新
    > 気が向いたときにちょっと対応してみたいと思います。
    ありがとうございます。いつ実現するかと楽しみにさせていただきます! XD

    > Windows アプリではそういった隠し機能?のような操作
    google などで 「"Shift+右クリック" [ + "OSバージョン"」 」 を検索すると色々とヒットしますね。
    現在Windows謹製のGUIアプリはエクスプローラ以外ほとんど使っていませんが、エクスプローラにも "Shift+右クリック" メニューの拡張項目はあるはずです(うちのは使いこんだXPですし、右クリックメニューの変更ソフトでいじりすぎていて自分の環境では確認しづらいです)。
    あと、エクスプローラでのドラッグ&ドロップのさいの修飾キーでの拡張機能(Shift→強制移動、Ctrl→強制コピー、Alt→ショートカットの作成)や、右クリックメニュー「削除」の項目を "Shift+クリック" すると「ゴミ箱に移動させずに完全削除」なんていうのもありますよね。

    > SHIFT + 右クリックの隠しメニューまで個別にカスタマイズできる仕様なんて考えるだけでゾッとしますが… ^^;
    「ポップアップメニューの変更」ダイアログにマクロの「カスタマイズ」のようなチェックボックスを追加していただければ… なんて :)

    余計な提案を追加して申し訳ないですが、"Shift+クリック" で別のアクションになるという隠し機能もあると楽しそうですね(個人的願望)。
    ・ツールバーアイコンの「コピー」や「貼り付け」を "Shift+クリック" すると「引用つき」になるようにとか(あるいは「追加コピー」とか)
    ・検索用の「上/下の矢印」アイコンを "Shift+クリック" すると「前/次の文字列を検索」になるとか
    ・編集メニューの「書き替え禁止」を "Shift+クリック" するとファイルの属性を変更するとか(先日のコメントにあった件)…
    アイデアだけならいくらでもでてきますね。
    ・"Shift+ダブルクリック" では単語選択でなく句読点区切りかカッコ・引用符までの範囲で選択とか
    ・行番号の右クリックでは「末尾改行を含めないで行選択」とか
    … あぁ、妄想が止まらない。

    件の構文ファイルは、Mery上で正規表現を書くときには(Jane用以外でも)よく使っています。メタ文字のチェックなどもできますし、後ろに" ?" のつかないカッコ " ( " に色をつけられるので捕獲集合を "$1" や "$2" に置換するときに数えやすいんです。 :)
    Meryでもアウトライン用や編集モード用に正規表現を書くときは必須です(下手なので何度もデバッグしますから)。「現在の編集モードのプロパティ」マクロが大活躍しています。 LOL

     |  ぽい (sukemaru)
  75. >> ぽい さん
    ご返信ありがとうございます。
    なるほど、Shift + 右クリックの件、情報ありがとうございます。参考になりました。

    > 「ポップアップメニューの変更」ダイアログにマクロの「カスタマイズ」のようなチェックボックスを追加していただければ… なんて :)
    いろいろなアイデアありがとうございます。
    今後の開発の参考にさせていただきたいと思います。

    > 色をつけられるので捕獲集合を "$1" や "$2" に置換するときに数えやすいんです。
    私はテキストエディタを開発しておきながら、正規表現はほとんど分からないので…
    (Mery の正規表現の仕様はほぼ、知人のアドバイスにより開発しました ^^;)

     |  Kuro
  76. むしろ、わたしとしてはMeryを使い始めてから "強調文字列" を使ってみたくて正規表現を勉強しだしたクチでして…
    先だっての構文ファイルは自分のノートがわりにまとめなおしたもので、じっさいのところほとんど使いみちが分かっていなかったり。 :P
    プログラマーの方になんて遠く足元にもおよびません。

    以前はMeryの "編集モード" のMSYファイルを直接ひらいてみても「コレ何かおかしいぞ、触らぬ神に…」などとおもっていましたが、件の構文ファイルをまとめなおしてみて「ローカル仕様のエスケープ用文字は ^ で、要エスケープ文字は ^ と #」だと分かって、いまになって「こっちを直接編集するほうが見やすいじゃん!」というかんじです。
    Jane用のは「正規表現を捕まえるための正規表現」などとややこしい感じでしたから、MSYを開いて大きな画面上で編集することができて本当に助かりました。

    まだまだわからないことだらけで、JavaScript の検索・置換の構文や grep ?とかいう使ったことの機能も追い追い勉強していこうとおもいます。 …それにつけてもマクロといいwikiといい、この歳になってPC関係で勉強意欲の原動力になってくれているMeryって、恐ろしいコ!

     |  ぽい
  77. >> ぽい さん
    Mery がきっかけですか、ありがとうございます!
    私も正規表現は Mery の開発にあたってある程度は勉強したものの、日常では行頭・行末の置換ぐらいしか使わないので全然覚えられません ^^;

    > 「ローカル仕様のエスケープ用文字は ^ で、要エスケープ文字は ^ と #」
    そんなマニアックな仕様までバレているとは… (w

    > この歳になってPC関係で勉強意欲の原動力になってくれているMeryって、恐ろしいコ!
    JavaScript は特別な環境などを用意しなくても動くので扱いやすいですしね。MeryWiki のほうも、一応、Wikipedia などで使われているシステムと同じものを使っているので、書き方を覚えても損はないはずです ^^

    こちらこそ、こうしてコメントを頂きながら開発するのは楽しいので、ご協力に感謝です。

     |  Kuro
  78. お返事ありがとうございます!

    僕だけじゃないんですね><
    置換の処理に大幅な変更っていうのは複雑って事なんですかね…開発者じゃないので無知です( ゚д゚)ポカーン

    β版で実装されたらDLして試してフィードバックします!><b
    またまたまた、テキストエディタ発見したのでここに貼り付けます(・ω・)ノ
    日本語でも利用できるそうで開発の参考にどうぞ゚+。ヾ( *・ω・)ゝ゚+。

    URL:https://texteditor.pro/

     |  がちょぴん
  79. >> がちょぴん さん
    ご返信ありがとうございます。

    > 置換の処理に大幅な変更っていうのは複雑って事なんですかね…
    複雑というわけではないですが、車で言うとエンジンをバラして実験段階の部品を内蔵する感じですかね。理論上は動くはずだけどリコールが怖いです ^^;

    > β版で実装されたらDLして試してフィードバックします!><b
    ありがとうございます!今は正式版へ向けての細かな調整中なので、思い切った新機能はちょっと厳しいですが今後搭載する日が来ましたらご協力お願いいたします。

    > またまたまた、テキストエディタ発見
    情報ありがとうございます。これは Delphi 製テキストエディタ「EditBone」の後継品ですね。EditBone 時代はオープンソースだったので Mery の開発でも参考にさせていただいたことがあります。Text Editor Pro になってからはソース公開も中止されたようで残念ですが、海外でも Delphi 製テキストエディタが頑張ってくれてて嬉しい限りです ^^

     |  Kuro
  80. 変更行(保存前)・変更行(保存後)を分かるように表示させるにはどう設定すれば良いのでしょうか?

     |  ek
  81. > 変更行(保存前)・変更行(保存後)を分かるように表示させるにはどう設定すれば良いのでしょうか?
    バージョン2.6.9の記事に説明があります。
    https://www.haijin-boys.com/software/mery/mery-2-6-9#4

     |  sukemaru
  82. 返事が遅れて申し訳ありませですた。
    編集行全体の表示色や書体が変えられるわけでは無いのですね。

     |  ek
  83. >> ek さん
    コメントありがとうございます。
    変更行の行全体の色や書体の変更には対応していません。

     |  Kuro