見出し画像

CoCシナリオを書くのにテキストスニペットツール『espanso』で光の速さを手に入れる。

こんにちは、竜原です。

今回は、今年導入してから「これなしではもうシナリオ書きたくないニャン(社会性フィルター)」になってしまった恐ろしいソフト『espanso』くんをご紹介します。

色んなシナリオ書き手さんがこれを手に入れて「ひゃ~楽!」と両手を振り上げながらおお喜びしてシナリオを大量に書いてくれることを臨んでいます。


そもそもテキストスニペットツールとはなんぞや

プログラマではない私はむずかしいはなしはよくわからないのですが、「設定した特定の文字「@hello」を打ち込めば自動的にその場で「Hello!World」に置き換えてくれる」そんなぐらいの認識です。
VSCODEをいじってるときにたくさんお世話になってる人もいるかとおもいます。

そのヤバさを端的に勢いのあるノリで教えてくれてる記事です。
あまりにもの便利さに色々なソフトがあるのですが、一定の個数を登録するとそれ以上は有料だったりそもそも有料スタートだったりと「そりゃそうよ、こんな便利ツール……」みたいな売り方をされているのが散見されます。

使い方の例として一部「ごめんなさいたま」と打つとビジネス激烈謝罪文が自動的に出てくるようにしてる人がいて、「スニペットツールの正しい使い方だよな」と思いました。私なら「くそったれ御社」とかにしてスニペットツールで謝罪文だしてもらう。

様々あるスニペットツールの中で『espanso』くんを選んだ

たくさんあるスニペットツールの中でEspansoくんを選んだのは、他のツールと違って「自分でコードを書いていく」ところです。

最初は他のツールで、ツールがご用意してくれた大量のボタンやドロップダウンをクリックしながら設定を作ってたんですが、わかりにくいし自由度は利かないし有料だし、入力カーソルを文中に入れ込めなかったり、HTMLタグが使えなかったりであんまり肌に合いませんでした。

espansoくんに関しては私が長々とその素晴らしくシンプルな性能を語るより先人の素晴らしい記事をみてもらったほうがいい。

早速スニペットコードを書く

まぁ、espansoくんにもめちゃくちゃ複雑なことはいまいちっぽいんですが専門職でもないし、ただただ楽をしたいだけの一般人私にはどうでもいい。

私がやってほしいのは以下のようなこと。

  • @ほにゃほにゃ で文字を置き換える

  • @ほにゃほにゃ でカギカッコの間にカーソルが入って速攻書き始められるようにしたい

  • @ほにゃほにゃ でHTMLタグを自動で入れてくれ

  • @ほにゃほにゃ0,1 とカンマで区切った数字を自動的に(SANC 0/1)に変換してくれ

なんとこれらをやってくれる。espansoくんは。

頭が痛いぞ何をしてる?と思う人は、
公式ドキュメントを右クリックで日本語訳しながらみると吉。
https://espanso.org/docs/matches/basics/

こんな感じのコードを書きます。
『$|$』がカーソル割り込み位置ですね。なので@redなら、spanタグとタグ終了の間に勝手にカーソルが移動してくれます。

1d3じゃぬるいとおもって。

サンプル base.yml

コードを一部置いておきます。
これを大体Winだと
「ユーザーフォルダ/AppData/Roaming/espanso/match」の中にある「base.yml」
に書き込みます。(見つからなかったらもうパソコン内検索でbase.ymlを探すしかないじゃない……)

  - trigger: "@today"
    replace: "{{mydate}}"
    vars:
      - name: mydate
        type: date
        params:
          format: "%Y-%m-%d"

  - regex: "@day(?P<datem>.*),(?P<dated>.*)\\."
    replace: "{{myyear}}-{{datem}}-{{dated}}"
    vars:
      - name: myyear
        type: date
        params:
          format: "%Y"

  - trigger: "@red"
    replace: "<span style='font-weight: bold;color: red;'>$|$</span>"

  - regex: "@sanc(?P<san1>.*),(?P<san2>.*)\\."
    replace: "<span style='font-weight: bold;color: red;'>(SANC {{san1}}/{{san2}})</span>"

@todayと打ち込めば今日の年月日が、@day4,3.とピリオドまで打ち込めば「2023-4-3」と出るようになります。
@sancも同じで、@sanc1d10,1d100. と打ち込むとspanタグつきの(SANC 1d10/1d100)になります。ピリオドをお忘れなく。

これらをTyporaに合わせてコードをbase.ymlに入れていくと爆速環境の出来上がりです。

espansoくんばんざい!

どえらい爆速環境になってしまって、びびっている。
やったぜ。espansoくんありがとう!

いただいたサポートはありがたくおやつにかわります。心が優雅な暮らしになります。