
Ask HN: OS X Snippets Manager with Gist support and keyboard shortcuts? - victorhooi
Can anybody recommend a good snippet manager for OSX?<p>My two killer features are:<p>* Easy keyboard shortcuts for quickly inserting snippets
* Some way to backup and share snippets between my computers<p>I found two that are based around Github&#x27;s Gist service, which would make backups&#x2F;sharing very easy: * http:&#x2F;&#x2F;www.gistoapp.com&#x2F; * http:&#x2F;&#x2F;www.gistboxapp.com&#x2F;
Gistbox is a online web-app, and Gisto is a pretty simple OSX app - however, neither seem to offer easy shortcuts for inserting snippets.<p>On the OSX native front, there&#x27;s Dash, which has shortcuts for inserting - however, you can&#x27;t use Gists as your backing store for snippets. (Although you could store your library file on Dropbox).<p>There are also quite a few other paid snippet managers for OSX, but I&#x27;m curious what people&#x27;s experiences with them have been?<p>Do you have any personal favourites?
======
sdegutis
Do these requirements sum up what you're looking for?

1\. an OS X app

2\. one settable global hot-key to save your currently selected text as a
snippet

3\. one settable global hot-key to show a list of all your saved snippets, to
select one, which will be inserted into the otherwise-currently-selected text
box (i.e. much like the "paste" command)

4\. must be saved in and loaded from Github Gists, rather than Dropbox

Are these correct? Am I missing anything?

Also, I have the following questions:

1\. Should snippets have names (for searching them easily)? Or should it just
be a list of unnamed snippets that you select from?

2\. How should snippets be selected when you want to paste it? Should (a)
there be one hot-key to bring up a window which lets you select which one to
paste, or (b) should they each have their own hot-key (probably numbered,
limits to a small number of snippets), or (c) should they be expanded any time
you type their abbreviation into any text box, without needing to bring up a
window at all?

3\. How much are you willing to pay for it? ($0 is an acceptable answer.)

Let me know, and I'll give it a shot. This sounds like a fun small project.

~~~
victorhooi
I'd pay money for that - $20?

The thing is - obviously I'd prefer it to be open-source (not from a free
perspective) but because I believe in OSS, and personally it's kind of neat
being able to trawl through the source yourself to see how things were put
together.

However, I'd gladly Gittip or donate that amount to a project.

~~~
sdegutis
Okay, but what about the other questions I had at the bottom? I'm trying to
visualize how you's like to use this thing.

~~~
victorhooi
1\. Names should be optional - as in, you can name a snippet, but not all
snippets need to have a name.

2\. Having a different shortcut key for every snippet would probably become
unwieldy quite quickly.

Your idea about having a shortcut to popup a window is quite neat - I'd
definitely want to have shortcut windows to navigate through and paste the
snippets. The problem I see with this is, it breaks up your workflow, and it
won't feel instant.

