Amateurs sit and wait for inspiration; the rest of us just get up and go to work, Stephen King.
Give me six hours to chop down a tree, and I will spend the first four sharpening the axe, Abraham Lincoln.

AutoHotkey is a free, open source macro-creation and automation software utility for Windows that allows users to automate repetitive tasks.
#Requires AutoHotkey v2.0 ; Ensures script runs only under v2.
SendMode "Input" ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir A_ScriptDir ; Ensures a consistent starting directory. All relative paths start here.
; ^ = CTRL, # = Win, ! = Alt, + = SHIFT
/* ---------- HOTKEYS ---------- */
^g::Run "chrome" ; This defines a hotkey that triggers when Ctrl+g is pressed and launches Google Chrome browser.
#+d::Shutdown(9) ; Win + Shift + D shuts down and powers off the system
#+q::WinKill "A" ; Win + Shift + q closes the active window

Double-click the .ahk file to run it, a green “H” icon appears in the notification area.
Press Windows + Shift + D to immediately shut down your system, Ctrl+g to launch Google Chrome, etc.
Right-click on the green H F icon (AutoHotkey), Reload Script to reload the script after making any changes (avoids a full restart), Pause/Resume, and Exit.
Flow Launcher is a quick file search and app launcher for Windows with community-made plugins. Everything helps you locate files and folders by name instantly. Everything can integrate with Flow Launcher.
Espanso is an open source, cross-platform text Expander.

