AIイノベーションズ

Espansoを使ってPCの文字入力作業を効率化する

Espansoを使ってPCの文字入力作業を効率化する方法を解説。スニペット管理アプリであるEspansoの導入と使い方を紹介。

同じような文章の繰り返し入力をしていませんか?

メモ帳に記してある定型文リストはありませんか?

そんな繰り返しの文字入力を効率化するアプリである Espanso を紹介します。

いわゆる「スニペット管理」アプリです。

Espanso とは?

Espansoは、オープンソースかつ無料で利用できるクロスプラットフォームのスニペットアプリです。

Windows, MacOS, Linuxのような主要OSに対応しています。

スニペットアプリとは、短いキーワードを入力するだけで、事前に設定した長いテキストやフレーズを瞬時に入力できるアプリのことです。

例えば、頻繁に使うメールアドレスや住所などを短いキーワードに割り当てておけば、そのキーワードを入力するだけで、瞬時に完全なテキストに変換されます。

これにより、繰り返し入力する手間を省き、作業効率を大幅に向上させることができます。

対応プラットフォーム

Espansoは、Windows、macOS、Linuxの全ての主要なオペレーティングシステムで動作します。また、正規表現やシェルスクリプトなどの高度な機能もサポートしており、様々なニーズに応じた柔軟な設定が可能です。

インストール方法

Espansoのインストールは非常に簡単です。以下の手順に従ってインストールを行ってください。

  1. Espansoの公式サイトにアクセスします。
  2. Windows、macOS、Linuxのいずれかのインストール手順に従って、Espansoをダウンロードしてインストールします。
  3. インストールが完了したら、以下のコマンドを実行してEspansoが正しく動作しているか確認します。
espanso status

設定はファイルを自ら編集するスタイル

Espansoの設定は主に2つのファイルで行います。

  1. config/default.yml
  2. 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をインストールして、その利便性を体験してみてください!