🟩 もくじ
PhraseExpressはATOKと相性が悪いらしいので、PhraseExpressは避けてEspansoにした
■Google日本語入力の使いやすさをATOKから変更して検証したよ | ヨッセンス
Espansoのダウンロード
- 【Portable zip (64-bit)】を選んでダウンロードして、適切な場所で解凍する。
- ■Installation - Espanso - A Privacy-first, Cross-platform Text Expander
Espansoの設置
- WindowsのスタートアップにEspansoへのショートカットを置いておき、Windows起動時にEspansoを立ち上げるようにする。
C:\Users\%username%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
Espansoの使い方|[:hugo]
- 任意の場所で[:hugo]と打てば、以下のようなものが、クリップボードに入力されるので、手動で貼り付ける。
- [:hugo]などのトリガーは、「Espansoの置換ファイル|
*.yml
|[UTF8〔BOMなし〕][CR+LF]」で指定する。 - WZ EDITORだと、以下のような文字列が、別の意味に解釈されてしまい、エラーが出るため、いったんクリップボードに読み込むようにしてある。
+++
date = "2025-05-18T22:52:52+09:00"
slug = "2025-05-18-22-52-52-09-00"
categories = ["●●●カテゴリー"]
tags = ["●●●タグ"]
title = "●●●タイトル"
+++
## ●●●タイトル
Espansoの使い方|[:today][:Today]
- 任意の場所で[:today][:Today]と打てば、その場で置換される。
- [:today][:Today]などのトリガーは、「Espansoの置換ファイル|
*.yml
|[UTF8〔BOMなし〕][CR+LF]」で指定する。
EspansoがRustで書かれていることは、HugoがGoで書かれているのとパラレルである
- ■chrono::format::strftime - Rust
- Espansoは内部的にRustで書かれており、日付や時刻の書式指定にこのchronoライブラリの記法を利用している。
- Espansoのformatパラメータの仕様は、このchronoのドキュメントに準じている。
Espansoの日時にかんする記法
■local date formats · Issue #156 · espanso/espanso
■Extensions | Espanso
Espansoの基本など
■Matches Basics | Espanso
■Extensions | Espanso
■Organizing matches | Espanso
Espansoの置換ファイル|*.yml
|[UTF8〔BOMなし〕][CR+LF]
「Espansoの置換ファイル|*.yml
|[UTF8〔BOMなし〕][CR+LF]」の設置場所
C:\Drawers\Freeware\Writing\Espanso\espanso-portable\.espanso\match
C:\Drawers\Freeware\Writing\Espanso>tree
フォルダー パスの一覧
ボリューム シリアル番号は 4438-2F16 です
C:.
└─espanso-portable
├─.espanso
│ ├─config
│ └─match
│ └─packages
└─.espanso-runtime
└─kvs
C:\Drawers\Freeware\Writing\Espanso>
「Espansoの置換ファイル|*.yml
|[UTF8〔BOMなし〕][CR+LF]」の中身
# espanso マッチファイル
# 詳しい説明については、公式ドキュメント(https://espanso.org/docs/)をご覧ください。
# このファイルを使用して、espanso を使用するすべてのアプリケーションで使用できる基本マッチ(スニペット)を定義できます。
# マッチとは置換ルールです。「トリガー」文字列を入力すると、
# 「置換」文字列に置き換えられます。
matches:
- trigger: ":today"
replace: "{{today}}"
vars:
- name: today
type: date
params:
format: "%FT%T+09:00"
- trigger: ":Today"
replace: "{{Today}}"
vars:
- name: Today
type: date
params:
format: "%F-%H-%M-%S-09-00"
- trigger: ":hugo"
replace: "{{hugo}}"
vars:
- name: hugo
type: shell
params:
cmd: "cmd /c C:\\Drawers\\BatchScript\\GenClipHugo.bat"
# And much more! For more information, visit the docs: https://espanso.org/docs/
Espansoのバッチファイル|*.bat
|[UTF8〔BOMなし〕][CR+LF]|設置場所は任意〔*.ps1
ファイルを参照する〕
@echo off
chcp 65001 > nul
powershell -NoProfile -ExecutionPolicy RemoteSigned -File "%~dp0GenClipHugo.ps1"
exit /b
EspansoのPowerShellスクリプト|*.ps1
|[UTF8-B〔BOM付き〕][CR+LF]|設置場所は任意〔*.bat
ファイルから参照される〕
$now = Get-Date -Format "yyyy-MM-ddTHH:mm:ss+09:00"
$slug = Get-Date -Format "yyyy-MM-dd-HH-mm-ss-09-00"
$hugoContent = @"
+++
date = "$now"
slug = "$slug"
categories = ["●●●カテゴリー"]
tags = ["●●●タグ"]
title = "●●●タイトル"
+++
## ●●●タイトル
"@
# すべての改行コードをCRLFに統一
$hugoContent = $hugoContent -replace "`r`n", "`n" # いったんLFに統一
$hugoContent = $hugoContent -replace "`r", "`n" # 残ったCRもLFに
$hugoContent = $hugoContent -replace "`n", "`r`n" # 最終的にCRLFに
Set-Clipboard -Value $hugoContent