Skip to content
/ unity Public

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

License

Notifications You must be signed in to change notification settings

ohtorii/unity

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Unityマクロ

Maintenance License: MIT Coverity

はじめに

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 プロセス一覧
tab タブ一覧
window ウインドウ一覧

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

操作方法

検索バッファ

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

カーソル移動

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

テキスト編集

キー 説明 備考
Del or Ctrl-d or Ctrl-Backspace Delete
Ctrl-t Transpose
Ctrl-k KillLine
Ctrl-u LineDiscard
Backspace or Ctrl-h Backspace

候補バッファ

キー 説明 備考
前候補へ移動
次候補へ移動
PageUp 1ページ前へ移動
PageDown 1ページ後ろへ移動
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.mac fileソースへ引数を渡す × ×
unity_file_paths.mac ファイルパスに関するソース(file,directroy_mru,file_mru)を指定して起動 × ×
unity_file_snipetts.mac.mac default-actionを指定するスニペットのサンプル ×
unity_menu.mac メニューからソースを一つ選択して呼び出す。ソースを一つ選択することに特化 × × ×
unity_menu_manual.mac 利用頻度の高いソースをメニュー化する例 × × ×
unity_source_directory.mac directroyソースを指定して起動 × × ×
unity_source_directory_mru.mac directroy_mruソースを指定して起動 × × ×
unity_source_directory_recursive.mac directroy_recursiveソースを指定して起動 × × ×
unity_source_emoji.mac emojiソースを指定して起動 × × ×
unity_source_file.mac fileソースを指定して起動 × × ×
unity_source_file_mru.mac file_mruソースを指定して起動 × × ×
unity_source_file_recursive.mac file_recursiveソースを指定して起動 × × ×
unity_source_hilight.mac hilightソースを指定して起動 × × ×
unity_source_outline.mac outlineソースを指定して起動 × × ×
unity_source_process.mac processソースを指定して起動 × × ×
unity_source_tab.mac tabソースを指定して起動 × × ×
unity_source_window.mac windowソースを指定して起動 × × ×

動作環境のカスタマイズ(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

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

動作環境

  • 秀丸エディタ 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からゲームを寄付してくれるとうれしいです😘

開発の励みになります。