テキストエディター「Mery」ベータ版 Ver 3.6.5 を公開

テキストエディター「Mery」ベータ版 Ver 3.6.5 を公開

ファイルから検索 (一般的には grep として知られています) がマルチスレッドに対応し、検索速度が大幅に向上しました。これにより、膨大なテキストファイルの中から必要な情報を迅速に見つけることができます。

さらに、今回のアップデートでは、カーソルの移動や選択範囲の変更などへのショートカット キーの割り当てや、特定のキーの組み合わせでコマンドを実行する 2 ストローク キーのショートカットをサポートしました。

スポンサーリンク

[ファイルから検索] の高速化

以前のバージョンでは、大量のテキストファイルを検索する際に、シングルスレッドの制約により十分な検索速度が得られませんでした。

Ver 3.5.9

特に、マルチコア CPU を搭載しているにもかかわらず、巨大なプロジェクト内で特定のテキストを見つけるためには、長い待ち時間を覚悟しなければならない状況がありました。

[ファイルから検索] の高速化 1

Ver 3.6.0

新しい [ファイルから検索] はマルチスレッドに対応しており、同時に複数の検索作業を効率的に行えるようになりました。これにより、シングルスレッドの場合と比べて、検索速度が 2 ~ 4 倍向上しました。

[ファイルから検索] の高速化 2

さらに、初回の検索はディスクの速度に依存しますが、2 回目以降は Windows のキャッシュを活用して高速に処理されます。これにより、作業効率が飛躍的に向上しました。

[ファイルから検索] の使い方

ファイルから検索 (いわゆる grep) の使い方は、従来の Mery の操作と変わりません。

  1. [検索] メニューから [ファイルから検索] をクリックして、[ファイルから検索] ダイアログを表示します。
  2. 通常の検索と同様に、[検索する文字列] と検索条件を指定します。
  3. [ファイルの種類] と [検索するフォルダー] を指定し、[検索] ボタンをクリックします。

ファイルから検索の使用

CPU のコア数が多いほど、検索速度も向上する可能性がありますが、ディスクの読み込み速度に制約がある場合も考えられます。そのため、デフォルトでは最大 4 スレッドに制限しています。

スレッド数を増やしたい場合は、Mery.ini ファイルの[General]セクションにMaxThreads=8のように追記することで、スレッド数の上限を調整することができます。

マルカ 湯たんぽ Aエース 2.5L 袋付 022524

マルカ 湯たんぽ Aエース 2.5L 袋付 022524
マルカ(Maruka)
あたたかなひととき、マルカ湯たんぽがお供します。冬の寒さも、心地よい温かさで快適に。
Amazon で探す 楽天市場で探す

カーソル移動のコマンドを追加

カーソルの移動や選択範囲の変更などの操作にショートカット キーを割り当てることができるようになりました。これにより、キーボード中心の操作にも幅広く対応できます。

カーソル移動のコマンドを追加

たとえば、以下のように、カーソルの移動などのコマンドに方向キー以外を割り当てて、Emacs のような操作を実現できます。

  • 1 文字右へ移動: Ctrl+F
  • 1 文字左へ移動: Ctrl+B
  • 1 行上へ移動: Ctrl+P
  • 1 行下へ移動: Ctrl+N
  • 文字の選択を開始: Ctrl+Space

ちなみに、[文字の選択を開始] を実行すると文字選択モードに切り替わり、[切り取り] や [コピー] を実行するか、テキストを編集すると文字選択モードが解除されます。また、Escキーを押すか、[選択範囲の取り消し] でも文字選択モードを解除することができます。

追加されたコマンド

編集

  • 1 文字左を削除
  • 行の 2 重化: Shift+Ctrl+Y

    以前はマクロからしか使用できなかった機能ですが、最適化を行い、標準の機能として実装しました。

移動

カーソルの移動に関連する操作です。ショートカット キーが割り当てられていない場合、方向キーを使用して移動します。

  • 1 文字右へ移動、1 文字左へ移動
  • 1 単語右へ移動、1 単語左へ移動
  • 1 行上へ移動、1 行下へ移動
  • 1 ページ上へ移動、1 ページ下へ移動
  • 行頭へ移動
  • 行頭またはテキストの開始位置へ移動: Home

    現代のエディターでは、Homeキーはこの動作が一般的なため、Mery でもHomeキーをこのコマンドに割り当てました。従来の動作に戻したい場合は、ショートカット キーを削除するか、Homeキーを [行頭へ移動] に割り当ててください。

  • 行末へ移動
  • 文頭へ移動、文末へ移動
  • 対応する括弧へ移動: Ctrl+]

    以前はマクロを使用して対応していましたが、Windows 11 のメモ帳でこの機能が標準で実装されたため、それに合わせて機能を追加しました。

