知っておくと便利なテキストエディタ「Mery」の10 個の小技

知っておくと便利なテキストエディタ「Mery」の10 個の小技

Mery はシンプルな機能で構成されているテキストエディタです。マニュアルなんて読まずに、思うがままに使って頂き、「ああねー」と感じていただければと思って開発しています。

したがって、細かい操作方法などを解説するつもりはありませんが、私が普段使っていて「コレって便利じゃね?」と思う小技をご紹介していきたいと思います。

私がモテないのはどう考えてもお前らが悪い! 12巻 (デジタル版ガンガンコミックスONLINE)

私がモテないのはどう考えてもお前らが悪い! 12巻 (デジタル版ガンガンコミックスONLINE)
スクウェア・エニックス
うぇーい、やったね!止まらない、神回。

スポンサーリンク

意外と知られていない文字数カウント

"Mery, テキストエディタ" のようなキーワードで Google 検索すると、関連する検索キーワードとして「文字数」というのが上位に来ていました。

テキストエディタを使ってブログの記事などを書いていると確かに文字数は気になりますが、Mery のメニューにはそれっぽい機能が無いんですよね。

意外と知られていない文字数カウント

何も考えずCtrl+Aを押してみてください。

するとステータスバーに選択中の文字数が表示されます。すべて選択した状態ですから、テキスト全体の文字数が表示されていることになります。

もちろん部分的に選択した状態ですと、選択範囲のみの文字数が表示されます。

そうそう、ステータスバーの各項目はダブルクリックできるようになっていて、それぞれの項目に応じたメニューが呼び出せますよ。

ついクセになる Ctrl + Shift + ↓ または ↑

ついクセになる [Ctrl + Shift + ↓・↑] キー 1

みなさんは単語を検索するときに [検索] メニューから検索ダイアログを開いて [検索する文字列] を入力して……。という手順を踏んでいますか?

例えば左の図のように "簡単" の付近にキャレットがあったとして、この状態から Ctrl+Shift+を押してみてください。

ついクセになる [Ctrl + Shift + ↓・↑] キー 2

するとキャレット付近の単語を自動的に判別し、その単語を使用して下方向に検索します。

Ctrl+Shiftを押したままを何度か押すとどんどん下へ検索していきます。上に戻りたいときはそのままを押せば一つ前の単語に戻ります。

実はこれ、[検索] メニューの中にある [次の文字列を検索] という機能なのですが、メニューから使用するよりもキーボードのショートカットキーから使用したほうが圧倒的に便利で、この機能こそが Mery の存在意義かもしれないと思うほどです。

左上アイコンの便利な使い方

タイトルバーの左端にテキストエディタ「Mery」のアイコンがありますよね。これ、ただの飾りではありません。クリックすると [移動] や [サイズ変更] といった Windows のシステムメニューが表示されますが、ここまでは当たり前です。

開いているファイルのコピーを作成する

開いているファイルのコピーを作成する

ファイルを開いている状態で、左上のアイコンをデスクトップやフォルダにドラッグしてやると、現在アクティブになっているファイルのコピーを作成することができます。

編集中の内容が反映されるわけではなく、保存されているファイルの本体をコピーしますので、ちょっとしたバックアップなどにも活用できます。

開いているファイルをアプリケーションに渡す

開いているファイルをアプリケーションに渡す

ファイルを開いている状態で、左上のアイコンを任意のアプリケーションにドラッグしてやると、現在アクティブになっているファイルの本体のパスをアプリケーションに渡すことができます。

デスクトップなどにある任意のアプリケーションのショートカットに渡すことも可能です。

色んなところにドラッグ&ドロップ

マウスでの操作に慣れている場合、ドラッグ&ドロップの機能は非常に有効です。Mery のウィンドウはドロップする場所によって様々な役割を果たします。

テキストをドラッグ&ドロップする

色んなところにドラッグ&ドロップ 1

テキストが選択されている状態で選択範囲をドラッグし、編集エリアにドロップすれば選択範囲のテキストをそこに移動させることができますが、これは割と普通ですよね。

では、編集エリアの外 (メニューやツールバーのあたり) にドロップすると……新たなタブが作成され、そこに選択範囲のテキストが貼り付けられます。

