Get it on AppCenter Get it from the Snap Store

Snippet Pixie Demo

Your little expandable text snippet helper.

Save your often used text snippets and then expand them whenever you type their abbreviation.

For example:- "spr`" expands to "Snippet Pixie rules!"

For non-accessible applications such as browsers and Electron apps, there's a shortcut (default is Ctrl+`) for opening a search window that pastes the selected snippet.

Supports placeholders:-

Date/Time: Insert the current or calculated date/time with configurable format.Clipboard: Insert the text contents of the clipboard.Snippets: Insert snippets in your snippets!Cursor: Set where the cursor should end up after the snippet has expanded.

Quick Start Guide

[more coming soon]

Choosing an Abbreviation

Abbreviations should be short, easy to remember and hard to trigger accidentally.

It helps if an abbreviation includes either a key word from the fully expanded text, or an initialization or acronym that is part of it.

For example, if you regularly wrote "Snippet Pixie" 😉 you might use "sp".

However, there are a lot of words that include the letter combination "sp", so there's a reasonably high chance that Snippet Pixie would expand that abbreviation when you didn't want it to.

So instead it's common to add a "trigger character" to the end of the abbreviation. This is commonly a character that isn't found in normal sentences such as "`" or "~" that is easy to find on your keyboard. Often just appending a space is enough, or doubling up characters.

I personally use "`" (commonly known as grav or backtick) a lot as it's a single keystroke on my British layout keyboard just below my Escape key. So for me "sp`" is a natural abbreviation for "Snippet Pixie".

However, I could see using "sp " or "spp" for the abbreviation.

If you do use a trailing space as your trigger character you might find it useful to include a trailing space in the text that is expanded, e.g. "sp " expands to "Snippet Pixie " as it's more natural when typing.


Placeholders

All placeholders are delimited (wrapped) by $$, with the placeholder name starting with an @ symbol.

For example, today's date can be inserted with $$@date$$.

Some placeholders allow for extra arguments when : follows their name and that is followed by the argument. For example a format for a date, or the abbreviation for a snippet. Check the following descriptions for each placeholder for more details.

To use $$ in your snippet body, escape the second $ with a backslash like so: $\$.

@date

Quick Examples:

Today's date with system format: $$@date$$Today's date with custom format: $$@date:%Y-%m-%d %H:%M:%S$$Tomorrow's date with system format: $$@date@+1D$$Date 2 weeks from today with custom format: $$@date@+2W:%x$$Time 3 hours from now: $$@time@+3H$$
@time is an alias for @date, with one important difference, the default output if no format specified is the default time format (%X) rather than default date format (%x).

The optional format specified after : can take a format string as detailed in the GLib.DateTime.format function's docs.

The optional date calculation starts with an @ after the placeholder name, followed by a signed integer and unit. The unit types are as follows:

Y: YearsM: MonthsW: WeeksD: Daysh: Hoursm: Minutess: Seconds
You can apply more than one date calculation, for example +2h+30m adds 2 hours and 30 minutes to the current time.

You can use both positive (+) and negative calculations, for example -3D takes 3 days from the current date.

@clipboard

When $$@clipboard$$ is part of a snippet's body, when its abbreviation is expanded the current text contents of the clipboard will replace the placeholder.

@snippet

You can have up to three levels of embedded snippets with the @snippet placeholder.

The abbreviation for the snippet to be embedded is entered after :, for example $$@snippet:sigg;$$ expands the snippet with abbreviation sigg; in place of the placeholder.

@cursor

Adding $$@cursor$$ to a snippet's body will put the cursor in its place after expansion instead of at the end of the expanded text.

If $$@cursor$$ is entered more than once in a snippet's body or via snippet embedding, then the last occurrence of the cursor placeholder wins.


Command Line Options

Usage:
com.github.bytepixie.snippetpixie [OPTION…]

Options:
--show
Show Snippet Pixie's window (default action)

--start
Start with no window

--stop
Fully quit the application, including the background process

--autostart={on|off|status}
Turn auto start of Snippet Pixie on login, on, off, or show status of setting

--status
Shows status of the application, exits with status 0 if running, 1 if not

-e, --export=filename
Export snippets to file

-i, --import=filename
Import snippets from file, skips snippets where abbreviation already exists

--force
If used in conjunction with import, existing snippets with same abbreviation are updated

--version
Display version number

-h, --help
Display help