{"id":4668,"date":"2024-04-01T16:04:31","date_gmt":"2024-04-01T16:04:31","guid":{"rendered":"https:\/\/nikola-breznjak.com\/blog\/?p=4668"},"modified":"2024-04-01T16:05:34","modified_gmt":"2024-04-01T16:05:34","slug":"espanso-because-who-actually-likes-typing-out-their-emails","status":"publish","type":"post","link":"https:\/\/nikola-breznjak.com\/blog\/quick-tips\/espanso-because-who-actually-likes-typing-out-their-emails\/","title":{"rendered":"Espanso: Because Who Actually Likes Typing Out Their Emails?"},"content":{"rendered":"<h2>TL;DR<\/h2>\n<p><a href=\"https:\/\/espanso.org\/\">Espanso<\/a> is a text expander tool that will save you lots of repetitive typing. For real.<\/p>\n<p>Ever had to repeatedly type your email address into a form? Check.<br \/>\nHow about your name? Surname? Email signature? Check. Check. Check.<\/p>\n<p>Well, instead of risking a typo \u2014 like sending that standout job application with the wrong email, and they never get back to you (even though you were certain you were the top pick among the multitude of MAANG folks recently let go\u2014<em>oops, went on a tangent there for a sec<\/em> \ud83d\ude42) \u2014 how about simply typing <code>;em<\/code> and watching it magically expand into your email?<\/p>\n<h2>Why Espanso?<\/h2>\n<p>I&#8217;m in no way affiliated with them, but kudos must be given where due.<\/p>\n<p>Sure enough, there are tools like TextExpander, but Espanso stands out because it&#8217;s open source.<\/p>\n<h2>Installation<\/h2>\n<p>Espanso is cross-platform, with binaries for Windows, Mac, and Linux. I&#8217;m sure anyone can find their way around their Installation page: <a href=\"https:\/\/espanso.org\/install\/\">https:\/\/espanso.org\/install\/<\/a>. If you&#8217;re on a Mac and using <code>brew<\/code>, you can also install it from the command line: <code>brew install espanso<\/code>.<\/p>\n<h2>Accessibility<\/h2>\n<p>To use Espanso on a Mac, you&#8217;ll need to grant Accessibility access via <code>System Preferences \u2192 Security &amp; Privacy \u2192 Privacy \u2192 Accessibility<\/code>.<\/p>\n<h2>Configuration<\/h2>\n<p>On a Mac, the Espanso config folder usually lives at <code>~\/Library\/Application\\ Support\/espanso<\/code>. The <code>config<\/code> folder is for Espanso settings, while the <code>match<\/code> folder (which contains the <code>base.yml<\/code> file) is where your triggers and replacements should go.<\/p>\n<h2>Example<\/h2>\n<p>Just as an example, this is how mine looks like (feel free to take the logic behind emojis):<\/p>\n<pre><code># espanso match file\n\n# For a complete introduction, visit the official docs at: https:\/\/espanso.org\/docs\/\n\n# You can use this file to define the base matches (aka snippets)\n# that will be available in every application when using espanso.\n\n# Matches are substitution rules: when you type the &quot;trigger&quot; string\n# it gets replaced by the &quot;replace&quot; string.\nmatches:\n# signatures\n  - trigger: &quot;;n&quot;\n    replace: &quot;Nikola&quot;\n\n  - trigger: &quot;;b&quot;\n    replace: &quot;Bre\u017enjak&quot;\n\n  - trigger: &quot;;li&quot;\n    replace: &quot;https:\/\/www.linkedin.com\/in\/nikola-bre%C5%BEnjak-892b9a24\/&quot;\n\n  - trigger: &quot;;sn&quot;\n    replace: &quot;Kind regards,\\nNikola Bre\u017enjak\\nhttp:\/\/www.nikola-breznjak.com\/blog&quot;\n\n  - trigger: &quot;;web&quot;\n    replace: &quot;http:\/\/www.nikola-breznjak.com\/&quot;\n\n  - trigger: &quot;;em&quot;\n    replace: &quot;nikola.breznjak@gmail.com&quot;\n\n## git\n  - trigger: &quot;;ga&quot;\n    replace: &quot;git add .&quot;\n\n  - trigger: &quot;;gb&quot;\n    replace: &quot;git branch&quot;\n\n  - trigger: &quot;;gc&quot;\n    replace: &quot;git commit -m &quot;\n\n  - trigger: &quot;;gd&quot;\n    replace: &quot;git diff --color &quot;\n\n  - trigger: &quot;;gf&quot;\n    replace: &quot;git fetch --all&quot;\n\n  - trigger: &quot;;gi&quot;\n    replace: &quot;find . -name &#039;.DS_Store&#039; -type f -delete&quot;\n\n  - trigger: &quot;;gl&quot;\n    replace: &quot;git log&quot;\n\n  - trigger: &quot;;gp&quot;\n    replace: &quot;git push origin main&quot;\n\n  - trigger: &quot;;gs&quot;\n    replace: &quot;git status&quot;\n\n  - trigger: &quot;;gt&quot;\n    replace: &quot;git remote -v&quot;\n\n  - trigger: &quot;;gu&quot;\n    replace: &quot;git pull origin main&quot;\n\n## blog\n  - trigger: &quot;;bimp&quot;\n    replace: &quot;https:\/\/nikola-breznjak.com\/blog\/books\/want-improve-read-books\/&quot;\n\n  - trigger: &quot;;brem&quot;\n    replace: &quot;https:\/\/nikola-breznjak.com\/blog\/miscellaneou\/make-remote-developer\/&quot;\n\n## emojis\n  - trigger: &quot;;eew&quot;\n    replace: &quot;\u26a0\ufe0f&quot;\n\n  - trigger: &quot;;eet&quot;\n    replace: &quot;\ud83e\udd14&quot;\n\n  - trigger: &quot;;eeb&quot;\n    replace: &quot;\ud83d\udcb0&quot;\n\n  - trigger: &quot;;eem&quot;\n    replace: &quot;\ud83d\udcaa&quot;\n\n  - trigger: &quot;;eetm&quot;\n    replace: &quot;\u2122&quot;\n\n  - trigger: &quot;;eeh&quot;\n    replace: &quot;\u2764\ufe0f&quot;\n\n  - trigger: &quot;;eeu&quot;\n    replace: &quot;\ud83d\udc4d&quot;\n\n  - trigger: &quot;;eep&quot;\n    replace: &quot;\ud83d\ude4f&quot;\n\n  - trigger: &quot;;eef&quot;\n    replace: &quot;\ud83e\udd26&quot;\n\n  - trigger: &quot;;ees&quot;\n    replace: &quot;\ud83d\ude42&quot;\n\n  - trigger: &quot;;eeg&quot;\n    replace: &quot;\ud83d\ude0e&quot;\n\n  - trigger: &quot;;eev&quot;\n    replace: &quot;\ud83d\udc4b&quot;\n\n  - trigger: &quot;;eel&quot;\n    replace: &quot;\ud83d\ude02&quot;\n\n  - trigger: &quot;;eec&quot;\n    replace: &quot;\ud83d\udc4f&quot;\n\n  - trigger: &quot;;eeo&quot;\n    replace: &quot;\u2705&quot;\n\n  - trigger: &quot;;eer&quot;\n    replace: &quot;\ud83d\ude80&quot;\n\n  - trigger: &quot;;eex&quot;\n    replace: &quot;\u23ed\ufe0f&quot;\n\n## replies\n  - trigger: &quot;;ryw&quot;\n    replace: &quot;You\u2019re welcome \ud83d\udc4d&quot;\n\n  - trigger: &quot;;rlmk&quot;\n    replace: &quot;Please let me know \ud83d\udc4d&quot;\n\n  - trigger: &quot;;rbtw&quot;\n    replace: &quot;Btw, how are things on your end?&quot;\n\n  - trigger: &quot;;rt&quot;\n    replace: &quot;Thank you! \ud83d\udc4d&quot;\n\n## misc\n  - trigger: &quot;;fd&quot;\n    replace: &quot;firebase deploy&quot;\n\n  - trigger: &quot;;wed&quot;\n    replace: &quot;Happy Wednesday (a dy on which, historically, most people wed on - thus: Wed nes day). Not really, but it would be a fun fact actually \ud83d\ude42&quot;\n\n  - trigger: &quot;;cl&quot;\n    replace: &quot;console.log(&quot;\n\n  - trigger: &quot;;se&quot;\n    replace: &quot;select * from &quot;\n\n  - trigger: &quot;;o&quot;\n    replace: &quot;open .&quot;\n\n  - trigger: &quot;;im&quot;\n    replace: &quot;![]({{clipb}})&quot;\n    vars:\n      - name: &quot;clipb&quot;\n        type: &quot;clipboard&quot;\n\n  - trigger: &quot;;ch&quot;\n    replace: &quot;chrome:\/\/history&quot;\n\n  - trigger: &quot;;;c&quot;\n    replace: &quot;code .&quot;<\/code><\/pre>\n<h2>Beyond the Basics: Advanced Configurations<\/h2>\n<p>As you can see above, you can create simple trigger\/replace combinations, but also in example of the <code>;im<\/code> trigger to insert an image directly from the clipboard in Markdown format.<\/p>\n<p>They even support plugins, and there&#8217;s one for all the <a href=\"https:\/\/hub.espanso.org\/all-emojis\">emojis<\/a> you&#8217;d ever want, and the installation is straightforward.<\/p>\n<h2>Conclusion<\/h2>\n<p>Espanso is more than a tool; it&#8217;s a testament to the open-source community&#8217;s ability to create solutions that are both powerful and accessible. I wholeheartedly recommend you give it a try.<\/p>\n<p>If you&#8217;re also using Espanso, and have some great tips to share, please leave them in the comments.<\/p>\n<p>Thanks for reading, and hope it was useful \ud83d\udc4b<\/p>\n","protected":false},"excerpt":{"rendered":"<p>TL;DR Espanso is a text expander tool that will save you lots of repetitive typing. For real. Ever had to repeatedly type your email address into a form?&hellip;<\/p>\n","protected":false},"author":1,"featured_media":4669,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[15],"tags":[],"class_list":["post-4668","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-quick-tips"],"_links":{"self":[{"href":"https:\/\/nikola-breznjak.com\/blog\/wp-json\/wp\/v2\/posts\/4668","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nikola-breznjak.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nikola-breznjak.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nikola-breznjak.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/nikola-breznjak.com\/blog\/wp-json\/wp\/v2\/comments?post=4668"}],"version-history":[{"count":0,"href":"https:\/\/nikola-breznjak.com\/blog\/wp-json\/wp\/v2\/posts\/4668\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/nikola-breznjak.com\/blog\/wp-json\/wp\/v2\/media\/4669"}],"wp:attachment":[{"href":"https:\/\/nikola-breznjak.com\/blog\/wp-json\/wp\/v2\/media?parent=4668"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nikola-breznjak.com\/blog\/wp-json\/wp\/v2\/categories?post=4668"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nikola-breznjak.com\/blog\/wp-json\/wp\/v2\/tags?post=4668"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}