ブラウザなどの他のアプリケーションで選択している文字でも Mery のウィンドウや編集エリアにドラッグ&ドロップすることで同様の動作が可能ですので、わざわざ [コピー] して [貼り付け] する手間もかかりません。私はちょっとしたメモ代わりに使ったりもしています。

検索ダイアログにドラッグ&ドロップする

検索ダイアログのテキストボックスには色んなものをドロップすることができます。ドロップされたものを判別して自動的に文字列が入力されます。

色んなところにドラッグ&ドロップ 2

例えば [検索文字列] には選択範囲のテキストをドロップすることもできますし、エクスプローラからファイルをドロップすればファイルのパスが入力されます。

上図は [ファイルから検索] のダイアログですが、エクスプローラからファイルを [ファイルの種類] にドロップすればそのファイルの拡張子が、[検索するフォルダ] にドロップすればそのファイルがあるフォルダが自動的に入力されます。

マーカー機能の使い方をいまさら解説

その名のとおり、文章の任意の箇所に蛍光ペンで線を引いたような目印を付けることができる機能ですが、マーカーバーと合わせて使ったほうが断然便利です。

マーカーバーは現在登録されているマーカーにすばやくアクセスするためのツールバーです。マーカー機能を使用するにあたって、マーカーバーを有効にしておくとさらに多くの機能が使用できるようになります。

マーカー機能の使い方をいまさら解説 1

マーカーバーを表示するには、[表示] メニューから [ツール バー] を選択し [マーカー バー] にチェックを入れます。

初期状態では、マーカーバーはツールバーの右端に最小化されていますので、境目をドラッグしてマーカーバーを好きな位置に移動させましょう。

マーカー機能の使い方をいまさら解説 2

マーカーが登録されていない場合、マーカーバーは空っぽのバーなのでどれがマーカーバーなのか判別しづらいかもしれません。

そういうときは [表示] メニューの [ツール バー] を選択し [ツール バーのタイトル] にチェックを入れると各ツールバーにタイトルが表示されるようになります。

マーカーを追加・削除する

マーカー機能の使い方をいまさら解説 3

マーカーの追加は、単語を選択して右クリックから [マーカーに追加 / 削除] を実行するか、マーカーバーにドラッグ&ドロップします。

マーカーはドラッグ&ドロップで順番を入れ替えることもできます。

マーカーの削除は、もう一度、単語を選択して [マーカーに追加 / 削除] を実行しても良いですが、マーカーバーで任意のマーカーを右クリックして [削除] するほうが簡単だと思います。

このマーカーバー、Mery の編集エリア内のテキストに限らず、ブラウザなどの他のアプリケーションからテキストの選択範囲をドラッグ&ドロップしても追加することができます。

マーカーバーを活用する

マーカー機能の使い方をいまさら解説 4

マーカーバーの単語を左クリックするとその単語で [次を検索]、Shiftを押しながら左クリックすると [前を検索] します。

また、右クリックするとマーカーの操作に関連する機能がポップアップメニューで表示されます。

[有効] のチェックを外すと登録された単語は残したまま、色付けのみを解除します。[置換] などの機能も、もうお分かりですよね。

そうそう、マーカーバーの単語の部分を編集エリア内にドラッグ&ドロップすると、単語をその部分に挿入することもできますよ。簡単なテンプレート機能としても使うことができそうですね。

ヌルヌル動くルーラ機能

編集エリアの上部に表示されている定規みたいなやつのことです。これは文字を数える目安みたいなものかなーと思われていると思いますが、そのとおりです。

ヌルヌル動くルーラ機能 1

このルーラの部分をクリックしたり、ドラッグしたりしてみてください。すると、折り返し位置がヌルヌル動きます。

え、開いている文書すべてに影響しちゃうって?

ルーラをCtrlを押しながらクリック・ドラッグしてやれば、そのタブだけに反映されます。

ヌルヌル動くルーラ機能 2

私はお気に入りのヌルヌル動くルーラ機能なのですが、時々「誤クリックしてしまうので無効にしたい」というご意見を頂きます。

残念ながらお肌に合わなかったかたは [ツール] メニューの [オプション] を選択して [基本] タブの [ルーラで文字数を指定する] のチェックを外すと、この機能は無効になります。

