4 ms·
FZF + ripgrep is really killer for me. I don't even bother organizing my notes anymore, I just throw everything markdown files in a flat directory and then I ha
by simias 6y ago
FZF + ripgrep is really killer for me. I don't even bother organizing my notes anymore, I just throw everything markdown files in a flat directory and then I have a script that uses FZF + ripgrep to search through it when I need it. I search by "last modified first" so unless I'm digging for something very old the results are instant. Code snippets, finances, TODO lists, cake recipes... It's all in there.
I use the same system in Vim to browse source code. It's very powerful, very fast, works with any language and requires zero configuration.
- polyrand 6y agoI couldn't agree more with that. I wrapped a bash function to search through my notes folder with fzf + rg and it works perfectly. Also, I have a specific pattern to write some tags inside files that I can parse with ripgrep.
- rshm 6y agoCan you share your script.
- maxioatic 6y agoI'd love some more info as well!
- simias 6y agoThis is the main one (that actually only uses FZF, not ripgrep): https://gist.github.com/simias/b1d8356469d2a9386deeb7c45984b961 https://gist.github.com/simias/b1d8356469d2a9386deeb7c45984b... You'll need to set NOTES_DIR in your environment to wherever you want your notes to be stored. Then you can write `note something` to create or open $NOTES_DIR/something.md with your $EDITOR. If you type "note" without parameter you'll start a search on all the note names, ordered by last use. If you type "note -f" it starts a full text search. For best results you should have the fzf.vim's preview.sh somewhere in your fs, otherwise it'll use "cat" but it won't be as good looking (see FZF_PREVIEW in the script). Hopefully despite being shell it should be readable enough to tweak to your liking. Note that it was written and used exclusively on Linux, but I did try to avoid GNU-isms so hopefully it should work on BSDs and maybe even on MacOS with a bit of luck.
- tasuki 6y agoAbout a year ago, I discovered it was very helpful for me to have git branches ordered by "recently modified first": From my `~/.gitconfig`: [alias] brt = "!git for-each-ref refs/heads --color=always --sort -committerdate --format='%(HEAD)%(color:reset);%(color:yellow)%(refname:short)%(color:reset);%(contents:subject);%(color:green)(%(committerdate:relative))%(color:blue);<%(authorname)>' | column -t -s ';'" I always spent a lot of time being confused about branches, and never realised how easy the solution was.
- simias 6y agoOh that's a great idea, I'd definitely stealing that, thanks!
- nicoburns 6y agoAmazing. This should be the default!
- rurban 6y agoI prefer the version without column brt = "!git for-each-ref refs/heads --color=always --sort -committerdate --format='%(HEAD)%(color:reset) %(color:yellow)%(refname:short)%(color:reset) %(contents:subject) %(color:green)(%(committerdate:relative))%(color:blue) <%(authorname)>'"