文字の選択

文字の選択に関連する操作です。ショートカット キーが割り当てられていない場合、Shift+方向キーを使用して文字を選択します。

  • 文字の選択を開始: F8
  • 1 文字右まで選択、1 文字左まで選択
  • 1 単語右まで選択、1 単語左まで選択
  • 1 行上まで選択、1 行下まで選択
  • 1 ページ上まで選択、1 ページ下まで選択
  • 行頭まで選択
  • 行頭またはテキストの開始位置まで選択: Shift+Home

    従来の動作に戻したい場合は、ショートカット キーを削除するか、Shift+Homeキーを [行頭まで選択] に割り当ててください。

  • 行末まで選択
  • 文頭まで選択、文末まで選択
  • 対応する括弧まで選択: Shift+Ctrl+]

    カーソルの位置に応じて、選択範囲が括弧内または括弧外に設定されます。

  • 選択範囲の取り消し

    ショートカット キーが割り当てられていない場合、Escキーを使用します。

列の選択

列の選択に関連する操作です。ショートカット キーが割り当てられていない場合、Shift+Alt+方向キーを使用して列を選択します。

  • 列の選択を開始: Shift+Ctrl+F8
  • 1 文字右まで列を選択、1 文字左まで列を選択
  • 1 単語右まで列を選択、1 単語左まで列を選択
  • 1 行上まで列を選択、1 行下まで列を選択
  • 1 ページ上まで列を選択、1 ページ下まで列を選択
  • 行頭まで列を選択
  • 行頭またはテキストの開始位置まで列を選択: Shift+Alt+Home

    従来の動作に戻したい場合は、ショートカット キーを削除するか、Shift+Alt+Homeキーを [行頭まで列を選択] に割り当ててください。

  • 行末まで列を選択
  • 文頭まで列を選択、文末まで列を選択

スクロール

  • 1 行上へスクロール、1 行下へスクロール

その他

  • 編集モードの選択: Ctrl+K, M

    2 ストローク キーのショートカットに対応し、VSCode のCtrl+K, Mのような操作感で編集モードを選択できるようにしてみました。

上記のコマンドの右側に記載しているショートカット キーは、新規インストール時またはリセット時の既定値です。アップデートの場合、これらは重複を避けるために上書きされません。

アイリスオーヤマ スロークッカー 簡単調理 ほったらかし 保温モード 1.6L 角煮 カレー 煮魚 ラクラク操作 時短料理 4レシピ付き ホワイト PSC-20K-W

アイリスオーヤマ スロークッカー 簡単調理 ほったらかし 保温モード 1.6L 角煮 カレー 煮魚 ラクラク操作 時短料理 4レシピ付き ホワイト PSC-20K-W
アイリスオーヤマ(IRIS OHYAMA)
時間を味方につけて、美味しい料理を楽しむ。スロークッカーの魔法を体験しよう。
Amazon で探す 楽天市場で探す

2 ストローク キーのショートカット

この機能は、Word、VSCode、Sublime Text、Emacs などのエディターで広く採用されており、特定のキーの組み合わせを使用してコマンドを実行することができます。

たとえば、Ctrl+Kを押した後にCtrl+Lのようなキーの組み合わせにショートカットを設定できるため、ショートカット キーの不足を解消できるだけでなく、押しやすい位置のキーを使用できます。

また、最初のキーを基準にして関連するコマンドを整理することで、わかりやすく分類することもできます。

2 ストローク キーのショートカットの設定

ショートカットの設定方法は、従来の Mery の操作と変わりませんが、Ver 3.6.1 からは設定画面のレイアウトが少し変更されています。

  1. [ツール] メニューから [オプション] を選択し、[オプション] ダイアログを表示します。
  2. [キーボード] カテゴリを選択します。
  3. [分類] を選択してから、ショートカット キーを割り当てたい [コマンド] を選択します。
  4. [新しいショートカット キー] にカーソルを移動し、割り当てる最初のキーを押します。
  5. 続けて次のキーを押します。

2 ストローク キーのショートカットの設定

キーの入力を誤った場合、キーをもう一度押すことで再設定できます。

