Alfred の設定(Snippets): hkob の雑記録 (24)

はじめに

hkob の雑記録の第24回目は、Alfred の設定に戻ります。今日は Snipperts です。これについては Notion に関連したいくつかの設定をしているので、それも合わせて解説します。

Snippets

いつものように Snippets のスクリーンショットを Notion AI に解説してもらいます。Notion AI が書いた部分は引用で示すことにします。

Snippets 設定

Alfred の Snippets 設定では、以下の機能が利用できます:

  • ホットキー設定: スニペットビューワーを呼び出すためのホットキーをカスタマイズできます。
  • キーワード設定: スニペットを呼び出すためのキーワードを設定でき、デフォルトの検索結果にスニペットを表示するかどうかを選択できます。
  • 自動展開機能: キーワードを入力すると自動的にスニペットに展開される機能を有効化できます。この機能には macOS のアクセシビリティ権限が必要です。
  • マッチング設定:
    • 名前やキーワードでのマッチング
    • 単語ベースのマッチングの選択が可能
  • スニペット管理: コレクション単位でスニペットを整理し、各スニペットに名前とキーワードを設定できます。

画像から見ると、実際の使用例としてバックグラウンドカラーの設定や日付フォーマット、SSHの動的プロキシなど、様々なスニペットを登録できることがわかります。

私は Hotkey に Opt-A を設定してます。デフォルトでは自動展開機能は設定されていませんが、この設定を追加しています。

Auto Expansion Options ダイアログ

Auto Expansion Options ダイアログは以下のようになります。

Options tab

まず、Options tab を解説してもらいます。

Options tab

Options タブでは以下の設定が可能です:

  • スニペット展開の除外アプリ設定:特定のアプリケーション(Alfred 5やAlfred Preferencesなど)でスニペットを展開しないように設定できます。アプリはAlfred検索結果やFinderからドラッグ&ドロップで追加可能です。
  • 文字列途中での展開機能:デフォルトでは、スニペットのキーワードは単独で入力された場合のみ展開されますが、この設定を有効にすると文字列の途中でも常に展開されるようになります。

これらの設定により、スニペットの展開をより細かくコントロールすることができます。

ここはデフォルトのままにしています。展開されたくないアプリが出てきたら、個別に追加していきます。

Sounds tab

次に Sounds tab を解説してもらいます。

Sounds tab

Sounds タブには以下の設定項目があります:

  1. スニペット展開時のサウンド再生
  2. キーワードが一致してスニペットが展開される時にサウンドを再生するかどうかを設定できます
  3. ワークフロースニペットトリガー展開時のサウンド再生
  4. ワークフロースニペットのトリガーキーワードが一致した時にサウンドを再生するかどうかを設定できます
  5. サウンド選択
  6. 上記のオプションで使用するサウンドを選択できます(画像では "Morse" が選択されています)
  7. カスタムサウンドの追加
  8. 右側の領域にオーディオファイルをドロップすることで、独自のサウンドを追加できます
  9. 同じファイル名のサウンドは既存のファイルを上書きします

ここもデフォルトのままに設定しています。意図せず Snippet が展開された時に気づくように音は鳴らした方がいいと思います。

Tweaking tab

最後に Tweaking tab についても解説してもらいます。

Tweaking tab

Tweaking タブには以下の重要な設定項目があります:

1. シミュレートされたキーイベントの速度 (Simulated key event speed)

スニペットの展開速度を調整するスライダーです。遅いMacや非標準的なソフトウェアを使用している場合、速度を遅くすることでスニペットの展開がより確実になります。

2. クリップボードコンテンツの復元 (Restore clipboard contents)

2つのオプションがあります:

  • 自動展開後 (After Auto Expansion) - スニペットの自動展開後にクリップボードの内容を復元
  • スニペットビューワーまたはキーワード後 (After Snippets Viewer or Keyword) - ビューワーやキーワードでの展開後に復元

3. 復元タイミング (Restore after)

