Ask HN: Where do you save code snippets or cli commands

8 points by Madawar ↗ HN
Hi, where do you guys save code snippets and/or cli commands that you have just learned before you memorize them?

13 comments

[ 2.9 ms ] story [ 37.4 ms ] thread
.zsh_history with no limit has served me well for a decade
I've created a .org file that I keep with useful commands / code that I reference pretty often. I keep it in my Dropbox folder so I can access and update it from any of the computers I work on. Seems to do the job.
many open notepad documents :D :D
Notational Velocity. Using for past 4 years.
I've been using gists. Does that seem like an ok idea? My only complaint is that they don't show up in google searches or when someone looks at my profile in github so I don't really get to share them by default.

I also keep forgetting my password :-(

I use the `man` system. When you invoke `man` you can pass an optional leading argument indicating which "section" of man pages you want to see, e.g. `man 1 open` and `man 2 open` give different pages.

You can add new sections by setting $MANSECT. So I added a new section named with my initials, pj:

    export MANSECT=1:n:l:8:3:2:3posix:3pm:3perl:5:4:9:6:7:pj
You can also change where the `man` command searches for manpage files using $MANPATH:

    export MANPATH="$MANPATH:$HOME/man"
Now you can just `mkdir -p ~/man/manpj` and start adding files with a `.pj` extension, like `postgres.pj` and `bash.pj`. Then it's super-fast to bring those up by saying `man pj postgres`.

Of course you would substitute all the above with your own initials or whatever.

You don't even have to write the files with the usual formatting macros. Most of the time a plain text file works okay. But it's kind of fun to learn enough of that to get by: probably less than a dozen macros for paragraph breaks, underlining, etc.

And then you can put your collection of notes on Github like here:

https://github.com/pjungwir/manpj

Here is a file with a few man macros:

https://github.com/pjungwir/manpj/blob/master/bc.pj

I use evernote, that way I can see contextual notes and past use cases.