1 ストロークのショートカットとして既に別のコマンドに割り当てられているキーを、2 ストロークの最初のキーとして割り当てた場合、1 ストロークのショートカットが優先されます。

大島椿 60mL おまけ付 椿油 ヘアオイル 洗い流さないトリートメント しっとり 肌 頭皮

大島椿 60mL おまけ付 椿油 ヘアオイル 洗い流さないトリートメント しっとり 肌 頭皮
大島椿
髪の美しさに贅沢な自然の力。椿油が髪を癒し、輝かせます。まるで毛根に生命を吹き込むかのよう。
Amazon で探す 楽天市場で探す

キーボード マップのインポートとエクスポート

キーボード マップのインポートとエクスポート機能が追加されました。これにより、キーボード ショートカットを手軽に共有したり、別の環境の Mery に移行したりすることができます。

キーボード マップのインポート

キーボード マップのインポート機能を使用すると、カスタム キーボード設定をファイルから読み込むことができます。

使い方

  1. [ツール] メニューから [オプション] を選択します。
  2. [キーボード] カテゴリを選択し、[インポート] ボタンをクリックします。
  3. インポートしたいキーボード マップ ファイル (*.mky) を選択して [開く] をクリックします。

キーボード マップ ファイルは、テキストエディターで編集可能なKey=Value形式のテキストファイルです。

キーボード マップ ファイル
[Default]
; 新規作成
FileNewAction=Ctrl+N
; 開く
FileOpenAction=Ctrl+O
; 閉じて開く
FileCloseOpenAction=
; 上書き保存
FileSaveAction=Ctrl+S
キーボード マップ ファイルにおいて、Key が存在し、Value が空の場合、該当コマンドのショートカット キーは空になります。Key が存在しない場合、コマンドのショートカット キーは変更されず、そのまま維持されます。また、同じキーが複数のコマンドに割り当てられている場合、前にあるコマンドが優先されます。

キーボード マップのエクスポート

キーボード マップのエクスポート機能を使用すると、カスタム キーボード設定をファイルとして保存できます。

この機能は、異なる環境で Mery を使用する場合や、バックアップを作成する場合に便利です。また、他のユーザーに自分の設定を共有するためにも利用できます。

使い方

  1. [ツール] メニューから [オプション] を選択します。
  2. [キーボード] カテゴリを選択し、[エクスポート] ボタンをクリックします。
  3. キーボード マップを保存する場所とファイル名を指定し、[保存] をクリックします。
マクロ、プラグイン、外部ツールなどのコマンドのショートカット キーもファイルに出力されますが、設定をインポートする際に該当のマクロやプラグインが未登録だったり、パスが異なったりする場合、その設定は無視されます。また、キーボード マップ ファイルはテキストエディターで編集可能です。ファイルを共有する際には、マクロやプラグインなど、環境に依存する項目を削除しておくことをおすすめします。

設定のインポートとエクスポートに対応

新たに追加された便利な機能として、Mery の設定を簡単にインポート、エクスポート、リセットできるようになりました。

設定の管理

これらの機能は、環境の切り替えや設定のバックアップなど、さまざまな用途に適しています。ただし、最近のファイルの履歴や検索履歴など、あらゆる設定が含まれることに注意してください。

また、エクスポートしたファイルには絶対パスや相対パスが含まれることがあり、異なる環境での使用時にも注意が必要です。

なお、これらの機能は Mery 本体の設定が対象となります。プラグインを使用している場合、プラグインの設定は含まれません。

検索/置換ダイアログで複数行の入力に対応

検索/置換ダイアログでの複数行のテキスト入力に対応しました。これにより、正規表現を気にせずに改行文字やタブ文字を含むテキストを検索/置換できるようになりました。

使い方

  1. メニューから [検索] または [置換] を選択し、ダイアログを開きます。
  2. [検索する文字列] の右にある [>] ボタンをクリックし、メニューから [複数行] を選択します。
  3. 改行文字はCtrl+Enter、タブ文字はCtrl+Tabで挿入できます。

テキスト ボックスの右下の [v] ボタンをクリックすると、検索した文字列の履歴がドロップダウン リストで表示されます。また、キーボードでの操作では、Ctrl+またはを使用できます。

テキスト ボックスのサイズは、ダイアログ右下のグリップをマウスでドラッグすることで調節できます。

Windows の仕様により、テキストボックスは 1024 文字で自動的に折り返されます。また、改行文字を含む検索/置換の場合、検索文字列は強調表示されません。