文章を書くときに使用する【P】付きのフォント、例えば「MS Pゴシック」などのプロポーショナルフォントをお使いの場合は、文字によって幅が様々なのでルーラの目盛りはあてになりません。

ポータブル版として持ち出そう

通常、設定ファイルはお使いのパソコンの [C:\Users\ユーザ名\AppData\Roaming\Mery] に保存されますので、別のパソコンで Mery を使用すると設定ファイルは個別に作成されてしまいます。

ポータブル機能を使用すれば、設定ファイルを USB メモリの中に保存できますので、パソコンを移動しても共通の設定ファイルを使うことができ、しかもパソコンの環境を汚すことはありません。

Mery をポータブル版として持ち出そう

ポータブル機能、なんて難しそうなことを言ってますが、やり方はとても簡単。

Mery の ZIP 版を解凍して、Mery.exe があるフォルダに [Mery.ini] という空のファイルを作るだけです。

右クリックで [新規作成] から [テキスト ドキュメント] を選択。[新しいテキストドキュメント.txt] を [Mery.ini] に変更するだけ。

あとは Mery フォルダを USB メモリなどにコピーしてください。設定はすべて先ほど作成した [Mery.ini] に書き込まれますので、別のパソコンでも共通の設定でお使いいただけます。

入力中の文字がリアルタイムに反映されるトゥルーインライン入力

「トゥルーインライン入力」という名前だけ聞くと、うわぁ、なんだか面倒くさそうだなーと思ってしまうかもしれません。

Microsoft の Word や Outlook でも採用されている入力方式で、入力中で変換を確定していない文字をリアルタイムで文章に反映されることができる機能です。

通常のインライン入力

入力中の文字がリアルタイムに反映されるトゥルーインライン入力 1

従来の IME 入力では、入力中の文字は変換を確定するまで編集エリアに反映されませんでした。

左図のように、変換中の文字が後に続く文字の上に重なってしまい、前後の文脈を見失ってしまいそうになります。

トゥルーインライン入力

入力中の文字がリアルタイムに反映されるトゥルーインライン入力 2

トゥルーインライン入力を使用すると、入力中の文字が未確定の状態でもリアルタイムで編集エリアに反映されます。

未確定の文字に続く後ろの文字が常に見えていますので、前後の文脈を見失うことなく文章の入力に集中することができます。

入力中の文字がリアルタイムに反映されるトゥルーインライン入力 3

トゥルーインライン入力を使用するには、[ツール] メニューから [オプション] を開いて [基本] タブの中にある [変換中の文字列を挿入モードで入力] にチェックをいれます。

あとは [OK] ボタンをクリックしてオプション画面を閉じれば設定完了です。

昇順・降順で並べ替え。その他、便利な標準マクロ

行を並べ替えたりする機能は、標準の機能としては搭載されていませんが Mery に同梱されているマクロを使えば可能です。

Mery には以下のようなマクロが最初から入っています。

  • 昇順で並べ替え
    行を昇順に並べ替えます。文字列を選択した状態で実行すれば選択範囲内のみ並べ替えます。
  • 降順で並べ替え
    行を降順に並べ替えます。文字列を選択した状態で実行すれば選択範囲内のみ並べ替えます。
  • 連続する重複行を削除
    重複する行を削除して 1 行にします。[昇順で並べ替え] などで並べ替えた後に使用すれば効果的です。
  • このファイルから検索 (マッチする行)
    現在編集中の文書の中から正規表現で一致した行のみを抽出します。
  • このファイルから検索 (マッチしない行)
    現在編集中の文書の中から正規表現で一致しない行のみを抽出します。
  • 特殊文字を入力
    文字コードを数値で指定して入力します。U+10000 以上の文字も対応しています。(数値の部分のみ入力してください)

マクロの使い方はとても簡単。まず [マクロ] メニューから [カスタマイズ] を開きます。

昇順・降順で並べ替え。その他、便利な標準マクロ 1

[追加] ボタンをクリックして Mery のインストール先フォルダにある Macros フォルダから使いたいマクロを選択します。開くダイアログでは複数のマクロを一括で選択することも可能です。

あとは [OK] ボタンをクリックしてカスタマイズダイアログを閉じると、[マクロ] メニューに機能が追加されていますのでそれを選択するだけです。

昇順・降順で並べ替え。その他、便利な標準マクロ 1