クリップボードの内容を復元するまでの遅延時間を設定できます。デフォルトは0.5秒ですが、高性能なMacの場合はより短い時間に設定可能です。

これらの設定は、特にスニペットの展開に問題が発生した場合や、クリップボードの動作を最適化したい場合に調整すると効果的です。

ここも特に遅い Mac を使っているわけではないので、特に変更はしていません。

個別の Snippet の設定方法

ここに設定されている Date snippet の設定画面を示します。この画面も解説してもらいましょう。

Date snippet の設定画面

Date snippetの設定画面の各項目について解説します:

  • Name (名前): "Date snippet" - スニペットの識別名として設定されています
  • Keyword (キーワード): ",ds" - このキーワードを入力することでスニペットが呼び出されます
  • Collection (コレクション): "Default Collection" - スニペットが保存されているコレクションを示します
  • Type (タイプ): "Plain Text Snippet" - プレーンテキスト形式のスニペットとして設定されており、貼り付け先のフォーマットに合わせて調整されます
  • Auto expansion allowed (自動展開): チェックが入っており、キーワード入力時に自動的にスニペットが展開される設定になっています
  • Snippet (スニペット内容): "{isodate:yyMMdd}" - ISO形式の日付(年月日)を生成するための形式が設定されています

画面下部には、{time}、{date}、{clipboard}、{random}などのプレースホルダーが使用可能であることが説明されています。

Type の部分は以下のように「Plain Text Snippet」と「Rich Text Snippet」を選択できます。Rich Text Snippet では、さまざまなアノテーションをした Rich Text を挿入することができます。

Type の分類

Date snippet では {} を使って日付や時刻などの情報を展開することが可能です。ここでは、ユカスタで以前話題になっていたその日の日付文字列を「,ds」という文字列で展開するスニペットになっています。

上に示したように Auto expansion を設定しているので、この文字列が入力されると日付に変換されてしまいます。よって、Snippet 文字列は普段絶対に入力されることがない文字列に設定する必要があります。基本的に私がコードや文章を書く時には、「,」の後には絶対に「スペース」を入力するので、「,」の後に直接アルファベットが入ることはありません。そこで、私が Snippet を作る時には「,」+「アルファベットの文字列」という形で設定するようにしています。

Snippets の使い方

Snippets は Viewer Hotkey である Opt-A をタイプした後で、設定した Keyword を入れると Snippet に設定した文字列が展開されます。また、私の場合は自動展開機能にチェックを入れているので、キーワードを入れるだけでも Snippet が展開されます。例えば上に示した「,ds」をタイプすると、「250123」という文字列が挿入されます。

私が設定している Snippet

  1. ,ds→ 250123

    上に示したように日付の6桁の文字列が生成されます。Teams の授業録画のタイトルには日付を付けています。毎回何日かチェックするのが面倒なのでこれを設定しました

  2. ,gb → greenb、,ob → orangeb、,bb → blueb

    Notion の見出し1, 見出し2, 見出し3 にはそれぞれ緑背景、橙背景、青背景をつけるようにしています。毎回この文字列を入れるのが面倒なので、Snippet にしていました。Cmd+/ の後に Snippet を入れることで簡単に背景色が設定できています。

    背景色の設定

  3. ,dp → ssh dynamic-proxy

    クラウドの校務支援システムは研究室のマシンからしかアクセスできないように踏み台サーバを用意しています。別のマシンから毎回そのマシンにアクセスするときに ssh コマンドを書いていましたが、これも Snippet にしてしまいました。単に ssh するだけでなく、トンネルも自動的に掘るようにしています。

おわりに

ユカスタで Raycat の Snippet が話題になるまで、あまりこの機能は使っていなかったのですが、Auto Expansion がかなり便利で最近使い始めました。特に「,」の接頭子に気づいてからは、誤展開することがほぼなくなったので、今後もよく使いそうな Snippets があったらどんどん登録していこうと思います。

hkob.notion.site