変更ログ

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

3.6.5 (2024-01-22)

  • [変換中の文字列を挿入モードで入力] がオンのとき、IME の前後フィードバックが後方に対して効かなかったのを改善

    しかしながら、最近の IME はそもそも前後フィードバックに対応してないようです。

  • Windows XP で、[変換中の文字列を挿入モードで入力] がオンのとき、IME の前後フィードバックが固まることがある問題の対策

    Windows XP のサポートは終了したいところです。

  • 自動マーカーを更新するタイミングを調整

    フォーラム 行末改行含む1行選択時の挙動に関する要望

  • マルチ カーソルで [元に戻す] を実行したとき、折り返し位置が再計算されないことがある問題を修正

    フォーラム マルチカーソルで改行削除 → 元に戻す (Ctrl+Z) で文字の表示位置がずれる

  • マルチ カーソルで [元に戻す] を実行したとき、進捗ダイアログが表示されるとエディターウィンドウが再描画される問題の対策

    動作に問題はありませんが、一部のテキストが処理途中で一瞬見えてしまう現象があったので、それを軽減するために再描画を抑制しました。

  • マルチ カーソルで改行を削除したとき、特定の条件下で動作速度が低下する問題の対策

    カーソルの数が 1 万を超える状態で、行末の改行を削除すると、進捗ダイアログの表示速度が遅くなることがありました。

  • [Zen モード] で行番号が表示されていないとき、[行番号 (選択行)] の背景色が描画されていたのを修正
  • その他、細かい修正

3.6.4 (2023-12-23)

3.6.3 (2023-11-15)

3.6.2 (2023-10-29)

  • [キーボード] の設定の [分類] の項目名を [カテゴリ] に戻した
  • [キーボード] の設定の [カテゴリ] に [移動/選択] を追加
  • [キーボード] の設定の [新しいショートカット キー] で Ctrl + A を押すと文字列が選択されていたのを修正
  • [移動/選択] カテゴリに以下のコマンドを追加

    • 論理行の行頭へ移動
    • 論理行の行末へ移動
    • 論理行の行頭まで選択
    • 論理行の行末まで選択

    フォーラム 折り返しを無視した行頭/行末への移動

  • サンプル マクロの [重複行の削除] の動作速度を改善

    フォーラム 重複行の削除マクロ(RemoveDuplicates.js)の処理速度

    フォーラムで、高速に動作する [重複行の削除] マクロを教えていただきました。貴重な情報を提供いただき、ありがとうございます!

  • サンプル マクロに [空行の削除] を追加
  • 複数のファイルを選択して Enter キーで Mery を起動したとき、ウィンドウが背面に表示される問題の対策

    フォーラム 複数ファイルを選択した状態でEnterキーを押してもMeryのウィンドウが自動的に立ち上がらない

  • Zen モードの状態でタブを閉じたとき、特定の条件下でクラッシュすることがある問題を修正

    フォーラム [タブとウィンドウ]で特定の設定にしてZenモード中に文書を閉じるとクラッシュする

  • 対応する括弧に "[]" を追加
  • [特別な構文] が [HTML] のとき、対応する括弧に "<>" を追加

    フォーラム 対応する括弧の強調・移動

  • リスト ビューの [すべて選択] の動作速度を改善

    選択の動作が遅いのは、Windows のリスト ビューの仕様によるもので、大量の項目をコピーして貼り付けた場合など、時間がかかることがありますが、改善策は見当たりませんでした。

  • INI ファイルの [強調文字列] のデータ形式を変更

    長い間、いつか仕様を変更しようと検討していました。

    というのも、Delphi のドキュメントに「注: Windows .ini ファイルで使用する場合、ReadBinaryStream は1023 文字に制限されます。」と記載があったため、これに対処すべく自前で文字を分割して保存していました。

    しかし、TMemIniFile ではそのような制限がないことが判明し、これにより完全に無駄な処理であることが分かりました。

    結果的に、INI ファイルへのバイナリ データの読み書きが 10 倍以上高速化されました。

    ただし、下位互換性を維持するため、従来の[Mode\<ModeName>]セクションのCount=およびWord0...=のデータは自動的には削除されません。INI ファイルの容量を削減したい場合は、手動で削除していただく必要があります。

    なお、新たなキーは、[Mode\<ModeName>]セクションのWord=です。

  • それに伴い、INI ファイルのバージョンを上げた

    Mery を以前のバージョンに戻す場合、警告が表示されます。また、Ver 3.6.2 で記録された [強調文字列] のデータは以前のバージョンでは認識できないため、警告を無視して以前のバージョンで起動を続行すると、データは削除されます。

  • Wine で起動時にクラッシュする問題の対策 (64 ビット版)
  • Wine で [オプション] ダイアログを表示するとクラッシュする問題の対策 (64 ビット版)
  • Wine でタブをドラッグするとクラッシュする問題の対策 (64 ビット版)
  • Wine で [マーカー バー] のボタンのアイコンが表示されなかったのを修正

    フォーラム Wine上のMery Ver 3.6.1 (64 ビット版) ポータブルが起動時にクラッシュする

  • 検索で水平スクロールが発生したときに、検索した文字列の開始位置が画面の中央付近に来るようにしたのを廃止

    Ver 3.6.1 で導入してみましたが、スクロール量が増えたことにより、検索した文字列付近の文脈を見失いやすくなったため、この変更を取りやめました。

  • 選択範囲がある状態での [1 行上/下へ移動]、[1 ページ上/下へ移動] で、選択範囲の開始位置と終了位置に応じて起点を変えるようにした

    メモ帳、VSCode、Visual Studio 2022、Sublime Text などに合わせました。

  • 行番号をクリックしたときの行選択で、カーソル位置を末尾側に変更
  • 1 行選択で、カーソルが次の行の行頭にある場合、[自動マーカー] の対象になるようにした

    フォーラム 行末改行含む1行選択時の挙動に関する要望

  • 行が折り返されている場合、[読み直し] でカーソル位置が正しく復元されない問題を修正

    フォーラム [読み直し]を行うと行がずれる

  • その他、細かい修正