brew tap espanso/espanso # Espanso is hosted outside the core homebrew repository.
brew install espanso
# Download the "deb" package, https://espanso.org/, Install on Linux
wget ···.deb
# Install the package:
sudo apt install ./espanso-debian-x11-amd64.deb
# Register Espanso as a systemd service:
espanso service register
# Start Espanso
espanso start
:espanso
If you’re using any other Linux distributions, you can use Espanso’s AppImage to get the program up and running on your computer. To install the Espanso’s AppImage, just open a terminal and follow these steps:
You are ready to use espanso. Open any application and type:
:espanso
Espanso uses a file-based configuration approach, type: espanso path to find the path of your configuration folder. Typically: Windows (C:\Users\userName\AppData\Roaming\espanso), macOS (/Users/userName/Library/Preferences/espanso) or Linux (/home/userName/.config/espanso).
There are two folder: config and match. The files contained in the match directory define WHAT Espanso should do (base.yml), i.e., all your snippets and actions. The files contained in the config directory (default.yml) define HOW Espanso should perform its expansions.
Install some packages: espanso install all-emojis, and try :lol, :happy, :cry. Here is the full list of emojis, Full Markdown Emoji Cheat Sheet
After every configuration change, espanso must be restarted: espanso restart. However, recent versions automatically restart when a change is detected.
Configuration. gedit /home/user/.config/espanso/default.yml or base.yml (depending on Espanso version)
keyboard_layout:
layout: "un"
# Sets the keyboard layout to 'un' (universal), which is generally compatible with various layouts.
backspace_delay: 50
# Delay in milliseconds after each backspace. This allows for smoother text editing, preventing accidental interference with typing.
backend: Clipboard
# It specifies that the backend used for pasting text is the system clipboard.
This is useful for ensuring compatibility with applications like VS Code.
pre_paste_delay: 100
# Delay in milliseconds before pasting text. \
# This allows any necessary processing time before the text is pasted.
post_paste_delay: 100
# Delay in milliseconds after pasting text.
# This ensures that the pasted content is properly registered before any further actions occur.
paste_shortcut_event_delay: 100
# Delay in milliseconds after a paste shortcut event before processing the next action.
# This helps prevent conflicts with the application's input handling.
key_delay: 20
# Delay in milliseconds between individual keystrokes when typing out expanded text.
# This mimics natural typing speed and can help prevent issues with applications that may not handle rapid input well.
matches:
# Personal Information
matches:
- trigger: ":name"
replace: "Your Name"
- trigger: ":address"
replace: "Your Address"
- trigger: ":telephone"
replace: "Your Phone"
- trigger: ":email"
replace: "Your Email"
- trigger: ":website"
replace: "https://justtothepoint.com/, Free resources, bilingual e-books and videos to help your child and your entire family succeed, develop a healthy lifestyle, and have a lot of fun."
- trigger: ":social"
replace: "Twitter: @justtothepoint.\nFacebook: https://www.facebook.com/nmaximo7.\nLinkedIn: https://www.linkedin.com/in/justtothepoint"
- trigger: ":signature"
replace: |
'¯\\_(ツ)_/¯'
Your Name.
https://justtothepoint.com/, Free resources, bilingual e-books and videos to help your child and your entire family succeed, develop a healthy lifestyle, and have a lot of fun.
# Love & affection
- trigger: ":gm"
replace: "Good morning. I hope your morning is as bright and gorgeous as your smile."
- trigger: ":lv"
replace: "Trust me, I get lost in your smile because I see something more beautiful than the stars."
- trigger: ":lv2"
replace: "(◕‿◕✿) Never let me go, hold me tight till it hurts so badly that I can never forget how much I love you."
- trigger: ":lv3"
replace: "Yᵒᵘ Oᶰˡʸ Lᶤᵛᵉ Oᶰᶜᵉ"
# Reactions & emotions
- trigger: ":dunno"
replace: "¯(ツ)/¯ ¯\\_(ツ)_/¯ What do you mean? ◔̯◔"
- trigger: ":happy"
replace: "(✿´‿`)"
- trigger: ":ha"
replace: "Just saying'… :-)"
- trigger: ":sc"
replace: ""
- trigger: ":thank"
replace: "Sometimes the simplest things mean the most. Thank you very much for your like and love."
# Additional useful snippets
- trigger: ":shrug"
replace: "¯\\_(ツ)_/¯"
- trigger: ":flip"
replace: "(╯°□°)╯︵ ┻━┻"
- trigger: ":hug"
replace: "(づ。◕‿‿◕。)づ"
- trigger: ":kiss"
replace: "(づ ̄ ³ ̄)づ"
- trigger: ":wave"
replace: "( ͡° ͜ʖ ͡°)ノ⌐■-■"
- trigger: ":table"
replace: "┬─┬ ノ( ゜-゜ノ)"
- trigger: ":lenny"
replace: "( ͡° ͜ʖ ͡°)"
- trigger: ":heart"
replace: "❤️"
- trigger: ":lol"
replace: "😂"
# Date, Time, and Weather
- trigger: ":date"
replace: "{{mydate}}"
vars:
- name: mydate
type: date
params:
format: "%d/%m/%y"
- trigger: :time
replace: "{{time}}"
vars:
- name: time
type: date
params:
format: "%H:%M"
- trigger: ":now"
replace: "It's {{mytime}}"
vars:
- name: mytime
type: date
params:
format: "%H.%M"
- trigger: ":weather"
replace: "{{output}}"
vars:
- name: output
type: shell
params:
cmd: "curl 'http://wttr.in/?format=3'"
# Inserts common HTML and Markdown elements
- trigger: :hr
replace: '<hr />'
- trigger: :br
replace: '<br />'
- trigger: :div
replace: '<div>$|$</div>'
- trigger: :span
replace: '<span>$|$</span>'
- trigger: :h1
replace: '<h1>$|$</h1>'
- trigger: :h2
replace: '<h2>$|$</h2>'
- trigger: :h3
replace: '<h3>$|$</h3>'
- trigger: :para
replace: '<p>$|$</p>'
- trigger: :sup
replace: '<sup>$|$</sup>'
- trigger: :sub
replace: '<sub>$|$</sub>'
- trigger: :fraction
replace: '<sup>$|$</sup>⁄<sub></sub>'
- trigger: "link"
replace: "[$|$]()"
vars:
- name: "clipboard"
type: "clipboard"
- trigger: ":md-link"
replace: "[$|$]({{clipboard}})"
vars:
- name: "clipboard"
type: "clipboard"
- trigger: ":html-link"
replace: "<a href=\"{{clipboard}}\" />$|$</a>"
vars:
- name: "clipboard"
type: "clipboard"
# Inserts a markdown code block
- trigger: :code
replace: "```\n$|$\n```"
# More shell commands
- trigger: ":ip"
replace: "{{output}}"
vars:
- name: output
type: shell
params:
cmd: "curl 'https://api.ipify.org'"
- trigger: ":edit"
replace: "{{output}}"
vars:
- name: output
type: shell
params:
cmd: "gedit ~/.config/espanso/match/base.yml"
- trigger: ":quote"
replace: "{{output}}"
vars:
- name: output
type: shell
params:
cmd: "fortune"
# Quick search
- trigger: ":duckduckgo"
replace: "https://duckduckgo.com/?q="
- trigger: ":wiki"
replace: "https://en.wikipedia.org/w/?search="
- trigger: ":youtube"
replace: "https://youtube.com/results?q=v"
- trigger: ":google"
replace: "https://google.com/search?q="
Synchronization.
Move espanso configuration folder to the Dropbox folder (mv ~/.config/espanso/ ~/Dropbox/).
Create a symbolic link: ln -s ~/Dropbox/espanso ~/.config/espanso/
Synchronization MacOS: rm -rf $HOME/Library/Preferences/espanso/, ln -s "$HOME/Dropbox/espanso" “/$HOME/Library/Preferences/espanso", espanso restart. We are assuming that $ESPANSO = /$HOME/Library/Preferences/espanso.