[質問]新規ファイルのカスタマイズって出来ますか?

  1. Meryはとても見やすくて毎日お世話になっています。使い方としてはテキストファイルとして保存することもよくありますが主な使い方は下書きです。何のデータを書き込むときでも、まずMeryに書き込んでからコピーやカットをして貼り付けています。理由は勿論見やすいからです。

    なので毎日7、8回は新規の空の状態のファイルを立ち上げて毎回最初にEnterで25行くらいの改行をしてから一番上に戻って書き始めていたのですが、億劫に感じるようになったので雛形を作って立ち上げることも考えましたが、動作的にも時間的にも大差ないですしCtrl+NとEnterの方が楽なくらいでした。

    なので現状は入力補助ツールを使ってbetterな状態で使っているのですが、bestはやはりMeryをクリックしたりCtrl+Nだけで雛形が開くことです。でもこれって私が無知なだけで実はやり方がありそうな気がしてならないのですが何か方法はあるのでしょうか?

     |  まやか  |  返信
  2. > bestはやはりMeryをクリックしたりCtrl+Nだけで雛形が開くことです

    MeryWiki の「マテリアルデザインっぽいアイコンと『小マクロ集』」にあるマクロ「定型文(署名)を追加」をいじれば、ショートカットキー一発で「25行くらいの改行」の雛形を挿入できます。

    ① ファイルから定型文を挿入するマクロ "定型文(空行)を挿入.js" を Mery\Macros フォルダに保存。
    ② 「25行くらいの改行」のみのテキストファイル "Blank_Template.txt" も Mery\Macros フォルダに保存。
    ③ [マクロ]メニュー >> 「カスタマイズ...」 >> 「追加」ボタン から "定型文(空行)を挿入.js" を登録。
    ④ [ツール]メニュー >> 「オプション...」 >> 「キーボード」タブ で カテゴリを「マクロ」にして、任意のショートカットキー Ctrl+N など を割りあてる。 (※デフォルトで Ctrl+N は「新規作成」のショートカット)
    ⑤ 必要なら「ツールバーのカスタマイズ」でツールバーにアイコンを置く。
    ⑥ Meryを起動したときに「無題」のタブに「25行くらいの改行」を入れるのであれば、Meryへのショートカットファイルを作って、プロパティでコマンドラインオプション 「 /mf "定型文(空行)を挿入.js"」をMeryのフルパスの後ろに追加する。

    ▼マクロ "定型文(空行)を挿入.js" のコード▼

    #title = "空行を挿入"
    #tooltip = "定型文(空行)を挿入"
    // #icon = "Mery用 マテリアルデザインっぽいアイコン.icl",0
    // #icon = "Mery用 マテリアルデザインっぽいアイコン.icl",121
    // ツールバーにアイコンを表示させるなら「Mery用 マテリアルデザインっぽいアイコン」を導入する
    // アイコンインデックス "0" で「新規作成」タイプの青いアイコン、"121" で「改行」の矢印型のグレーのアイコン
    // あらかじめ定型文用のテキストファイル "Blank_Template.txt" を用意しておくこと
    var bt = "Blank_Template.txt";	// 挿入する「定型文用のテキストファイル」を指定
    var ax = GetActivePointX( mePosLogical );
    var ay = GetActivePointY( mePosLogical );
    document.selection.InsertFromFile( bt, 0 )	// 0 は文字エンコードの「自動選択」
    document.selection.SetActivePoint( mePosLogical, ax, ay, false );	// キャレットをマクロ実行時の座標に戻す
    

    ▲マクロのコード▲

    document.selection.NewLine( 25 ); 
    

    の1行だけでも空行を挿入するマクロにはなるんですけど、「雛形を開く」のがBESTということでしたので。 :)

     |  sukemaru  |  返信
  3. マクロのコード内の下から2行目
    document.selection.InsertFromFile( bt, 0 )
    の後ろに半角セミコロンを付け忘れました。

    document.selection.InsertFromFile( bt, 0 );
    
     |  sukemaru  |  返信
  4. >> sukemaru さん
    ご対応、ありがとうございます。
    (早速、pre タグも使ってくれてありがとうございます)

    >> まやか さん
    ご愛用ありがとうございます。Mery を開発している者です。
    そんなに活用してくださると、嬉しいです ^^

    標準機能としては、新規作成時にひな形を挿入する機能はありませんが、sukemaru さんがご返信くださっているように、マクロを使用すれば対応することが可能です。

    あと、毎回最初に Enter で 25 行ぐらいの改行を入れるというのが、スクロールで真ん中ぐらいまでページを送りたいっていうためであれば、「半ページ送り?なる機能」を使用すれば、ご希望の動作になるかもしれません。

    https://www.haijin-boys.com/software/mery/mery-2-6-11#5
    ↑この記事のちょっと下のほうにある、<その他、ちょっとした隠し機能を追加> っていうところに書いてある「半ページ送り」です。

    まだ評判をうかがっている段階なので隠し機能としてしか用意しておらず、Mery.ini に直接オプションを記載してもらうかたちで恐縮ですが…。

    もし試される場合は、Mery を終了させた状態 (常駐も終了) でメモ帳など、Mery 以外のエディタで Mery.ini を編集していただく必要があります。

     |  Kuro  |  返信
  5. 平凡なユーザーの一人ですが、横から失礼します。
    まやか さん

    もしかして、もっとシンプルなことをおたずねになっているのでは?

    まずお聞きしたいのですが、Ctrl+N で空の状態のファイル(タブ?)を開いてから、

    > …毎回最初にEnterで25行くらいの改行をしてから一番上に戻って書き始めていた…

    というのは、どのような理由なのでしょうか。Mery は通常では、文字を挿入する
    モードで動作するので、下に作った空行は、文字の入力に伴ってどんどん下に押し
    下げられていくことになります。この 25 行の空行があるのとないのとで、どの
    ような違いが生じるのでしょうか。

    それと、雛形というのは具体的には、空行 25 行のほかには、どのような内容を
    含むのでしょうか。

    また、これを使わない場面というのはほとんどなく、常にこれが開いてしまって
    も支障はない、のでしょうか。

    これをお教えいただけると、まやか さんの操作の目的が少しハッキリするので、
    今の Mery でできることのうち、どのような方法がご案内できるかを考える参考
    になります。

    それから、ご存知でしたなら大変な失礼を、ごめんなさい。
    マクロというメニューの記録/停止などをお使いになったことがありますか?

    今回もたぶん、このマクロ機能を使うことが良い解決になるとは思うのですが、
    それでできることがさまざまなので、その使い方の目安に。

     |  inuuik  |  返信
  6. あぁぁ、 var ax = ... , ay = ... ; の行に document.selection. をつけるのも忘れていました。 :(
    かさねがさねの訂正、すみません。

    ▼マクロ "定型文(空行)を挿入.js" のコード▼

    #title = "空行を挿入"
    #tooltip = "定型文(空行)を挿入"
    
    // あらかじめ定型文用のテキストファイル "Blank_Template.txt" を用意しておくこと
    var bt = "Blank_Template.txt";	// 挿入する「定型文用のテキストファイル」を指定
    var ax = document.selection.GetActivePointX( mePosLogical );
    var ay = document.selection.GetActivePointY( mePosLogical );
    document.selection.InsertFromFile( bt, 0 );	// 0 は文字エンコードの「自動選択」
    document.selection.SetActivePoint( mePosLogical, ax, ay, false );	// キャレットをマクロ開始前の座標に戻す
    
     |  sukemaru  |  返信
  7. マクロなら私の希望はたぶん実現出来るだろうなと思ったのでマクロライブラリは見ていました。ですが私の質問は私が無知なだけで実はそういう機能があるのかな?という過去のフォーラムも調べない気軽でお粗末な質問だったので、まさか見ず知らずの私の為に労力と時間を割いてマクロを作って頂けるとは思いもよりませんでした。
    本当にありがとうございました。

    拙い文章から汲み取って頂いた“雛形”への拘りは確かにありましたが、どちらかと言えば私が思い描く機能が存在しているのであれば、誰にでもカスタマイズできる雛形タイプだろうという思い込みの方が強かったのかもしれません。なので私が求めていた機能が存在しないマイノリティーな要望だと知って実は少し驚いています。

    でも頻繁にテキストエディターを使う身として、潜在的な需要は高いと思ってます。なので存在を知れば便利な機能だと気づく人も多いと思うので、見つけやすい形でマクロライブラリに載せて頂けると多くの人の助けになると思うのですが、マクロライブラリの中に更にマクロライブラリがあったことには気付けませんでした。

    訂正ありがとうございました
    おかげでbestな形でMeryを使用出来るようになりました
    1点だけ訂正させて下さい

    >② 「25行くらいの改行」のみのテキストファイル "Blank_Template.txt" も Mery\Macros フォルダに保存。

    "Blank_Template.txt"はMery.exeと同じフォルダに保存。でした

    なんとお礼を言っていいのか分かりませんが、本当に本当にありがとうございました。

     |  まやか  |  返信
  8. Meryにはいつもお世話になってます
    Meryは本当に見やすいですし
    安定しているので安心して使えるので本当に助かります

    最初に色々なマクロを入れてみたのですが
    Win10の大型アップデートで何故か初期化されてしまい
    再び登録したマクロは2つだけで実はあまりマクロの恩恵を感じていなかったのですが
    今回の件でマクロが使える恩恵を感じています

     |  まやか  |  返信
  9. 拙い文章に興味を持って頂きありがとうございます。

    > …毎回最初にEnterで25行くらいの改行をしてから一番上に戻って書き始めていた…

    の理由は2つあるのですが、私の使い方に問題があるのかもしれません

    ・画面分割や画面切り替えを面倒に感じていて、返信しようと思った文章などをコピーしてテキストエディタの下部に貼り付け、引用部のコピーしたり見ながら書くという習慣があること

    ・文章を思いついたまま書き出して、それを箇条書きのように整理して、最後に切ったり貼ったりしながらまとめるという書き方をよくするので、あらかじめ作業領域のような部分を下部に確保しておかないと書き出す時に窮屈さを感じるようになってしまったこと

    >雛形というのは具体的には、空行 25 行のほかには、どのような内容を含むのでしょうか。

    現在のところは25行の改行があれば十分です。ただ使っていく中で変更等の希望が出てきても雛形なら容易に修正出来るのでありがたいです

    >また、これを使わない場面というのはほとんどなく、常にこれが開いてしまっても支障はない、のでしょうか。

    不要な場合もありますが割合的には1割もないと思いますし、不要な場合はコピペだけして保存の時なのですがその時はCtrl+Aという1動作が増えるだけで済みます

    >マクロというメニューの記録/停止などをお使いになったことがありますか?

    Meryを使い始めた頃に少し試しましたがハードルが高かった印象があって、自作マクロは最初から諦めていました。それと以前、EXCELマクロをいくつかカスタマイズして使ったのですが、せっかく作っても半年でVBAを殆ど忘れてしまっていて再修正の際に1からネットで調べ直すという非常な労だった割にリターンが非常に少なかったというトラウマがあって、不向きだという自覚もあるのでマクロを避けて生きています。すみません。

     |  まやか  |  返信
  10. まやか 様

    たいへんご丁寧にご説明いただき、本当にありがとうございます。
    ごめんなさい。失礼なことに Mery の使いこなしの度合いを見誤り、非常に余計な
    お手間をおかけしてしまいました。

    今回の問題はすでにご解決とのこと、よかったです。

    目的と用法、とてもよくわかりました。
    使い方に問題…、何もないと思います。私も似た方法をいつもしています。
    区切りにするものが、長い空行ではなく、別の文字の並びだという違いだけです。

    > Meryを使い始めた頃に少し試しましたがハードルが高かった印象があって…

    ご希望の動作が、明確で詳細であればあるほど、それをマクロで実現することが
    容易になります。

    いつかぜひお手伝いさせていただける機会がありますことを願っております。

     |  inuuik  |  返信
  11. >> まやか さん
    動作報告&訂正ありがとうございます。また、動作確認なしでなんどもカキコミしてしまいすみませんでした。

    > … 見つけやすい形でマクロライブラリに載せて頂けると多くの人の助けになると思うのですが、マクロライブラリの中に更にマクロライブラリがあったことには気付けませんでした
    私もクリック/ホットキーひとつで定型文を入れたいとおもって「定型文(署名)を追加」を書いたのでよくわかります。 :)
    「マテリアルデザインっぽいアイコンと『小マクロ集』」は、私の趣味で作っているアイコンの活用のためにマクロ他をかき集めたものでして…
    そちらの「定型文(署名)を追加」の説明にも書いたように、[ファイル]メニューに「挿入…」コマンドもありますし、Meryで「テンプレート」というと、現「スニペットプラグイン」という見方が一般的なようなので…

    先のマクロは #プリプロセスや //コメント行、var変数の宣言などカサ増ししているせいで大層なものに見えるかもしれませんが(ax, ay, SetActivePoint(); の行は まやか さんのご希望にかなうよう追加した部分です)、実質的には
    document.selection.InsertFromFile( "C:\\hoge\\Template.txt", 0 );
    という1行のコードだけで済むマクロだったりして。 :P (InsertFromFile メソッドのたんなる例文ですね)

    ※「マクロライブラリ」に1ページ設けるほどの内容じゃないので、「キーアサイン集」内の項目としてマクロ「定型文をファイルから挿入」を追加しておきました。
    また『小マクロ集』の位置を「キーアサイン集」のすぐ下に再配置して、「キーアサイン集」の冒頭に『小マクロ集』へのリンクを追加しておきました。

     |  sukemaru  |  返信
  12. すでに解決されたようですが、望まれていた機能は、目的は違うけれど動作としてはメールの署名みたいなものなんですね。
    Mery を起動したとき、および、新規作成を実行したときに、登録してある定型文が挿入された新規文書が開く(カーソルは先頭)という動作。

     |  通りすがり  |  返信
  13. 解決されたようで良かったです。
    みなさん、ご協力ありがとうございます。

    空行 25 行にそんな用途があったなんて…!私はてっきりまったく別の用途を想像してしまい、勘違いしておりました、すみません。

    そして sukemaru さんの投稿を見て、「スニペット」プラグインの存在を思い出しました。

    昔はテンプレートプラグインっていう名前で公開していたのですが、ちょっとシャレオツにと、途中でスニペットプラグインに名前を変えたら、誰も使ってくれなくなったっていう。(しかも、作者の私すら存在を忘れているっていう…)

    メールの署名みたいに簡単なテンプレならスニペットプラグインで対応できましたね。(新規作成時に自動的にというわけにはいきませんが、ショートカットキーに割り当てたりすれば楽かも)

    いまさらですが、一応、リンクを貼っておきますね。
    https://www.haijin-boys.com/wiki/プラグイン:スニペットプラグイン

     |  Kuro  |  返信
  14. >> Kuro さん
    私も元々は「スニペットプラグイン」を署名用に使っていました。ただ、「スニペット」のサブメニューのばあい
    ===============\n氏名 (フリガナ)\n〒012-3456\n○○県××市△△1-2-3\nTEL 012-3456-7890\naddress@mail.com\n===============\n
    みたいな半角文字で始まる文字列なら1文字目の「 = 」がアクセラレータになりますが、1文字めが全角文字の定型文のばあいアクセラレータはきかないですよね。:(
    メニューのアイテムとして "署名1(&S)" とかのラベルをつけられると使いやすくなるとおもうのです。

    同様にメニューバーの [マクロ] の各アイテム(#title または ファイル名.JS で表示)にもアクセラレータを指定できたり、「お気に入り」プラグインのサブメニューの各アイテム(ファイル名だけ表示)にも "ラベル (&key)" を指定できるとように、というのもお願いしたいです。
    たとえば、マクロであれば #access="A" のようなかたちでプリプロセスに記述するとか、「お気に入り」であればファイル名のダメ文字「 " 」をつかって "ラベル (&key)" を Favorites.txt に直接記述するというかんじで。
    「スニペット」のばあいだと "ラベル (&key)" の記述方法は… :P

    >> 通りすがり さん
    先にあげたマクロ "定型文(空行)を挿入.js" のコードや「キーアサイン集」に追加した "定型文をファイルから挿入" は、署名などに活用することも想定しています。※『小マクロ集』の "定型文(署名)を追加" に説明をまとめてあります。
    https://www.haijin-boys.com/wiki/マテリアルデザインっぽいアイコンと『小マクロ集』#定型文(署名)を追加

    短い文字列を挿入するだけなら1行マクロ

    document.Write( "短い文字列" );
    document.Write( "1行め\n" + "2行め" );
    document.selection.Text = "短い文字列";
    document.selection.Text = "1行め\n2行め";
    

    のいすれかでも済むわけですが、複数行だと「"\n" で改行」みたいな予備知識が必要になってくるので「スニペットプラグイン」や「定型文をファイルから挿入」のようなマクロのほうが便利かもしれませんね。

     |  sukemaru  |  返信
  15. われながら『小マクロ集』へのリンクURLはひどいものですね。Wiki内以外の場所に貼るのは憚られる...

     |  sukemaru  |  返信
  16. >> sukemaru さん
    スニペットプラグインは、ラベルを付けられるようになってるんですよー。ちょっと MeryWiki の説明が分かりづらかったでしょうか… ^^;

    [TAB] はタブキーのことですが、以下のように [TAB] で区切って「ラベル[TAB]内容」のように Snippets.txt を書けばサブカテゴリでもラベルも書けますし、「&A」のようにアクセラレーターキーも設定できます。

    ラベル(&A)
    [TAB]ラベル(&B)[TAB]内容
    

    マクロはショートカットキーの割り当てができますので、メニューのマクロは自動的にアクセラレータキーを 1 から順にふるようにしています。まぁ、10 個以上のマクロを登録してしまうと数字が割り当てられないんですけどね… ^^; (たくさんのマクロを登録するシーンを当初は想定してなかったですから)

    お気に入りプラグインはそもそもラベルを付ける機能がないのでダメですね。以前にご要望をいただいていたと思いますが、まだやる気が湧いてきてません (w

    Wiki の URL については考え物ですねー。なんとか URL をデコードして、わかりやすいリンク表示にできるようにフォーラムをカスタマイズしてみようかな。

     |  Kuro  |  返信
  17. > われながら『小マクロ集』へのリンクURLはひどいものですね。Wiki内以外の場所に貼るのは憚られる...

    とりあえずフォーラムは、MeryWiki 内の URL をそのまま貼り付ければデコードして日本語タイトルを取得するようにしてみました。(ブログのコメント欄のほうは対応してません)

     |  Kuro  |  返信
  18. >> Kuro さん
    > スニペットプラグインは、ラベルを付けられるようになってるんですよー。
    たいへん失礼いたしました&ありがとうございます。自分の Snippets.txt をいじりなおしてみましたが、なるほどそういうことだったんですね。アクセラレータを使えるなら「署名を挿入」マクロを使う必要がはないかも…?
    先ほどまで Wiki をいじって『小マクロ集』にマクロ「定型文つき新規ドキュメント」を(「署名を追加」の項目内に)追加してきたんですけどね… :(

    「スニペット」で可能なら「お気に入り」にも… とお願いする人が他にいないのが不思議なところですね。某掲示板だと両プラグインとも使っている人は多いのに、他の人のカキコミでは見たことないかも(あそこには自分で開発できちゃう人もいますし…)。 :)
    [マクロ]メニューへのアクセラレータが実現すると、「階層化マクロメニュー」の開発者の方にも影響がでてきてしまいそうですよね。メニューには表示するけどマクロバーのラベルには表示しない仕組みとかも必要になりそうですが、(将来的に長い展望で)ご検討お願いします。

     |  sukemaru  |  返信
  19. >> Kuro さん
    > とりあえずフォーラムは、MeryWiki 内の URL をそのまま貼り付ければデコードして日本語タイトルを取得するようにしてみました。(ブログのコメント欄のほうは対応してません)

    すごい! 前のコメントに貼ったURLの # の後ろの部分もすでにデコードされている。 XD
    これならリンク先のページのタイトルもわかりますし、wiki のURLを貼ってもゴチャゴチャしないから、案内する側も参照する側もフォーラムと wiki がより繋がりやすくなりますね。
    仕様変更、ありがとうございました。 :D

     |  sukemaru  |  返信
  20. >> sukemaru さん
    MeryWiki の更新、ありがとうございます。

    > 「スニペット」で可能なら「お気に入り」にも… とお願いする人が他にいないのが不思議
    開発当時 (10 年前ぐらい?) から時々ご要望を頂きますね。「誰か作ってね」って毎回答えてますが… (w

    私も気が向いたら作ってみないこともないのですが、マクロやプラグインの開発依頼にこたえていたら、「~こんなマクロを作ってください」みたいな要望が来るようになって手に負えなくなったので、今はマクロやプラグインのカスタマイズはサポート外とさせていただいております ^^;

    > URLの # の後ろの部分もすでにデコードされている
    ホントは ttps://www.haijin-boys.com/wiki の部分も非表示にして、オチャメに "MeryWiki" ←オレンジのマークみたいなやつを表示して Wiki の日本語部分だけにしようかと思っていたのですが、逆になんか怪しいリンクみたいに見えるかもしれないと思って、ttps://www.haijin-boys.com/wiki の部分は残すようにしました。

    > [マクロ]メニューへのアクセラレータ
    (&A) みたいな表記でアクセラレータキーにすることは可能 (というか、今は数字の 0 ~ 9 対応のため、あえて & を潰してます) ですが、マクロバーのラベルに表示されるとマズイですかね。

     |  Kuro  |  返信
  21. >> Kuro さん
    wiki は、トピ主の まやかさん のように新規ドキュメントでテンプレートを開きたいという方は潜在的にいるはず、ということで手を入れました。 :)
    URL のデコードにつきましては、ttps://www.haijin-boys.com/wiki/ の部分があることでフォーラム閲覧者が安心してリンクを踏めるという配慮だと受けとめさせていただきました。
    wiki に「FAQ (よくある質問)」のようなページもあると利便性がよくなりそうですね。「ほかのエディタにあるあの機能は?」とか、INI ファイルの "隠し機能" なんかも披露したりとか。メモ帳的な使い方しかしていない自分にとっては未知の便利機能とかもいっぱいありそう。

    > > [マクロ]メニューへのアクセラレータ
    > マクロバーのラベルに表示されるとマズイですかね。
    アイコン派の私としましては、ラベルの文字数を削りに削ってふだんのウインドウサイズでマクロバーに表示できるマクロの数を15コにしたものでして…(『小マクロ集』のスクショみたいな状態)
    マズクはないとおもいますが、マウスでアクセスする前提のマクロバーにアクセラレータはないほうがよいとおもうのです。もしも、以前お願いしたマクロバーのラベルの表示/非表示の切り替えができるようになるのでしたら、どちらでもよいのかもとおもうのですが。:)
    アイコンパックを某掲示板にて公開していたときの DL 数が 30~40 ぐらいでしたので、われら少数派?のマウスポチポチユーザーにもどうかご慈悲をお示しくださいませ。

     |  sukemaru  |  返信
  22. > wiki に「FAQ (よくある質問)」のようなページもあると利便性がよくなりそうですね。
    すでにあります (w
    https://www.haijin-boys.com/wiki/よくある質問

    > メモ帳的な使い方しかしていない自分にとっては未知の便利機能とかもいっぱいありそう。
    私も、デフォルトの設定からフォントを変更しているだけであとはカスタマイズしていません。Mery の多くの機能はほとんど使っていませんね。使うより作るほうが趣味なので (w

    > 以前お願いしたマクロバーのラベルの表示/非表示の切り替え
    そうですね、覚えています。
    以前にも回答いたしましたとおり、ラベルの表示・非表示のものを混在することはできませんので、やるとしたら完全にラベル非表示という形になりますが、困る人が多そうですから ^^;

    > アイコンパックを某掲示板にて公開していたときの DL 数が 30~40 ぐらいでしたので、われら少数派?のマウスポチポチユーザーにもどうかご慈悲をお示しくださいませ。
    とりあえず、マクロメニューの数字のアクセラレーターキー (現状維持) で勘弁してください~

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