3.6.1 (2023-10-17)

  • 2 ストローク キーのショートカットに対応

    VSCode で初めて 2 ストロークのショートカットを試してみたとき、最初は「少し慣れが必要かな」と感じましたが、慣れてくると快適さを実感できるようになりました。

  • それに伴い、INI ファイルのバージョンを上げた

    Mery を以前のバージョンに戻す場合、警告が表示されます。また、2 ストローク キーのショートカットの設定は以前のバージョンには引き継がれません。

  • 設定のインポートとエクスポート、リセットに対応

    バックアップや環境の移行を考えて追加しました。ただし、エクスポートしたファイルには最近のファイルの履歴や検索履歴などが含まれており、設定の共有などには向いていません。

  • キーボード マップのインポートとエクスポートに対応

    他のユーザーと設定を共有する用途にも使用できます。単純なテキストファイルなので、エディターで編集もできます。ただし、マクロやプラグイン、外部ツールなど、環境に依存する部分もあるのでご注意ください。

  • Alt + 方向キーにショートカットを割り当てられるようにした

    フォーラム Meryの キーアサインについての照会です

    フォーラム Alt+Up 等のキーを設定で入力可能に

  • 選択範囲がある状態で左右キーを押したとき、選択範囲の解除に仕様変更

    最近では、メモ帳をはじめ、多くのエディターがこの仕様になっているようなので、Mery もそれに合わせました。

  • [オプション] の [アクセント カラーを使用する] を [タブとウィンドウ] カテゴリへ移動

    スペースの都合で配置を変更しました。

  • [オプション] の [基本] カテゴリに [自動的に無題の文書に名前を付ける] を追加

    最近では、メモ帳をはじめ、多くのエディターが文書に名前を自動で付与する仕様になっているようです。Mery もこのトレンドに合わせて対応しました。

  • [マルチ カーソルを有効にする] の既定値をオンにした

    VSCode や Sublime Text などの影響で、マルチ カーソルが一般的になってきたため、Mery でもデフォルトでマルチ カーソルを有効にしました。ただし、既存の設定が上書きされるわけではないため、アップデートの際には自動的に有効にはなりません。

  • 対応する括弧の強調で、解析の上限を 200 行まで増やした

    以前は、対応する括弧の解析はページ内に制限されていましたが、200 行までの範囲では動作速度に問題はないと判断し、この制限を拡張しました。

  • 対応する括弧の強調で、カーソル位置の左側も対象にした

    フォーラム 【要望】キャレット左側にある括弧を対象とした対応する括弧の検出

  • 対応する括弧の強調で、<>を対象から削除した

    数式の大なり小なり記号と干渉しないようにしました。

  • 検索で水平スクロールが発生したときに、検索した文字列の開始位置が画面の中央付近に来るようにした

    フォーラム 行を折り返さない設定での検索について

  • [キーボード] の設定で [新しいキー] に Alt キーの組み合わせを入力したとき、ビープ音が鳴っていたのを抑制

    開発環境では音がオフになっていたため、気づきませんでした。

  • [キーボード] の設定のレイアウトを変更

    2 ストローク キーに対応した結果、キーの入力欄の幅が必要になり、それに合わせてレイアウトを変更しました。

  • [キーボード] の設定に [説明] 項目を追加

    [説明] 項目を追加し、[選択範囲を行に分ける] などのコマンドの内容を分かりやすくしました。それに加えて、マルチ カーソルをデフォルトで有効にすることで、以下の問題に対応しました。

    フォーラム 「選択範囲を行に分ける」(Ctrl+Alt+L)というコマンドの名称について

  • [キーボード] の設定の [現在の割り当て] から [>] ボタンで対象の項目にジャンプできるようにした

    キー割り当てが重複した場合、元の項目に簡単に移動できます。

  • マクロを記録して、[マクロ] の [編集] を実行したとき、編集モードを JavaScript にするようにした
  • メニュー コマンドをある程度、マクロに記録できるようにした

    直接的なマクロのメソッドがないコマンドは、editor.ExecuteCommandByID()を使用して記録されますが、すべてのコマンドが正しく動作するとは限りません。

  • マクロの実行中はステータス バーを更新しないようにした

    カーソル移動などでステータス バーが更新されると、マクロの実行速度に影響を与える可能性があるため、それを抑制しました。

  • 以下のコマンドを追加

    - [編集]
    	- 1 文字左を削除
    	- 1 文字右へ移動
    	- 1 文字左へ移動
    	- 1 単語右へ移動
    	- 1 単語左へ移動
    	- 1 行上へ移動
    	- 1 行下へ移動
    	- 1 ページ上へ移動
    	- 1 ページ下へ移動
    	- 行頭へ移動
    	- 行頭またはテキストの開始位置へ移動: Home
    	- 行末へ移動
    	- ドキュメントの開始位置へ移動
    	- ドキュメントの終了位置へ移動
    	- 対応する括弧へ移動: Ctrl + ]
    	- 文字の選択を開始: F8
    	- 列の選択を開始: Shift + Ctrl + F8
    	- 1 文字右まで選択
    	- 1 文字左まで選択
    	- 1 単語右まで選択
    	- 1 単語左まで選択
    	- 1 行上まで選択
    	- 1 行下まで選択
    	- 1 ページ上まで選択
    	- 1 ページ下まで選択
    	- 行頭まで選択
    	- 行頭またはテキストの開始位置まで選択: Shift + Home
    	- 行末まで選択
    	- ドキュメントの開始位置まで選択
    	- ドキュメントの終了位置まで選択
    	- 対応する括弧まで選択: Shift + Ctrl + ]
    	- 1 文字右まで列を選択
    	- 1 文字左まで列を選択
    	- 1 単語右まで列を選択
    	- 1 単語左まで列を選択
    	- 1 行上まで列を選択
    	- 1 行下まで列を選択
    	- 1 ページ上まで列を選択
    	- 1 ページ下まで列を選択
    	- 行頭まで列を選択
    	- 行頭またはテキストの開始位置まで列を選択: Shift + Alt + Home
    	- 行末まで列を選択
    	- ドキュメントの開始位置まで列を選択
    	- ドキュメントの終了位置まで列を選択
    	- 選択範囲の取り消し
    	- 行の 2 重化: Shift + Ctrl + Y
    - [表示]
    	- 編集モードの選択: Ctrl + K, M
    - [ツール]
    	- 設定のインポート
    	- 設定のエクスポート
    	- すべての設定をリセット
    - [ウィンドウ]
    	- 1 行上へスクロール
    	- 1 行下へスクロール
    

    フォーラム [要望] カーソルキーを別キーに置き換えたいのです

    フォーラム 行頭 行末への移動

  • マクロに document.selection.GoToBracket メソッドを追加

    引数に False を指定すると、[対応する括弧へ移動] し、True を指定すると、[対応する括弧まで選択] します。

  • マクロに document.Vertical プロパティを追加

    マクロから [縦書き] モードのオン/オフを操作できるようになりました。

  • マクロの document.selection.StartOfLine メソッドに meLineHomeText フラグを追加

    [行頭またはテキストの開始位置へ移動]、[行頭またはテキストの開始位置まで選択] に該当します。

  • マクロの editor.FindInFiles と editor.ReplaceInFiles を複数のフォルダーに対応

    たとえば、editor.FindInFiles("Mery", "C:\\Projects\\Mery\\|C:\\Temp\\*.md;*.txt", meFindRecursive);のように指定します。

  • マクロの document.selection.DuplicateLine メソッドの動作を改善

    [行の 2 重化] に該当します。コマンドを実行した後、選択範囲が保持されるようになり、行を選択している場合、カーソルが行頭にある行は対象外とするなど、動作が改善されました。

  • サンプル マクロの [連続する重複行を削除] を連続しなくても重複行を削除できるようにした

    従来は、並べ替えた後に使用する必要がありましたが、並び順を気にせずに使用できるようになりました。

  • サンプル マクロに [番号の挿入] を追加

    私が必要としていた機能です。通常、指定した範囲の連番を挿入するだけですが、列選択やマルチカーソルを使用すると、指定した番号を基準にしてカーソル位置に自動的に連番を挿入してくれます。

  • サンプル マクロの最適化と、ファイル名を英語に変更

    以前の Mery には、マクロにタイトルを付ける機能がなかったため、ファイル名を日本語にしていましたが、このアップデートに伴い、ファイル名を英語に変更しました。サンプル マクロは不要であれば削除してください。

  • 初回起動時、[マクロ] メニューに自動的にサンプル マクロを登録するようにした

    サンプル マクロの存在を知らないユーザーさんもいらっしゃるかもしれませんので、初回インストール時にメニューに登録するようにしました。

  • マクロの [カスタマイズ] ダイアログに [リセット] ボタンを追加

    上記のサンプル マクロの自動登録は、アップデートの場合には行われません。[リセット] ボタンをクリックすると、初回インストール時の状態に戻り、サンプル マクロが自動的に登録されます。

  • [名前を付けて保存] のとき、マクロの [ファイルを保存する前] イベントと、 プラグインの EVENT_FILE_SAVING でファイル名を取得できるようにした

    これにより、EditorConfig プラグインで [名前を付けて保存] のときにも.editorconfigを検出できるようになります。

  • [読み直し] で、マクロに [ファイルを開いた時] イベント、プラグインに EVENT_FILE_OPENED を送信するようにした

    フォーラム 低速な回線下でファイルサーバ上のファイルを開いておくとタブの切り替えに時間がかかる

  • [読み直し] でバイナリ ファイルだったときの動作を修正
  • [縦書き] でショートカット キーに方向キーが含まれている場合、自動的に右に 90 度回転するようにした

    たとえば、[次の文字列を検索] のShift+Ctrl+は、[縦書き] モードでShift+Ctrl+を使用してコマンドを実行できます。

  • [縦書き] でカーソルを左右に移動したとき、カーソルの位置が維持されなかったのを修正
  • ワークスペースを復元したとき、ウィンドウのサイズによっては下部にスクロールの余白が出ることがあったのを修正
  • スクロール バー マーカーを表示していると、行数が 8,000,000 を超えたあたりでクラッシュする問題を修正
  • インストーラーで、インストールする項目をカスタマイズできるようにした

    フォーラム アップデート時、入力補完の辞書ファイルを残す方法はありますか?

  • インストーラーで、フォルダーのコンテキスト メニューに [Mery でファイルから検索] を追加できるようにした

    Ver 3.6.0 で grep が高速化されたため、Mery の grep を簡単に呼び出せるようにしてみました。

  • その他、細かい修正