カスタマイズダイアログには [イベントで実行] という機能がありまして、そこにチェックを入れて [イベント] ボタンから任意のイベントを選択することで、お好きなタイミングで自動的にマクロを実行することもできます。

マクロを Python で記述する

Mery のマクロは、Windows の ActiveScript という機能を利用しているため、標準では JScript 及び VBScript に対応していますが、これに Python を追加して、マクロを Python で記述できるようにする手順をご紹介します。

Windows 10 (64 ビット) と Mery 2.6.5 (64 ビット) の組み合わせで確認しました。バージョンが異なったり 32 ビット環境の場合は手順が異なる部分があります。また、すでに Python をインストールしている場合や、違うバージョンの Python を使用したい場合などは適宜読み替えてください。

Python のインストール

Python のインストール 1

まずは Python をダウンロードします。今回は Mery の 64 ビット版を使用するので Python も 64 ビット版に合わせる必要があります。

現時点での最新版を使用してみます。Python 3.6.464 ビット版インストーラ をダウンロードします。

Python のインストール 2

ダウンロードが完了したら、早速 python-3.6.4-amd64.exe をダブルクリックしてインストールしてみましょう。

インストーラが起動したら、最初の画面で [Add Python 3.6 to PATH] にチェックを入れておきます。

インストール先に問題がないことを確認し、[Install Now] をクリックすればインストールが始まります。

[Customize installation] をクリックすると追加機能をインストールする・しないを切り替えることなどが可能ですが、今回はすべてデフォルトのままインストールしました。

Python のインストール 3

インストール完了の画面が表示されましたが、ここで [Disable path length limit] という項目があることに気づきます。

Windows ではファイルのパスが最大 260 文字という制限がありましたが、Windows 10 ではこの制限を解除できるようになりました。

Python 3.6 ではここから設定できるようです。長いパスを扱う場合など、必要に応じてクリックしてください。

以上で Python のインストールは完了です。続いて Python for Windows (pywin32) Extensions をインストールします。

Python for Windows (pywin32) Extensions のインストール

Python for Windows (pywin32) Extensions は Python から Windows の API にアクセスするためのものですが、これをインストールすることで Windows の ActiveScript で Python をエンジンとしてスクリプトを実行することができるようになります。

Python for Windows (pywin32) Extensions のインストール 1

pywin32 をダウンロードします。pywin32 は Python のバージョンごとに用意されています。Python 3.6 用で 64 ビット版のものをダウンロードしましょう。

pywin32 って、名前に 32 が付いていますが、ちゃんと 64 ビット版も用意されています。今回は pywin32-223.win-amd64-py3.6.exe をダウンロードしました。

Python for Windows (pywin32) Extensions のインストール 2

pywin32-223.win-amd64-py3.6.exe をダブルクリックしてインストールします。インストールは [次へ] をクリックしていくだけです。

Python for Windows (pywin32) Extensions のインストール 3

正常に Python がインストールされている場合、pywin32 のインストールの途中でインストール済みの Python が検出されます。

この画面で Python が検出されず空欄になっている場合は、Python のインストールが失敗しているか、Python のバージョンやビット数が合っていないなどの原因が考えられます。

最後までインストールが進めば完了です。基本的に [次へ] をクリックするだけの作業ですが、インストールってなんだか疲れますよね……。あと一息です!

Python を ActiveScript のエンジンとして登録する

それでは Python を ActiveScript のエンジンとして使用できるように登録作業を行います。と言っても操作は簡単で、登録用のスクリプトを実行するだけです。

Python 3.6.4 はデフォルトで以下のフォルダにインストールされます。

C:\Users\<username>\AppData\Local\Programs\Python\Python36\

Python を ActiveScript のエンジンとして登録する 1

Python のインストール先の以下のフォルダにある "pyscript.py" をダブルクリックで実行します。

Python36\Lib\site-packages\win32comext\axscript\client\

一瞬、黒いヤーツがチラっと表示されたら完了です。

ダブルクリックで実行できない場合などはコマンドプロンプトを [管理者として実行] して直接 "pyscript.py" を叩くと行けるかもしれません。

Mery のマクロで Python が使えるか試してみる

上記の手順が完了していれば、Mery のマクロで Python が使用できる状態になっていますが、環境変数などを反映させるために Mery が起動中の場合は一度再起動してください。

