【要望】折り返し行インデント

  1. サクラエディタの「折り返し行インデント」、WZの「段落認識、字下げ」、秀丸の「行頭のタブ文字で段落全体をインデントする」に相当する、
    折り返された行にもインデントが適応される機能があると各種ファイルで見た目が整え易いので、ご検討いただけると幸いです。

     |  nao  |  返信
  2. こんばんは、書き込みありがとうございます。

    サクラエディタとか秀丸エディタ、見てみました。
    なるほどこういうインデントの見せ方もあるのですね、あまり気にしたことが無かったので斬新だと思いました。

    簡単に実装できるものであればホイホイ!と搭載してしまいたいところですが、なかなか難易度の高そうな雰囲気です。

    早速搭載、というわけにはいきませんが気に留めておきたいと思います。

     |  Kuro  |  返信
  3. Kuroさん

    日頃Meryにお世話になっております。
    期間の空いた投稿への返信失礼いたします。
    早速ですが、折り返しインデントについて、この機能の実装を再度ご検討いただきたいです。
    テキストエディターとしてはリッチすぎる機能なのかもしれませんが、印刷機能のオプションとしてだけでもこの機能があれば大変助かります。
    Word等へ移してインデントを設定する手数と別ファイル形式で同内容を保存する無駄をなくしたいのです。
    お忙しいと存じますがご検討いただけますと幸いです。

     |  Sayo  |  返信
  4. ご愛用いただきありがとうございます。

    折り返しインデントは私も興味がありまして、以前、開発に挑戦してみたこともあるのですが、エディターエンジンの大幅な仕様変更が必要で、難しすぎて私の技術力では実装できませんでした。

    > テキストエディターとしてはリッチすぎる機能なのかもしれませんが、印刷機能のオプションとしてだけでもこの機能があれば大変助かります。

    そうですね。サクラエディタさん以外だと、有料のエディターかワープロソフトの機能となっているようなので、Mery 的には荷が重いところではありますが、将来的に作り方のヒントや技術力向上などで実装できそうな機会があれば、がんばってみようと思います。

     |  Kuro  |  返信
  5. こんな機能イラネーと思っていましたが、使ってみると思いのほか見やすくなり、要望してくださった nao さん、Sayo さん、対応してくださった Kuro さんに感謝です。

    そこで1つ質問なのですが、ナンバリング(順序・番号付きのリスト)を対象にしたいときには、[追加のインデント文字]に数字を指定する以外にはないですよね?

    自分の場合、下記のようにナンバリングするようにしているので、[追加のインデント文字]に 0123456789. を指定しています。
    1. あ・・・
    2. い・・・

    当然ながら、行の先頭がナンバリングでない数字の場合にもインデントされてしまいますが、自分の場合は先頭に数字を書くことはめったにありませんし、ちょっと見た目の違和感はありますが不便ではなく満足しています。
    何か良いアイデアはあるのかな?と思い投稿しました。

     |  774  |  返信
  6. 10年越しで実装された機能なので、nao さんはいらっしゃらないかもしれませんが、そう言っていただけると嬉しいです。

    > そこで1つ質問なのですが、ナンバリング(順序・番号付きのリスト)を対象にしたいときには、[追加のインデント文字]に数字を指定する以外にはないですよね?

    はい、そうなりますね。

    > 当然ながら、行の先頭がナンバリングでない数字の場合にもインデントされてしまいますが、自分の場合は先頭に数字を書くことはめったにありませんし、ちょっと見た目の違和感はありますが不便ではなく満足しています。

    これは、たとえば、

    1. 2023年10月30日~

    のような場合ですね。

    > 何か良いアイデアはあるのかな?と思い投稿しました。

    ユーザーが任意で設定した [追加のインデント文字] は、空白やタブと同様にインデント文字として扱われます。

    その文字がナンバリングの一部なのか、それとも、文章の行頭の数字なのかを判断することは、ユーザー次第という側面があるため、プログラムで完璧に判定することは難しいです。

    ただし、完璧でなくても問題ない場合、Mery.ini に以下のオプションを追加することで、ある程度のサポートは可能です。

    [Indent]
    WrapIndent=1
    IndentChars=0123456789.
    BulletIndent=1

    このように、BulletIndent=1 を追記します。

    Mery.ini は、Mery を閉じている状態で、メモ帳などで編集してください。

    前述のとおり、完璧な判定は難しいですが、

    1. 2023年10月30日~

    のような場合には正しく動作し、一方、次のような場合はインデント文字と空白が連続しているため、正確に判定できません。

    1. 2023 年 10 月 30 日~

    これについては、制限事項としてご了承いただければと思います。

     |  Kuro  |  返信
  7. ご回答、ありがとうございます。

    BulletIndent=1 を追記することで希望通りの表示になりました。
    想定していたのは、行の先頭が連番ではない数字で始まるケース(2023年10月30日~)で、連番の次に数字がくるケース(1. 2023年10月30日~)までは考えていませんでしたが、望んだことはこれで解決しました。

    確かに半角数字と次の文字の間に空白を入れるケースはあるかもしれませんね。
    そこまでのケースも考えていませんでしたが、特に問題はないと思います。

    ちなみに、BulletIndent=1 はどういう機能なのでしょうか?
    例示していただいたどちらも「年」の前までがインデントの扱いになっていると思うのですが。
    どこかに記載されていたら、申し訳ありません。

    また、表題とは関係ありませんが、
    > INI ファイルの [強調文字列] のデータ形式を変更
    により、Mery の起動が多少早くなったような気がします。

    編集モードを新しいキーに変更するのに、対象の編集モードを個々に一旦エクスポートし、INI ファイルの [Mode\<ModeName>] セクションを手動で削除し、インポートし直しましたが、もっと簡単にできる方法があったのかな?
    同じようなことを次に行うことは当分ないと思いますが。

    ちょっと書き方のテスト

    あいうえお

    あいうえお<code>かきくけこ</code>さしすせそ

     |  774  |  返信
  8. × [Mode\&lt;ModeName&gt;]
    ○ [Mode\<ModeName>]

    そのまま書けば良かったのですね。
    また、ブログ記事のようにできるかなと思ったのですが、<code> は使えないのですね。

     |  774  |  返信
  9. ご希望の表示になったとのことで良かったです。

    なるほど、シンプルに行頭が数字の場合ということでしたか。通常では、その場合もインデントとして扱われてしまいますね。

    > ちなみに、BulletIndent=1 はどういう機能なのでしょうか?

    BulletIndent=1 は、箇条書きの行頭に数字がある場合などに、インデント位置を独自の処理で調整する機能ですが、現時点ではどこにも記載していません。

    この機能は、秀〇エディタさんに搭載されている、[箇条書きへのインテリジェントな対応] 機能からインスパイアを受けて、勘で実装してみたものですが、Mery の機能としてはちょっと高度なため、隠しオプションとしています。

    > 編集モードを新しいキーに変更するのに、対象の編集モードを個々に一旦エクスポートし、INI ファイルの [Mode\<ModeName>] セクションを手動で削除し、インポートし直しましたが、もっと簡単にできる方法があったのかな?

    その方法で良いと思います。エクスポートによってバックアップも取れますし。

    普通に Mery.ini をバックアップしておき、Mery を閉じた状態で Mery.ini を直接メモ帳などで編集しても構いません。

    > また、ブログ記事のようにできるかなと思ったのですが、<code> は使えないのですね。

    このフォーラムは機能が限られているため、pre タグ以外には対応していません。

    以前、Markdown 形式に対応しようと試みたこともありましたが、それにはプレビューなども必要となりそうで、開発が難航しまして結局、挫折しました。

     |  Kuro  |  返信
  10. > 編集モードを新しいキーに変更するのに、対象の編集モードを個々に一旦エクスポートし、INI ファイルの [Mode\<ModeName>] セクションを手動で削除し、インポートし直しましたが、もっと簡単にできる方法があったのかな?

    すみません、勘違いしていました。編集モードのエクスポートでしたね。

    新しいキーが作成されるのは、[編集モードの設定] から [プロパティ] を開いて、プロパティ ダイアログで [OK] ボタンを押したとき、自動的に作成されますので、編集モードのエクスポートやインポートは必要ありません。

    もちろん、バックアップのためにエクスポートしておくと安心ですけどね。

     |  Kuro  |  返信
  11. ご回答、ありがとうございます。

    > BulletIndent=1 は、箇条書きの行頭に数字がある場合などに、インデント位置を独自の処理で調整する機能です
    了解しました。

    > このフォーラムは機能が限られているため、pre タグ以外には対応していません。
    了解しました。
    「ご利用前に必ずお読みください」には pre タグの説明しか記載されていなかったので、それ以外は対応していないだろうなとは思っていました。

    > 新しいキーが作成されるのは、[編集モードの設定] から [プロパティ] を開いて、プロパティ ダイアログで [OK] ボタンを押したとき、自動的に作成されますので、編集モードのエクスポートやインポートは必要ありません。
    了解しました。
    [OK] ボタンで良かったのですね。
    エクスポートしたものはバックアップとして取っておきます。

     |  774  |  返信
スポンサーリンク