3.6.0 (2023-09-06)

  • [ファイルから検索]、[ファイルから置換] をマルチスレッド対応にして高速化

    フォーラム 検索置換がらみで細々と

    マルチスレッド対応に加え、2 回目以降の検索では Windows キャッシュを活用することで、さらに高速に動作するようになりました。

  • アプリケーションが非アクティブなときの、メッセージ ボックスの挙動を修正

    フォーラム エラー表示について

    この修正は、Mery 本体で例外が発生した際に表示されるエラー ダイアログに関するものです。プラグインが表示するダイアログに関しては、プラグイン側で適切な親ウィンドウを指定する必要があります。

  • 単語左へのカーソル移動と、[単語左削除] で、サロゲート ペア、異体字、絵文字を構成する文字の間にできるだけカーソルが移動しないようにした
  • サロゲート ペアの漢字を [全角漢字] として扱うようにした

    フォーラム U+10000 以降の文字の単語カーソル移動について

    漢字の範囲は Unicode 15.1 に対応しています。

  • マルチ カーソルでカーソル位置の更新に時間がかかっていたのをある程度改善

    カーソルの数が多い場合、編集を行う際にカーソル位置の更新が非常に遅かったため、ある程度の改善を行いました。

  • [最近のファイル表示数] の初期値を 16 にした
  • 予期しないエラーが発生したときに、クラッシュ レポートを出力するようにした

    例外が発生した場合、より効率的なサポートを提供するため、スタック トレースやモジュール リストなどの情報をファイルに出力するクラッシュ レポート機能を導入しました。

    とはいえ、Mery はデジタル署名のないフリーソフト (野良アプリとも呼ばれます) なので、クラッシュ レポートを自動的に送信するような機能は実装していません。

    クラッシュ レポートに個人情報は含まれませんが、モジュール パスにはユーザー フォルダーの名前などが含まれることがあります。クラッシュ レポートをフォーラムに投稿される際には、ご注意ください。

    また、不具合のご報告についてはメールでも受け付けていますので、クラッシュ レポートを添付いただけますと、調査の助けになります。

  • メニュー内のコンテキスト メニューからモーダル ダイアログを開いたときに、タスク バーのボタンがロックされる問題の対策

    フォーラム Mery以外のタスクバーボタンをクリックしてもウィンドウが切り替わらない

  • その他、細かい修正