適当な Python のマクロを用意します。

a = 1
if a == 1:
    window.alert("mery")
else:
    window.alert(a)

ファイル名を "sample.pys" のように拡張子を "pys" とします。マクロの内容は何でも構いませんが、なるべく Python 独自の書き方が入っていた方が確認しやすいです。

Python が正常にインストールされていないなどの理由でスクリプトエンジンが見つからない場合、Mery はマクロを JScript として実行しますので "a = 1" だけのようなマクロですと JScript として実行できてしまいます。

Python の書き方でマクロが実行できれば完了です。あとは自由に Python を使用したマクロをお楽しみください!

……と言いたいところですが注意点が 2 つ。

グローバルオブジェクトは省略できません

JScript では省略できるグローバルオブジェクトですが、きちんと記述する必要があります。以下のような書き方は JScript では大丈夫ですが Python ではエラーが発生します。

alert("mery")
document.selection.Text = "mery"

グローバルオブジェクトの window は省略せず、以下のように書かなければなりません。

window.alert("mery")
window.document.selection.Text = "mery"

Mery が定義している定数は使用できません

Mery のマクロを JScript や VBScript で実行したときに使用できていた meEncodingUTF16LE などのエンコード定数や、その他もろもろの定数は JScript と VBScript 以外では定義されていません。

定数を使用する場合は手動で定義してやる必要がありますので、Python 向けの定数宣言部のソースを掲載しておきます。

ME_CASEUPPERCASE = 1
ME_CASELOWERCASE = 2

ME_WIDTHHALFWIDTH = 1
ME_WIDTHFULLWIDTH = 2

ME_COPYUNICODE = 1
ME_COPYQUOTES = 2

ME_FINDPREVIOUS = 0x0000
ME_FINDNEXT = 0x0001
ME_FINDREPLACECASE = 0x0002
ME_FINDREPLACEONLYWORD = 0x0004
ME_FINDAROUND = 0x0008
ME_FINDREPLACEREGEXP = 0x0010
ME_REPLACESELONLY = 0x0020
ME_REPLACEALL = 0x0040
ME_FINDRECURSIVE = 0x0080
ME_FINDFILENAMESONLY = 0x0100
ME_REPLACEBACKUP = 0x0200

ME_FINDREPEATPREVIOUS = 0x00
ME_FINDREPEATNEXT = 0x01
ME_FINDREPEATWORD = 0x02

ME_FORMATINSERTNL = 1
ME_FORMATDELETENL = 2
ME_FORMATSPLITLINES = 3
ME_FORMATJOINLINES = 4

ME_POSVIEW = 1
ME_POSLOGICAL = 2

ME_LINEVIEW = 1
ME_LINELOGICAL = 2

ME_GETLINEWITHNEWLINES = 0x01
ME_GETLINEVIEW = 0x02

ME_DATETIMEDATE = 1
ME_DATEDATETIME = 2

ME_MENUCHECKED = 0x01
ME_MENUGRAYED = 0x02
ME_MENUSEPARATOR = 0x04

ME_POSMOUSE = 1

ME_COLLAPSESTART = 1
ME_COLLAPSEEND = 2

ME_OPENALLOWNEWWINDOW = 1

ME_ENCODING_NONE = 0
ME_ENCODING_UTF16LE = 65537
ME_ENCODING_UTF16LEBOM = 655371
ME_ENCODING_UTF16LENOBOM = 655370
ME_ENCODING_UTF16BE = 65538
ME_ENCODING_UTF16BEBOM = 655381
ME_ENCODING_UTF16BENOBOM = 655380
ME_ENCODING_UTF8 = 65001
ME_ENCODING_UTF8BOM = 650011
ME_ENCODING_UTF8NOBOM = 650010
ME_ENCODING_UTF7 = 65000
ME_ENCODING_ARABIC = 1256
ME_ENCODING_BALTIC = 1257
ME_ENCODING_CENTRALEUROPEAN = 1250
ME_ENCODING_CHINESESIMPLIFIED = 936
ME_ENCODING_CHINESETRADITIONAL = 950
ME_ENCODING_CYRILLIC = 1251
ME_ENCODING_GREEK = 1253
ME_ENCODING_HEBREW = 1255
ME_ENCODING_EUC = 51932
ME_ENCODING_JIS = 50222
ME_ENCODING_SHIFTJIS = 932
ME_ENCODING_KOREAN = 949
ME_ENCODING_THAI = 874
ME_ENCODING_TURKISH = 1254
ME_ENCODING_VIETNAMESE = 1258
ME_ENCODING_WESTERNEUROPEAN = 1252

