macOSのランチャーツールに分類されるRaycastですが、単にアプリを起動するような使い方だけでなく、さまざまな便利な機能を備えています。その機能の1つが「Snippets」です。このSnippetsの便利な使い方とキーワードの設定について紹介します。
この記事はRaycast Advent Calendar 2024に参加しています。
昨日は @nagauta さんの「Raycastを始めるなら"Clipboard History"がおすすめ」でした。
Snippetsとは
日本語では「切れ端」や「断片」という意味がある言葉ですが、一般的には「スニペット」と書かれます。プログラミングなどでよく使われるソースコードの一部を登録しておくことで、手軽に入力する目的で使われます。
スニペットを登録して手軽に使えるツールはたくさんあり、私も過去に「Snippetty」というツールを使っていました(過去記事)。
たとえば、プログラマであれば次のようなソースコードを登録しておき、呼び出すだけで手軽に入力するような使い方が考えられます。
for (i = 0; i < n; i++) {
// 処理
}
プログラミングだけでなく、日常で使う言葉でも、頻繁に入力する言葉を登録しておくと、簡単に入力できて便利です。たとえば、自分のメールアドレスを登録しておくと、毎回メールアドレスを入力する必要がなくなり、誤入力などを防げます。
もちろん、このような使い方であれば、かな漢字変換の辞書に登録しておく方法もあります。「めーる」と入力したときに、「sample@example.com」のような値を登録しておく方法です。
スニペットが便利なのは、改行などを含む内容も登録できることや、一部を書き換えられることです。たとえば、RaycastのSnippetsでは、次のように指定して登録しておくと、{date}
で指定した部分を当日の日付にして自動的に入力できます。
今日の日付は「{date format="yyyy-MM-dd"}」です。
これを実行すると、次のように入力されます。
今日の日付は「2024-12-02」です。
キーワードから起動する
登録しておいたSnippetsを呼び出すとき、Raycastでは「Search Snippets」というコマンドから起動する方法が一般的です。
しかし、スニペットの起動時にスニペットの一覧から探すのは面倒なので、手軽に起動できるようにしたいものです。Raycastでは、スニペットを作成するときにオプションでキーワードを設定できます。
たとえば、メールアドレスを入力するスニペットに、キーワードとして「@@
」と指定すると、テキストエディタやWebサイトのフォームでキーボードから「@@
」と入力するだけでスニペットとして登録した内容に変換されます。
キーワードに指定する文字
ここで問題になるのは、「どのような文字をキーワードに指定するか」です。もし一般的な英単語などを指定してしまうと、その単語を文章中で入力するたびにスニペットで指定した内容に置き換えられてしまいます。たとえば、「mail
」というキーワードを設定すると、キーボードから「mail
」と入力するたびに書き換えられてしまうのです。
これは困るので、普段は入力しないキーワードを指定します。よく使われるのは、何らかの記号に続けて英単語を指定する方法です。たとえば、Snippetsの公式サイトではメールアドレスに変換するとき、上記でも紹介した「@@
」を指定しています。
このように「@
」などの文字で始めるのはわかりやすい一方で、「@
」で始めるキーワードを入力することはプログラミングでは珍しくありません。Laravelでは、「@csrf
」のように「@
」で始めるキーワードがあるのです。
<form action="{{ route('xxx')}}" method="post">
@csrf
<button type="submit">登録</button>
</form>
そこで、他の文字で始めることを考えます。Webを検索すると、「;
」や「,
」で始める人が多いように感じました。
Raycastの公式サイトを調べてみると、以下のページで紹介されている動画では、「!@
」のように「!
」という記号で始めています。
そして、この動画の中で紹介されている以下のサイトではいずれも「!
」で始められています。
どんな文字がよいのか
私は上記のサイトを参考に、「!
」で始まるキーワードを指定しています。
しかし、私は「!
」で始める単語を入力することがあります。たとえば、Obsidianには「コールアウト」という記述方法があり、このコールアウトでは「> [!info]
」のように書くのです。
つまり、もし「!info
」をキーワードにすると、コールアウトを作ろうと入力したときに自動的に変換されてしまいます。もちろん、このようなキーワードの指定を避ければいいのですが、できればキーワードの先頭に使う文字を共通にしつつ自由に登録したいものです。
他の記号として「#
」で始めると𝕏などのSNSでハッシュタグに影響してしまいますし、PythonやRuby、Bashなどのコメントで使うこともあります。「%
」はTeXでコメントになります。
正解はないと思いますが、皆さんはどの文字を使っていますか?