ダウンロード

導入が簡単なインストーラー版、設定ファイルを外部に作成しないポータブル版、レジストリを一切使用しない ZIP 版を用意しています。

インストーラー版

解凍などの作業が必要なく簡単に使えるインストーラー版です。

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

ポータブル版

インストールは不要。通常の ZIP 版と異なり設定ファイルを外部に作成しないので USB メモリに保存して持ち歩けますし、PC 環境を汚すこともありません。

Mery Ver 3.6.5 (64 ビット版) ポータブル Mery Ver 3.6.5 (32 ビット版) ポータブル
ポータブル版は解凍したフォルダの中に、設定ファイルなどのすべてのデータを保存しますので、必ずアクセス権のあるフォルダに配置してください。

ZIP 版

アーカイブを解凍するだけですぐに使える ZIP 版です。

Mery Ver 3.6.5 (64 ビット版) ZIP Mery Ver 3.6.5 (32 ビット版) ZIP
ZIP 版はレジストリを汚したくないかた向けにインストーラー版の内容を ZIP アーカイブにしたものです。1 つの環境に複数の Mery を導入する場合は ZIP 版ではなくポータブル版をご利用ください。

おわりに

今回の [ファイルから検索] 機能の改善について、マルチスレッド対応と Windows キャッシュの最適化により、かなりの快適さを感じています。

さて、grep の高速化に関しては、以前から多くの皆様からのご要望をいただいていましたが、私のパソコンは長らく Core™2 Duo (2 コア) のスペックで、マルチスレッド対応の開発が難しい状況でした。

しかし、最近、Core™ i5-4670 (4 コア) のパソコンを手に入れ、ようやくマルチスレッド対応の開発環境を整えることができました。

それでも旧型なもので、Windows 11 がサポートされているなど、もう少し高性能なパソコンが欲しいと考えていますが…。

また、2 ストロークのショートカットやカーソル移動へのキー割り当ては、外観は地味かもしれませんが、実際にはプログラムの大規模なカスタマイズが必要でした。

Emacs のようなキー割り当てへのご要望は、Mery の初期から寄せられており、これまでは手動でマクロを利用してカスタマイズするしかありませんでした。

しかし、15 年以上もの年月をかけて、ついにそのご要望に応えることができました。ベータ版の検証にご協力いただいた皆様と、開発支援にご協力いただいた皆様に、心から感謝申し上げます!

コールマン(Coleman) テント ツーリングドーム ST 1~2人用

コールマン(Coleman) テント ツーリングドーム ST 1~2人用
コールマン(Coleman)
テントでアウトドアの自由を楽しもう。コンパクトデザイン、アクティブなライフスタイルにぴったり。
Amazon で探す 楽天市場で探す

広告

Mery の最新版を公開している当サイトや、マクロやプラグイン、構文ファイルやテーマなどをご投稿いただいて、みなさんで共有できるウィキ システム「MeryWiki 」は、現在 ColorfulBox というレンタル サーバーで運営しています。

スポンサーリンク

関連する記事

フォローする