以上が、Mery のマクロで Python を使用する方法です。

実行するために Python の環境が必要なので気軽にマクロを配布することはできないかもしれませんが、Python の勉強用だとか、Python が超得意なかたとか、Python でしか使えないライブラリがある場合などは役に立つかもしれません。

上記の手順は動作を保証するものではありません。環境によってはうまく動かなかったりするかもしれませんが、ActiveScript に Python を追加する手順につきましては Mery とは関係ありませんのでサポート外とさせていただきますことをご了承ください。

まとめ

個人的にお気に入りなのは「ついクセになる Ctrl + Shift + ↓ または ↑」です。検索したいと思った瞬間にタンターン!とキーボードを叩いてすぐ検索できるのでとても心地よいですね。

それから「左上アイコンの便利な使い方」も非常に便利な機能です。

まとめ

私はブログをいじくったりするのに FTP ソフトをよく使いますが、複数のファイルを編集していると FTP ソフトのファイルマネージャーやエクスプローラーなどでフォルダを行ったり来たりするのがなかなか大変ですよね。

そんな時、Mery の左上アイコンを使えばドラッグドロップで簡単に FTP ソフトにそのファイルのパスを渡せるので活用しています。

みなさんも面白い使い方や便利な小技を見つけてみてくださいね。「そんなの知ってるよ!」みたいな内容も多いかもしれませんが、この記事が何かのお役に立てれば幸いです。

最後まで読んでくださって、ありがとうございます。

え、Mery の次のバージョンですか?ええ、ようやく開発が完了しそうです。不安定だった縦書き機能も落ち着きまして、フォーラムにお寄せいただいた多くのご意見もある程度は実装できたと思います。昨年の 12 月から、近日中に公開しますと言い続けてはや 3 カ月……。

近日中に公開します \(^o^)/

キャプテンスタッグ アルミ ロールテーブル ケース付 M-3713 アウトドア用 折りたたみ式

キャプテンスタッグ アルミ ロールテーブル ケース付 M-3713 アウトドア用 折りたたみ式
キャプテンスタッグ(CAPTAIN STAG)
ゆるキャン△を読み終わったら、ポチッとな!

スポンサーリンク

関連する記事

フォローする

スポンサーリンク

コメント (4)

  1. Python は、cfiler (内骨格)をカスタマイズするスクリプトで触ったくらいなのですが、
    Mery さんでも使えるとは。使用人口も増えてるんでしょうね。

    次バージョン、楽しみにお待ちしてます。

     |  通りすがり^2
  2. トゥルーインライン入力のお陰でMeryから離れられなってます!
    デスクトップにコピー作成は知らなかったのでこれからバックアップを取っておくときに活用させていただきます!

     |  szms
  3. >> 通りすがり^2 さん
    コメントありがとうございます。
    Python は、ここ最近では非常に人気の高い言語ですね。実は、私は Python 全然わかりませんが… ^^;

    > 次バージョン、楽しみにお待ちしてます。
    ありがとうございます。ほぼ完成しているのですが、更新の記事がまだなんですよね。がんばります。

    >> szms さん
    ご愛用ありがとうございます!
    トゥルーインライン入力、便利ですよね。私も活用しています。
    ただ、Ver 2.6.5 ではトゥルーインライン入力で変換中にキャレットが末尾に固定されちゃうっていう問題がありますので、次のバージョンでは修正される予定です。

    小技集、お役に立てて良かったです!

     |  Kuro
  4. 左上のアイコンにそんな機能があったとはw

    実は今まで、「何かのソースコードを Mery でサッと確認→本格的に編集したくなったら他のテキストエディタで開きなおす」みたいな場面がしばしばあったのですが、このアイコンのドラッグで他のテキストエディタにドロップすればそちらで開きなおせるのですね。

    こういう、かゆいところに手が届く系の小技には知る楽しさがありますねw

     |  yuko

コメントを残す