Takoashi

マクロが多すぎてキーが足りない人へ。拡張子別のキー割り当て、言語別のコードスニペット、マクロランチャー etc.

Version 1.14 2016/01/07

目次

概要

  • 「割り当てたい機能が多すぎてキーが足りない!」「割り当てたいマクロが多すぎてマクロ登録枠が足りない!」といった重度のヒデマラーを救済します。次の機能があります:
    • ひとつのキーに対し、ファイルタイプごとに異なる機能を割り当てる
    • ひとつのキーに複数の機能を割り当てて、メニューで選択する
    • ひとつのキーに複数の文字列挿入機能を割り当てて、連打で循環する
    • 1行マクロを設定ファイルに直接書く
  • 柔軟な文字列挿入機能を搭載。別途マクロを書かなくても次のようなことができます:
    • 選択文字列をタグで囲む
    • 複数行のコードスニペットを挿入
    • 挿入後に指定位置へカーソル移動 and/or 指定位置を範囲選択
  • このほか、既存のマクロを実行したり、URL を開いたり、ヘルプファイルを検索したりできます。
  • 複数選択された各範囲に対して機能を実行できます。
    • 既存のマクロを改造しなくても、Takoashi を介して実行すれば複数選択に対応させることができる…かも?

ダウンロード

セットアップ

インストール

  1. 秀丸エディタ ver 8.56 以降をお使いですね?
  2. マクロフォルダの位置を確認します。マクロフォルダは秀丸の [その他]-[動作環境]-[パス]-[環境]-[マクロファイル用のフォルダ] で指定されているフォルダです。
  3. ダウンロードしたアーカイブをマクロフォルダに解凍します。
  4. ht_tools.dll を入手して Takoashi フォルダに置きます。*1
  5. [マクロ]-[マクロ登録] で Takoashi.mac を適当な番号に登録します。
  6. [その他]-[キー割り当て] で適当なキーに割り当てます。
  7. 割り当てたキーを押してマクロを起動します。初回起動時に設定ファイルが自動生成されます。

インストール後のファイル配置は次のようになります。

■マクロフォルダ\
│・Takoashi.mac             … 起動マクロ
└■Takoashi\
  ・Takoashi-Main.mac      … 本体マクロ
  ・user=<ユーザ名>.ini    … 設定ファイル
  ・readme.html            … このドキュメント
  ・ht_tools.dll

アンインストール

  1. インストール時と同じ方法でキー割り当てを解除します。
  2. 同様にマクロ登録も解除します。
  3. Takoashi.mac と Takoashi フォルダを削除します。レジストリは使ってません。

*1
マクロフォルダか hidemaru.exe と同じフォルダに置いても OK です。help コマンドを使わないのであれば必要ありません。

使ってみよう

細かい説明は後回しにして、とりあえずマクロを動かしてみましょう。

  1. [その他]-[キー割り当て] で Alt+< キーと Alt+> キーの両方に Takoashi.mac を割り当てます。*1
  2. Takoashi フォルダにある設定ファイル user=<ユーザ名>.ini を秀丸で開き、次の設定例をコピペします。ファイルパスは環境に合わせて書き換えてください。
    user=<ユーザ名>.ini
    [.ini]
    Alt+<=insert "[\I]" "\"\I\"" "'\I'"
    Alt+>={golinetop2; if (code==';') delete; else insertfix ";";}
    
    [.htm]
    ==[HTML]
    
    [.html]
    ==[HTML]
    
    [HTML]
    Alt+<=insert "<a href=\"\I\">\S</a>"
    Alt+>=puts "<div class=\"\I\">\n\t\S\n</div>" "<ul class="\I">\n\t<li>\n\t\t\S\n\t</li>\n</ul>"
    
    [default]
    Alt+<=macro 'D:\HidemaruMacro\Hidematter.mac'
    Alt+>=menu "Google検索(&G)=ググる" "秀丸エディタのヘルプ(&H)=ヘルプ"
    ググる=url "https://www.google.com/search?q=\S"
    ヘルプ=help '%ProgramFiles(x86)%\Hidemaru\hidemaru_html.chm'
    
  3. 設定ファイルのエンコードが Unicode(UTF-16) の BOM 付き、改行コードが CR+LF になっていることを確認して保存します。
  4. 拡張子 .ini のファイルを開き、割り当てたキーを押してマクロを実行します。
    Alt+<Alt+>
  5. 拡張子 .htm または .html のファイルを開き、適当な文字列を範囲選択した状態で、割り当てたキーを押してマクロを実行します。
    Alt+<Alt+>
  6. その他の拡張子 (.txt など) のファイルを開き、適当な単語にカーソルを置いた状態で、割り当てたキーを押してマクロを実行します。

