秀丸エディタ用の動的スニペットマクロです。
秀丸エディタ用のスニペットマクロは色々と公開されていますが、それらは静的スニペットで固定的なテキストしか生成できません。
「可変個の引数・テキストを書いている状況」に応じてスニペットを生成したく、動的スニペットマクロ(Yet Another Hidemaru Snippet)を作成しました。
このマクロではスニペットに、
- [動的なスニペット] 秀丸マクロ・Python・VBScript・JavaScript・WindowsBatch
- [静的なスニペット] テキストファイル
の両方を使用できます。
従来の静的スニペットに加えて「可変個の入力・テキストを書いている状況」に応じた動的スニペットを利用できます。
論より証拠、
「動的スニペット・静的スニペット」の動作を以下スクリーンショットでご確認下さい。
コマンド | 動作 |
---|---|
toc | 目次(Table Of Contents)の挿入 |
table | テーブルの挿入 |
image | imageのテンプレートを挿入 |
link | linkのテンプレートを挿入 |
imageとlinkは引数の並び順を覚えなくても使えるようにしました。(scrapboxの表記を参考にしました)
コマンド | 動作 |
---|---|
date | 日にちの挿入 |
time | 時間の挿入 |
repeat | 文字列の繰り返しを挿入 |
コマンド | 動作 |
---|---|
@cmd | コマンドプロンプトの実行 |
コマンドプロンプトを実行して、
- カレントディレクトリのファイル一覧
- フォルダ構造
- 環境変数
などを取得できます。
空行でマクロを実行するとスニペット挿入GUIが起動します。
スニペットを選んでから引数を入力すると秀丸エディタへスニペットを挿入できます。
このマクロを使い始めたとき「どんなスニペットがあるのか分からず途方に暮れる」という問題を解決するために用意しました。
このマクロ(動的スニペット)は1つのテキストから100のテキストを一気に作るという思想で作成しています。逆に、静的スニペットは100のテキストを少ないキー打鍵で作るという考えです。
それぞれに優劣は無く高い山を西から登るか東から登るかの違いです。なので、スニペットの選択肢が1つ増えたと思って下さい😘
ディフォルトで以下のスニペット定義を用意しています。
- BAT
- C#
- C/C++
- Cuda
- FX
- Go
- Hidemaru macro
- Html
- Markdown
- Perl
- PHP
- Python
- Text
もちろん、ユーザー独自のスニペットを追加することも出来ます! (追加方法は後述で)
VisualStudioのスニペット定義を可能な範囲で移植しています。
TextMate のスニペット定義を可能な範囲で移植しています。
まずは、動作確認を行った安定バージョンをダウンロードして下さい。
https://github.com/ohtorii/ya_hidemaru_snippet/releases
masterブランチを取得しても多分動作しないです。(動作確認を行っていないため)
全ファイルとフォルダを秀丸エディタのスクリプトディレクトリにコピーしてください。
コピー後のディレクトリ構成
hidemaru_macrodir
└─ya_hidemaru_snippet
├─ya_hidemaru_snippet.mac
├─ya_change_snippet_mode.mac
├─config.ini
├─doc
├─internal
└─snippets
本マクロを動かすには以下のDLLが必要です、それぞれダウンロードして導入してください。
それぞれ、32bitと64bit版があります、適切なDLLを導入してください。
あなたの環境に合わせてマクロの動作をカスタマイズするにはdoc/customize.mdを参照して下さい。
まず、以下のマクロをショートカットキーに割り当てます。
ファイル名 | 説明 |
---|---|
ya_hidemaru_snippet.mac | スニペットマクロ本体 |
ya_change_snippet_mode.mac | スニペットモード変更マクロ(オプション) |
ya_hidemaru_snippet.mac
をショートカットキーに割り当てて下さい。
- Ctrl-Enter
- Alt-Enter
ちなみに、私はCtrl-Enterに割り当てています。(なんか、えいやー という感じなので)
ya_change_snippet_mode.mac
をショートカットキーに割り当ててください。(必須ではありません好みに応じて)
スニペットマクロを常時利用していると、時々、スニペットモードを一時的に変更したくなるときがあります。 そんな時が来たらこのマクロを思い出してください。
スニペットのモード(text-mode/c-mode/cs-mode...)を一時的に変更するマクロです。
(用途の例)
- 新規ファイル(text-mode)のスニペットをpython-modeへ変更する
- markdownのファイル(markdown-mode)編集中に、C++のコードをスニペットで挿入する
ユーザー定義のスニペットを作成するにはdoc/snippet_spec.mdを参照して下さい。
- 秀丸エディタ ver8以降
- 田楽DLL
- ht_tools.dll (http://htom.in.coocan.jp/)
それぞれ最新版をご利用下さい。
ご参考までに。
- Windows 10 64bit
- 秀丸エディタ 64bit ver 8.90 β11
- 田楽DLL 64bit ver Ver.3.22.1
- ht_tools.dll 64bit ver 1.24.00β4
こちらから動作確認済みのパッケージをダウンロードして下さい。
https://github.com/ohtorii/ya_hidemaru_snippet/releases
masterブランチを取得しても多分動作しないです。
ブランチを作らずに気楽に開発してます。(仕事じゃないしね😉)
バージョン番号の表記方法
バージョン番号は version 1.2.3 のように表記され、それぞれ major.minor.revision を表します。
番号 | 説明 |
---|---|
major | 互換性が失われる大きな変更を表します |
minor | 機能追加のように互換性のある更新を表します |
revision | バグ修正のように機能そのものに変化が無い軽微な更新を表します |
- TextMate スニペット書式をかなり参考にしました。
- emacs yasnippet
- YASnippet Hidemarized
もし気に入ってくれたらSteamからゲームを寄付してくれるとうれしいです😘
開発の励みになります。