Espansoで;rvと打てばAIへの依頼文が出る!Macの無料テキスト展開の設定とハマりどころ
🙌 結論から
AIに毎回同じお願いを打っている人は、Espansoを入れたほうがいいです!
Espansoは、決めた文字を打つと長い文章に置き換えてくれる「テキスト展開」のアプリです。
無料でオープンソース、Mac・Windows・Linuxで同じ設定ファイルが使えます🙌
私は ;rv と打つと、AIに差分レビューを頼むときの依頼文が丸ごと出るようにしています。
ほかにも ;today で今日の日付、;nippo で日報のフォームが開くようにしました✨
もう当たり前感あるけど、AIへの依頼って結局「毎回同じ前置き」の繰り返しなんですよね・・・。
その前置きを3文字に縮められるのが、Espansoを入れて一番よかったところでした。
💡 Clipyの定型文があるのに入れた理由
定型文自体は、前からClipyのスニペットで管理していました。
Clipyはショートカットでメニューを開いて、そこから選んで貼る形です。
これはこれで便利なんですが、入力している途中で手を止めてメニューを探すのが、ちょっとだけ面倒でした(´・ω・`)
Espansoは、入力欄に ;rv と打った瞬間にその場で文章に置き換わります。
メニューを開く工程がないので、SlackでもCursorのチャット欄でもブラウザのフォームでも、指が止まりません!
もうひとつ大きかったのが、設定がYAMLのテキストファイルだという点です。
会社の貸与PCと自分のMacで同じファイルを使えるので、定型文が2台でズレなくなりました👍
🔧 入れ方と最初にやること
Homebrewを使っているなら、これだけです👍
brew install espanso
公式サイトからDMGを落として、アプリケーションフォルダに入れる方法もあります。
DMGはIntelとApple Siliconの両方で動くユニバーサル版で、対応OSはmacOS 10.13以降です。
起動すると、文字を打ち込む仕組み上、アクセシビリティの許可を求められます。
システム設定のプライバシーとセキュリティ → アクセシビリティで、Espansoをオンにしてください🙏
設定ファイルの場所は、ターミナルで espanso path と打つと出てきます。
Macだと ~/Library/Application Support/espanso の中で、自分の定型文は match/base.yml に書いていきます✨
espanso edit を実行すると、この base.yml がエディタで開きます。
私は結局Cursorで直接開いて編集しています(^^)
2026年10月時点の最新版はv2.4.1(9月2日公開)です。
ログアウトして入り直したあとにEspansoが起動しなくなる問題が、この版で直っています(^^)
✨ 私のbase.ymlはこれ
いま実際に入れているものから、よく使う4つを抜き出しました。
トリガーは全部 ; で始めています。
普通の文章で ; のあとに英字を続けることはまずないので、うっかり展開される事故が起きにくいからです💡
matches:
# 今日の日付(議事録・日報の見出し用)
- trigger: ";today"
replace: "{{today}}"
vars:
- name: today
type: date
params:
format: "%Y-%m-%d"
# AIに差分レビューを頼むときの依頼文
- trigger: ";rv"
replace: |
この差分をレビューしてください。
次の3つを、重要なものから箇条書きで返してください。
- バグになりそうな箇所
- 考慮漏れ(null・空配列・権限まわり)
- 名前が分かりにくい変数や関数
確信がないものは「要確認」と付けてください。
# コピーしたURLをMarkdownのリンクにする
- trigger: ";md"
replace: "[$|$]({{clip}})"
vars:
- name: clip
type: clipboard
# Laravelのコマンドの書き出し
- trigger: ";art"
replace: "php artisan "
一番使っているのは、やっぱり ;rv です!
Claude CodeでもCodexでも、レビューを頼む前に毎回これを出してから、案件ごとの一言を足しています😎
;md は、URLをコピーしてから打つと [](URL) の形で出てきて、カーソルが [ と ] の間に止まります。
$|$ がカーソルを置く位置の印です。
READMEやObsidianのメモにリンクを貼るとき、かなり楽・・!
長い依頼文でも一瞬で出るのは、既定の設定だと100文字を超える置き換えをキー入力ではなくクリップボード経由で貼り付けているからです。
貼ったあとは元のクリップボードの中身に戻そうとしてくれるので、コピーしていたものが消えることもほぼありません(・∀・)
🔥 日報はフォームで埋めるだけにした
Espansoには、展開する前に小さな入力画面を出す「フォーム」という機能があります。
これで日報のひな形を作ったら、Slackに日報を書く時間がだいぶ短くなりました🎉
- trigger: ";nippo"
form: |
【本日の作業】
[[done]]
【明日の予定】
[[next]]
【困っていること】[[blocker]]
form_fields:
done:
multiline: true
next:
multiline: true
blocker:
type: choice
values:
- 特になし
- レビュー待ち
- 仕様の確認中
;nippo と打つと3つの欄がある画面が出て、埋めてから Submit を押すか CTRL+Enter で確定します。
[[done]] のように角かっこ2つで囲んだところが入力欄になります。
「困っていること」は毎回だいたい同じなので、選ぶだけのchoiceにしました😊
v2.4.0からは、一覧から選ぶ欄(list)でCTRLかSHIFTを押しながら複数を選べるようにもなっています。
🤔 ハマった点と回避策
便利な前提ですが、最初につまずいたところが3つあります(・_・;)
ひとつ目は、急に何も展開されなくなること。
メニューバーのEspansoのアイコンが変わっていたら、macOSの「Secure Input」が働いている状態です。
パスワードの入力欄などで、ほかのアプリから文字を打ち込めないようにする仕組みで、裏で動いているパスワード管理アプリが原因になることが多いそうです。
私の場合も、パスワード管理アプリを一度終了して開き直したら戻りました(^_^)
ふたつ目は、検索バーのショートカットがほかのアプリとぶつかること。
登録した定型文を一覧から探す検索バーは、既定だと Option+Space で開きます。
ほかのアプリでこのキーを使っているなら、config/default.yml の search_shortcut で別のキーに変えられます。
日本語入力をよく使う人は、v2.4.0以降にしておくのがおすすめです。
検索バーで日本語を変換している途中の Enter を、Espansoが横取りしてしまう問題がこの版で直っています👀
トリガーそのものは、英数入力のときに打つ前提で決めておくと迷いません!
みっつ目は、特定のアプリでだけ止めたいとき。
config フォルダにファイルを1つ足すと、そのアプリを使っている間だけ設定を変えられます。
# config/remote.yml
filter_class: "(#detect# で出てきた値)"
enable: false
filter_class に入れる値は、止めたいアプリの入力欄で #detect# と打つと表示されます!
私は会社の検証環境につなぐリモートデスクトップを開いている間だけ、これで止めています💪
🔗 関連記事と使い分け
- Clipy:コピー履歴を30個前までさかのぼる用。定型文はEspansoに移して、Clipyは履歴専用にしました
- Keyboard Maestro:アプリを開く・ウィンドウを動かすなど「操作」をまとめる用。文字を入れるだけならEspansoのほうが設定が軽いです
ざっくり言うと、文字はEspanso、履歴はClipy、操作はKeyboard Maestroという分け方に落ち着きました(`・ω・´)
パパ系Webエンジニア〜愛用ガジェット一覧 🛍️
Macとあわせて使っている周辺機器を楽天ROOMにまとめています ✨ 在宅Macデスクの参考にどうぞ 🙌
👍 まとめ
Espansoは、AIへの依頼文や日報みたいな「毎回ほぼ同じ文章」を数文字に縮めてくれるアプリでした!
無料で、設定がテキストファイルなので、2台のMacで同じものを使えるのもかなりありがたいです。
ひとつだけ挙げるなら、YAMLのインデントがずれると読み込まれないので、最初は少しだけ慣れが要ります。
それでも、;rv の3文字でレビュー依頼が出るのはマジで快適です😊
AIに毎日何かを頼んでいる人は、まずよく打つ依頼文を1つだけ登録してみてください🙌
みんなはAIに毎回打ってる決まり文句、ありますか?
※ バージョン番号・料金・機能は今後も変わる可能性があります。最新情報はEspansoの公式サイトをご確認ください👀