この設定例をベースとして自分に合った Takoashi 環境を作っていきましょう。設定の詳細はコマンド一覧設定ファイルの書き方を参照してください。作者が今使ってる設定ファイルが参考になるかもしれません。


*1
ここでは例として Alt+< と Alt+> を使いますが、空いている適当なキーに読み替えてもかまいません。

コマンド一覧

insert
文字列を挿入します。引数が2個以上ある場合、連打で循環します。

設定例:

Ctrl+K=insert "【\S】" "〖\S〗" "〘\S〙" "〚\S〛"
Ctrl+L=insert "<a href=\"\I\I\" title="\I\I">\S</a>"
puts
insert と同じですが、インデントが自動補正されます。複数行にわたるコード片などを挿入するのに便利です。

設定例:

Ctrl+T=puts "try {\n\t\S\n} catch (e) {\n\t\I\n}"
Ctrl+D=puts "<dl>\n\t<dt>\S</dt>\n\t<dd>\n\t\t\S\n\t</dd>\n</dl>"
macro
ファイルに保存されている秀丸マクロを実行します。

設定例:

Ctrl+M=macro 'Hoge.mac' 引数1 引数2 ...
Ctrl+Q=macro '%USERPROFILE%\HidemaruMacro\Hoge.mac'

設定ファイルにマクロを直接書くには macro コマンドではなくマクロ記法を使います。

macro*
macro と同じですが、複数選択を Takoashi 側で分解し、各範囲に対してマクロを実行します。

設定例:

Ctrl+M=macro* 'Hoge.mac' 引数1 引数2 ...
Ctrl+Q=macro* '%USERPROFILE%\HidemaruMacro\Hoge.mac'
url
URL を関連付けで開きます。単語を web 検索するのに使えます。

設定例:

F12=url "http://eow.alc.co.jp/search?q=\S"
help
ヘルプファイル (拡張子 .chm) を開き、カーソル位置の単語または選択文字列を検索します。

設定例:

F1=help '%ProgramFiles(x86)%\Hidemaru\hidemac_html.chm'
menu
メニューを表示し、選択された項目に対応するキーを参照します。ひとつの引数がひとつのメニュー項目になります。

設定例:

F1=menu "HTMLヘルプ(&H)=F1,H" "PHPヘルプ(&P)=F1,P" "Rubyヘルプ(&R)=F1,R"
F1,H=url "https://developer.mozilla.org/ja/search?q=\S"
F1,P=url "http://jp2.php.net/manual-lookup.php?lang=ja&function=\S"
F1,R=url "http://rurema.clear-code.com/query:\S/"

*1
INI ファイル形式の制約を受けます。セミコロン ; または角括弧 [ で始まる名前と、イコール = を含む名前は使えません。最初と最後のホワイトスペースは無視されます。
*2
具体的には、項目名の \(&.\)|&(.)\1 に置換した文字列です。

設定ファイルの書き方

設定ファイルは Takoashi-Main.mac と同じフォルダにある user=<ユーザ名>.ini という名前のテキストファイルです。エンコードは UTF-16 (BOM 付き) でなければなりません。

設定ファイルの中身は INI ファイル形式です。ファイルタイプ別のセクションの下に、キーと設定値のペアを1行ずつ書いていきます。設定値には「コマンド」「マクロ記法」「参照記法」の3種類があります。

[ファイルタイプ]
キー=コマンド
キー={マクロ記法}
キー==参照記法

ファイルタイプ

INI ファイルのセクションには、ファイルタイプを指定します。ファイルタイプは通常、ピリオドで始まる拡張子です。大文字小文字は区別されません。拡張子の代わりに下記の特殊なファイルタイプも指定できます。

ファイルタイプ意味
[.]拡張子なし
[new]無題
[grep]Grep結果
[executing]実行中
[exeresult]実行結果
[webbrowse]Webブラウズモード
[default]該当するファイルタイプがない場合のデフォルト

参照記法を使って複数のファイルタイプの設定をひとつのセクションにまとめることもできます。

キー

INI ファイルのキーには、マクロ起動時に押すキーを指定します。指定可能なキーは 0 1 2 3 4 5 6 7 8 9 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z @ [ \ ] ^ _ < > - / : ; Home End Bksp Enter Ins Del Up Down Right Left Tab Space PgUp PgDn F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 のいずれかと、それに先行するモディファイヤ Alt+ Shift+ Ctrl+ の組合せです。大文字小文字は区別されません。モディファイヤは必ず Alt+Shift+Ctrl+ の順に書かなければなりません。

設定例:

F1=
Ctrl+K=
Shift+Up=
Shift+Ctrl+>=
Alt+Bksp=
Alt+Ctrl+\=
Alt+Shift+Del=
Alt+Shift+Ctrl+[=

コマンド

設定値としてコマンドを書くと、コマンド一覧にある各種機能が実行されます。

コマンドは、スペースで区切られた1個以上の引数をとることができます。引数にスペース・引用符・エスケープシーケンス (後述) を含めたい場合は、引数を引用符で囲みます。

エスケープシーケンス意味
\\バックスラッシュ文字 \
\"ダブルクォート文字 "
\tタブ文字
\n改行文字
\S実行前の選択文字列
\I実行後のカーソル位置/選択文字列

設定例:

Ctrl+J=insert 第1引数 第2引数
Ctrl+K=insert '第1引数 "quoted"' '第2引数 \\←two backslashes'
Ctrl+L=insert "第1引数 \"quoted\"" "第2引数 \\←one backslash"

マクロ記法

設定値を波括弧 { } または二重波括弧 {{ }} で囲むと、設定値がそのまま秀丸マクロとして実行されます。

設定例:

Ctrl+9={message "No additional escaping required.\n";}
Ctrl+0={{message "This is executed for each region.\n";}}

参照記法

設定値としてイコール = に続けてキー名・セクション名・ファイル名を書くと、他の設定を参照することができます。任意の名前をもつキー・セクション・ファイルを参照先として作ることができます。

キー==他のキー
キー==[他のセクション]
キー==[他のセクション]他のキー
キー==<他のファイル>
キー==<他のファイル>[他のセクション]
キー==<他のファイル>[他のセクション]他のキー

設定例:

user=<ユーザ名>.ini
[.php]
Ctrl+J==Ctrl+8
Ctrl+8==insert "()"
Ctrl+K==[HTML]
Ctrl+L==[PROG]Ctrl+0
Alt+F1==<help.ini>

[HTML]
Ctrl+K=insert "<p>"

[PROG]
Ctrl+0=insert " == "
help.ini
[.php]
Alt+F1=help 'D:\Manual\php_manual_ja.chm'

上の例では、.php ファイル上で

それぞれ実行されます。

デフォルト値

キーが見つからない場合や設定値が空の場合は、次の順序でデフォルト値が検索されます。

  1. 当該セクションの無名キー
  2. default セクションの当該キー
  3. default セクションの無名キー

これを使って複数のファイルタイプの設定を1か所にまとめたり、既存の設定を継承して新しい設定を作ったりすることができます。

設定例:

user=<ユーザ名>.ini
[.php]
==[.html]
Ctrl+J=insert "()"
; Ctrl+K, Ctrl+L, Alt+F1 が見つからない → 無名キーを参照 → [.html] を参照

[.html]
Ctrl+K=insert "<p>"
; Ctrl+L, Alt+F1 が見つからない → 無名キーも見つからない → [default] を参照

[default]
==<help.ini>
Ctrl+L=insert " == "
; Alt+F1 が見つからない → 無名キーを参照 → <help.ini> を参照
help.ini
[.php]
Alt+F1=help 'D:\Manual\php_manual_ja.chm'

上の例では、.php ファイル上で

それぞれ実行されます。

お約束

動作環境

ライセンス

配布場所

一次配布場所は Wisteria - 秀丸マクロ - Takoashi です。二次配布は次のところで行われています。

類似品の紹介

既知の問題

バージョン履歴

Version 1.14 (2016/01/26)
Version 1.14 (2016/01/07)
Version 1.12 (2015/11/23)
Version 1.11 (2015/11/08)
Version 1.1 (2015/11/05)
Version 1.03 (2015/11/04)
Version 1.02 (2015/11/03)
Version 1.01 (2015/11/02)
Version 1.0 (2015/11/01)

フィードバック

バグ報告、提案、質問、ツッコミなどは 談話室 へどうぞ。