Skip to content

Latest commit

History

585 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Unityマクロ

MaintenanceLicense: MITCoverity

はじめに

Unityマクロとは秀丸エディタ用の統合ユーザーインターフェースです。

最初に検索パターンを入力することで一致する対象(ファイル名、ウインドウ名など)を絞り込み、選択した対象を操作(開く、挿入するなど)するインターフェースを提供します。

ヒデマラー向け説明

unite.vimの秀丸エディタ版です、Emacsでいうところのanything.el的存在です。

スクリーンショット

文字列の挿入

文字列の挿入

ファイル履歴(file_mru)を検索してファイルを開く

file_mru

ファイル履歴(file_mru)の削除

file_mru

プロセスのkill

process

auto preview オプション

auto preview オプションをONにするとpreviewアクションを自動的に呼び出します。

ファイルの場合

autopreview file

備考

ファイルの先頭行をアウトプット枠に表示します。

ハイライト(強調表示)の場合

autopreview hilight

備考

秀丸エディタのハイライト(強調表示)を変更すると、ウインドウフォーカスが切り替わり使い勝手が悪いです。 その使いにくさを回避するため事前に手作業でウインドウを分離しました。

Unityマクロのインターフェース

インターフェース

Unityマクロ用語

source(ソース)

候補(candidates)を集めてくる秀丸マクロのこと。

標準のソース一覧

  • directory
  • directroy_mru
  • directroy_recursive
  • file
  • file_mru
  • file_recursive
  • emoji
  • process
  • window
  • など

もちろんユーザー作成のソースも自由に追加できます。

kind(カインド)

候補(candidates)の型に対応した操作(action)をまとめた秀丸マクロです。

標準のカインド一覧

  • common
  • file
  • file_base
  • cdable
  • process
  • window
  • など

もちろんユーザー作成のカインドも自由に追加できます。

カインドは複数のactionを持っています、例えばcommonカインドは以下のアクションを持っています。

(例)
commonカインド
nopアクション
yancアクション
echoアクション
insertアクション
:
:
など

action(アクション)

選択した候補に対して行う操作のことです。

アクションは幾つかのフラグを持っています。

  • 複数の候補を選択可能か
  • ユーザーが編集中のテキストを変更するか
  • 操作後すぐに終了するか
  • 操作後に新たな候補を生成するか
  • ...など

画面の名称

二つの画面(バッファ)があります。

  • 検索バッファ
  • 候補バッファ

インターフェース

検索バッファ

検索の候補を空白区切りで入力します、候補は大文字小文字の区別をせずAND検索します。

候補バッファ

絞り込み検索した結果をリアルタイムで表示します。

さらに、アクションの対象とする候補を複数選択することができます(赤文字の行)。

source(ソース)一覧

標準のソース一覧です。

ソース名説明その他
directoryカレントディレクトリの一覧
directory_mruディレクトリ履歴
directory_recursiveカレントディレクトリ以下のディレクトリ一覧(再帰)候補を非同期で取得するため、ファイル数が多くてもそれなりに動きます
emoji絵文字(Full Emoji List, v13.0)http://unicode.org/emoji/charts/full-emoji-list.html
fileカレントディレクトリのファイル一覧
file_mruファイル履歴
file_recursiveカレントディレクトリ以下のファイル一覧(再帰)候補を非同期で取得するため、ファイル数が多くてもそれなりに動きます
hilight強調表示
lines編集中テキストの一行
markマーク一覧
outlineアウトライン枠の内容
processプロセス一覧
everythingファイル検索Windowsの高速なファイル検索ソフトeverythingと、コマンドラインツールのes.exeが必要です
tabタブ一覧
windowウインドウ一覧

引数指定可能なソースがあります、それぞれのファイル冒頭のコメントを参照してください。

操作方法

検索バッファ

行編集が主なので概ねBashに準拠しています。

カーソル移動

キー説明備考
← or Ctrl-bカーソル左
→ or Ctrl-fカーソル右
Home先頭へ
End最後へ

テキスト編集

キー説明備考
Del or Ctrl-d or Ctrl-BackspaceDelete
Ctrl-tTranspose
Ctrl-kKillLine
Ctrl-uLineDiscard
Backspace or Ctrl-hBackspace

候補バッファ

キー説明備考
前候補へ移動
次候補へ移動
PageUp1ページ前へ移動
PageDown1ページ後ろへ移動
Ctrl-space候補をマークする複数の候補を選択するとき利用します
Ctrl-a候補を全て選択する
Enterディフォルトアクションを実行する
Esc一つ前のバッファに戻る

共通

キー説明備考
Ctrl-wタブを分離するタブモード時のみ有効。auto-previewと組み合わせると便利
Ctrl-c or Ctrl-qマクロを終了する

マクロの導入方法

まずは、動作確認を行った安定バージョンをダウンロードして下さい。

https://github.com/ohtorii/unity/releases

masterブランチは動作確認を行っていないため動作しないです。(仕事じゃないので気楽に開発してます☺)

ディレクトリ構成

全ファイルとフォルダを秀丸エディタのスクリプトディレクトリにコピーしてください。

コピー後のディレクトリ構成

hidemaru-editor-script-directory
└unity
├─help
├─internal
├─kinds
└─sources

依存DLLのインストール

本マクロを動かすには以下のDLLが必要です、それぞれダウンロードして導入してください。

32bitと64bit版があります、適切なDLLを導入してください。導入方法はそれぞれのドキュメントを参照しください。

補足

田楽DLLとはGUI表示などを行うDLLです。

ショートカットキー

unity_dialog.mac をショートカットキーに割り当てて下さい。

(例)

  • Ctrl-@
  • Ctrl-:
  • Ctrl-;
  • Ctrl-.
  • Ctrl-/

コマンド実行っぽいキーを列挙してみました。

unity_dialog.macを起動する

ショートカットキーを押下してunity_dialog.mac を起動すると、 GUI

↑こんなダイアログが開きます。

ソース(file_mruとかprocessとか)を選んでEnterキーを押下すると絞り込み検索が始まります😙

いろいろな方法でUnityマクロを呼び出す

以下の表からご自身の都合に合うマクロをショートカットキーに割り当ててご利用ください。

汎用型マクロと特化型マクロの二通りを用意しました、それぞれ数行のマクロで理解しやすいと思います。上級ヒデマラーの皆様におかれましてはカスタマイズしてお使いください。

ファイル名説明ソースの複数選択オプション指定ソースの引数指定
unity_dialog.macダイアログから複数ソースとオプションを指定可能×
unity_file_argument.macfileソースへ引数を渡す××
unity_file_paths.macファイルパスに関するソース(file,directroy_mru,file_mru)を指定して起動××
unity_file_snipetts.mac.macdefault-actionを指定するスニペットのサンプル×
unity_menu.macメニューからソースを一つ選択して呼び出す。ソースを一つ選択することに特化×××
unity_menu_manual.mac利用頻度の高いソースをメニュー化する例×××
unity_source_directory.macdirectroyソースを指定して起動×××
unity_source_directory_mru.macdirectroy_mruソースを指定して起動×××
unity_source_directory_recursive.macdirectroy_recursiveソースを指定して起動×××
unity_source_emoji.macemojiソースを指定して起動×××
unity_source_file.macfileソースを指定して起動×××
unity_source_file_mru.macfile_mruソースを指定して起動×××
unity_source_file_recursive.macfile_recursiveソースを指定して起動×××
unity_source_hilight.machilightソースを指定して起動×××
unity_source_outline.macoutlineソースを指定して起動×××
unity_source_process.macprocessソースを指定して起動×××
unity_source_everything.maceverythingソースを指定して起動××Todo:次期バージョンで対応したい
unity_source_tab.mactabソースを指定して起動×××
unity_source_window.macwindowソースを指定して起動×××

動作環境のカスタマイズ(config.ini)

config.iniを環境毎に編集してください。

;秀丸ファイラーClassicへのパス
[hidemaru_filer_classic]
path_x64="C:\Program Files\HmFilerClassic\HmFilerClassic.exe"
path_x86="C:\Program Files (x86)\HmFilerClassic\HmFilerClassic.exe"
;引数の詳細は「秀丸ファイラーClassic ヘルプ → 起動時のオプション」を参照してください。
arguments="/t /select,"
;ディフォルトの動作に任せる場合
;arguments=""
;アクション固有の設定
[action]
;アクション実行後に待機する時間(ミリ秒)
;ウインドウ、ハイライトのプレビューなどから参照。
sleep=1500

通常はディフォルトのままで良いです、もし不都合あれば編集してください。

ソースのカスタマイズ(sources\everything.ini)

'es.exe'のパスを指定できます。

[paths]
;
;es.exeのパスを指定します
;
exe=%HOMEDRIVE%%HOMEPATH%\hidemaru\macro\bin\everything\es.exe
;exe=%ProgramFiles%\Everything\es.exe

動作環境

  • 秀丸エディタ ver 9.15 以降

秀丸マクロの新命令を利用しているため必ず上記バージョン以降をお使いください。

動作確認を行った環境

ご参考までに。

64 bit 環境

  • Windows 10 64bit
  • 秀丸エディタ 64bit ver 8.91
  • 田楽DLL 64bit ver Ver.3.22.1

32 bit 環境

  • Windows 10 64bit
  • 秀丸エディタ 32bit ver 8.91
  • 田楽DLL 32bit ver Ver.3.22.1

ダウンロード

こちらから動作確認済みのパッケージをダウンロードして下さい。

https://github.com/ohtorii/unity/releases

注意

masterブランチを取得しても多分動作しないです。

ブランチを作らずに気楽に開発してます。(仕事じゃないしね😉)

バージョン番号のルール

バージョン番号の表記方法

バージョン番号は version 1.2.3 のように表記され、それぞれ major.minor.revision を表します。

番号説明
major互換性が失われる大きな変更を表します
minor機能追加のように互換性のある更新を表します
revisionバグ修正のように機能そのものに変化が無い軽微な更新を表します

git clone で取得する場合

クローンと同時にサブモジュールもクローンするために、以下コマンドを実行してください。

git clone --recursive https://github.com/ohtorii/unity.git

サブモジュールをクローンしないと色々と動かないです😢

ソースとカインドを作成する方法

このドキュメントを参照してください。

help/extension.md

その他

ここに書き切れない情報を以下ドキュメントにまとめました。

help/README.md

謝辞

思想とソースコードをかなり参考にさせてもらいました😘😘😘

参考書籍

作者に感謝

連絡先

寄付

もし気に入ってくれたらSteamからゲームを寄付してくれるとうれしいです😘

開発の励みになります。

About

unite.vimの秀丸エディタ版です、Emacsでいうところのanything.el的存在です。

Topics

Resources

Stars

4 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages