Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: OS X Snippets Manager with Gist support and keyboard shortcuts?
11 points by victorhooi on June 10, 2014 | hide | past | favorite | 23 comments
Can anybody recommend a good snippet manager for OSX?

My two killer features are:

* Easy keyboard shortcuts for quickly inserting snippets * Some way to backup and share snippets between my computers

I found two that are based around Github's Gist service, which would make backups/sharing very easy: * http://www.gistoapp.com/ * http://www.gistboxapp.com/ Gistbox is a online web-app, and Gisto is a pretty simple OSX app - however, neither seem to offer easy shortcuts for inserting snippets.

On the OSX native front, there's Dash, which has shortcuts for inserting - however, you can't use Gists as your backing store for snippets. (Although you could store your library file on Dropbox).

There are also quite a few other paid snippet managers for OSX, but I'm curious what people's experiences with them have been?

Do you have any personal favourites?




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.


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.


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.


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?


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

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.


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


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

Hadn't seen 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


How strongly is Gist a requirement? Dropbox integration is dead simple: I write the files into ~/.osx-snip/ and you just symlink ~/Dropbox/yourface/osx-snip to ~/.osx-snip/ and everything's pretty automatic at that point.


Gist integration is pretty important.

Firstly, it makes the sharing thing a lot easier. You can fork Gists from other people, which would be nice for a team - that's the main reason for my particular use case.

Secondly, it handles version control and multiple revisions very well. Sure, Dropbox has versions, but I believe it drops them after 30 days, you have no control over when it takes a snapshot, and you don't get pretty diffs on the website. It's basically not really designed specifically for doing version control on text files (or snippets).


In that case, how will it work with gists that have multiple files? Should it just assume that each "snippet"-gist only contains one file, where the name of the file is the name of the snippet, and ignore gists that contain multiple files? This seems the most intuitive way to go.

EDIT: lets move discussion to the project's issues page: https://github.com/sdegutis/osx-snip/issues


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

http://support.alfredapp.com/features:clipboard#snippets


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


Interesting, I'll check it out.

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


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


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

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


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

http://www.shpakovski.com/codebox/

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


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.


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

Lets you sync with iCloud / Dropbox / Google Drive.


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


but without Gist support :-S


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

* http://kapeli.com/dash,


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


TextExpander




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: