同じような文章の繰り返し入力をしていませんか?
メモ帳に記してある定型文リストはありませんか?
そんな繰り返しの文字入力を効率化するアプリである Espanso を紹介します。
いわゆる「スニペット管理」アプリです。
【目次】
- Espanso とは?
- 対応プラットフォーム
- インストール方法
- 設定はファイルを自ら編集するスタイル
- 基本設定
- スニペットの設定
- 複数行のテキスト
- マッチ設定の反映
- トリガーの工夫
- 高度な設定
- 動的マッチ
- カーソルヒント
- シェルコマンドの実行
- グローバル変数
- スクリプトの実行
- まとめ
Espanso とは?
Espansoは、オープンソースかつ無料で利用できるクロスプラットフォームのスニペットアプリです。
Windows, MacOS, Linuxのような主要OSに対応しています。
スニペットアプリとは、短いキーワードを入力するだけで、事前に設定した長いテキストやフレーズを瞬時に入力できるアプリのことです。
例えば、頻繁に使うメールアドレスや住所などを短いキーワードに割り当てておけば、そのキーワードを入力するだけで、瞬時に完全なテキストに変換されます。
これにより、繰り返し入力する手間を省き、作業効率を大幅に向上させることができます。
対応プラットフォーム
Espansoは、Windows、macOS、Linuxの全ての主要なオペレーティングシステムで動作します。また、正規表現やシェルスクリプトなどの高度な機能もサポートしており、様々なニーズに応じた柔軟な設定が可能です。
インストール方法
Espansoのインストールは非常に簡単です。以下の手順に従ってインストールを行ってください。
- Espansoの公式サイトにアクセスします。
- Windows、macOS、Linuxのいずれかのインストール手順に従って、Espansoをダウンロードしてインストールします。
- インストールが完了したら、以下のコマンドを実行してEspansoが正しく動作しているか確認します。
espanso status
設定はファイルを自ら編集するスタイル
Espansoの設定は主に2つのファイルで行います。
config/default.yml
match/base.yml
各OSでのEspansoのディレクトリは以下の通りです。
- Linux:
$XDG_CONFIG_HOME/espanso
(例:/home/user/.config/espanso
) - macOS:
$HOME/Library/Application Support/espanso
(例:/Users/user/Library/Application Support/espanso
) - Windows:
{FOLDERID_RoamingAppData}\\espanso
(例:C:\\Users\\user\\AppData\\Roaming\\espanso
)
例えば、私のWindows環境では下記のパスにありました。エクスプローラーアプリでこのように入力すればたどり着けます。ただしユーザー名(Abe)だけは変更してくださいね。
C:\Users\Abe\AppData\Roaming\espanso
基本設定
まずは基本設定から始めましょう。config/default.yml
ファイルは初めて使用する場合、特に変更する必要はありません。しかし、必要に応じて、メニューバーのアイコンを非表示にするなどの設定ができます。
show_icon: false
スニペットの設定
スニペットの設定は match/base.yml
ファイルに書き込みます。以下は基本的なスニペットの設定例です。
matches:
- trigger: ":hello"
replace: "world"
この設定では、:hello
と入力すると world
に変換されます。
複数行のテキスト
複数行のテキストをスニペットとして登録することもできます。
matches:
- trigger: ":hello"
replace: "こんにちは!\\nこんばんは!"
マッチ設定の反映
設定を変更したら、メニューバーでReloadをするか、以下のコマンドでEspansoを再起動します。
espanso restart
トリガーの工夫
望まないスニペットが作動するのを防ぐために、普段は使わない記号をトリガーとして使用するのがおすすめです。例えば、:
や ;
を使うと良いでしょう。
matches:
- trigger: ":div"
replace: "<div>$|$</div>"
高度な設定
ここからは高度な設定方法を紹介します。ITに慣れている方はぜひ読み続けてみてください。
動的マッチ
現在時刻を表示するような動的なスニペットも設定できます。
matches:
- trigger: ":now"
replace: "It's {{mytime}}"
vars:
- name: mytime
type: date
params:
format: "%H:%M"
カーソルヒント
テキスト変換後のカーソル位置を指定することもできます。
matches:
- trigger: ":div"
replace: "<div>$|$</div>"
シェルコマンドの実行
シェルコマンドを実行し、その結果をスニペットに反映することも可能です。
matches:
- trigger: ":shell"
replace: "{{output}}"
vars:
- name: output
type: shell
params:
cmd: "echo 'Hello from your shell'"
例えば、以下の例では、ipifyからパブリックIPを取得します。
matches:
- trigger: ":ip"
replace: "{{output}}"
vars:
- name: output
type: shell
params:
cmd: "curl '<https://api.ipify.org>'"
グローバル変数
共通して使用する変数をグローバル変数として設定すると便利です。
global_vars:
- name: myname
type: echo
params:
echo: "John"
matches:
- trigger: ":greet"
replace: "Hello {{myname}}"
スクリプトの実行
外部スクリプトを実行し、その結果をスニペットに反映させることもできます。
matches:
- trigger: ":pyscript"
replace: "{{output}}"
vars:
- name: output
type: script
params:
args:
- python
- /path/to/your/script.py
まとめ
Espansoは、日常的に使用するテキストを効率的に管理できる非常に便利なツールです。
シンプルな設定から始め、徐々に高度な機能を活用することで、作業効率を大幅に向上させることができます。
是非、Espansoをインストールして、その利便性を体験してみてください!