One way I've seen others do it is your (c) - for example, in Dash, each
snippet has an abbreviation. If you type that abbreviation in, then press the
backtick (`), it will auto-expand it to the snippet.

One thing I noticed about Dash is, sometimes it can seem a bit slow to delete
your existing abbreviation, and replace it with the snippet - the author
mentioned this is something to do with non-accessibility aps on OSX. (In this
case, it was the Chrome Browser). I'm not sure if there's a way around it.

Can you think of any other ways of selecting/pasting a snippet?

~~~
sdegutis
Accessibility APIs may indeed be the limiting factor in this situation. The
only way that I can currently see making this work is by manually sending
"Cmd-C" and "Cmd-V" signals to copy/paste selections. Pasting a snippet would
in fact just overwrite your clipboard with the contents of the snippet and
then send the keyboard signal "Cmd-V" to paste it as if you did it yourself.
It's hacky, but if you're okay with it ruining your clipboard on both save-
snippet and paste-snippet actions, then it shouldn't be a problem.

Option C is actually not much different from option A. In option C, it watches
what you just typed, and finds the snippet with that name. But in option A, it
pops up a window and lets you type the name, and selects one that matches (by
substring comparison), and filters/selects it as you type. So actually not
only is option A easier to write than option C, but it's easier for you to use
also.

Anyway, I'll open-source it and do all the work in this github project:
[https://github.com/sdegutis/osx-snip](https://github.com/sdegutis/osx-snip)

Donations would be appreciated, but gittip is weekly whereas I would prefer
one-time donations only. And I don't know of any other service that does one-
time tips/donations, so just don't worry about it.

~~~
victorhooi
Hmm, yeah, I guess I'm ok with it blowing away the clipboard - however,
probably don't make it the default, and warn users when they turn it on that
it's a side-effect.

But you'd still need to delete the abbreviation text they used to trigger it
right? Well, unless we went with option (a) and the popup.

Hmm, I see what you're saying with (a) - it actually could work pretty well,
as long as it was fast and responsive, and seemed seamless.

Yes, happy to do a one-time dontation.

Have you considered doing a Magic Backlog like these guys?

[http://robomongo.org/backlog](http://robomongo.org/backlog)

~~~
sdegutis
Yeah, option A can indeed be fast, responsive, and seem seamless. So let's do
that.

Hadn't seen [http://robomongo.org/backlog](http://robomongo.org/backlog)
before, thanks for the link.

Let's move further discussion to the project's issues page:
[https://github.com/sdegutis/osx-snip/issues](https://github.com/sdegutis/osx-
snip/issues)

------
caillou
I use Alfred for this. It offers clipboard history with snippets which I sync
over Dropbox.

[http://support.alfredapp.com/features:clipboard#snippets](http://support.alfredapp.com/features:clipboard#snippets)

------
Walkman
If you use Sublime Text, you can use the Gist [1] package. You can open, save,
update gists within Sublime Text.

[1]:
[https://sublime.wbond.net/packages/Gist](https://sublime.wbond.net/packages/Gist)

~~~
victorhooi
Interesting, I'll check it out.

However, I'd like something that works in other apps - e.g. Chrome browser,
Terminal etc.

------
skorecky
It doesn't get as many updates these days but we made Kousek
([https://itunes.apple.com/us/app/kousek/id460437737?mt=12](https://itunes.apple.com/us/app/kousek/id460437737?mt=12))
send a message on twitter (@skorecky) and I'll give you a promo code.

------
aristidesfl
Launchbar is similar to Quicksilver/Alfred and has very good snippet support:
[http://blog.obdev.at/post/introducing-launchbar-
snippets/](http://blog.obdev.at/post/introducing-launchbar-snippets/)

Syncing and backup can be done via Dropbox or Git for example.

------
bnycum
I use Codebox. I just save my CodeBox file to Dropbox and have it synced on
all my computers.

[http://www.shpakovski.com/codebox/](http://www.shpakovski.com/codebox/)

I also have Code Collector Pro, but I prefer CodeBox though.

------
ChikkaChiChi
TextExpander will provide you the means to do online storage, but not with
Gist. You're either going to have to select keyboard accessibility across the
OS, or integration with Gist.

No program I've found has both.

------
adrianhoward
I use aText
([http://www.trankynam.com/atext/](http://www.trankynam.com/atext/)). Simple,
but meets my needs.

Lets you sync with iCloud / Dropbox / Google Drive.

------
cundd
I once created a small snippet tool with 9 "slots" and global shortcuts to
insert them [http://www.cundd.net/Snipper](http://www.cundd.net/Snipper)

~~~
cundd
but without Gist support :-S

------
tomfluff
Dash* has a pretty good snippet manager with keyboard shortcuts and
placeholders. No gist support.

* [http://kapeli.com/dash](http://kapeli.com/dash),

------
8ig8
Could you go with Dash and then somehow script a sync between the Dropbox
library and Gists?

------
poolpool
TextExpander

