what makes a good tool good? long list of items feedback is the one he likes the most, the core of agility
you end up doing cd tab, tab, tab
- {ba,z}sh: https://github.com/rupa/z
- fish: https://github.com/jethrokuan/z
- 100% shell script
- frequency
- use instead of cd
- need to use it once so it can learn
- has tab completion
- stores files in
.local/share/z/data
- db format:
dir | number of times | ...
new shiny tools instead of find, grep and locate.
- https://github.com/junegunn/fzf
- Golang
- fuzzy, not regex
- smart case
- can be used like:
- find to find files
- grep to search within files
- decision to make a decision like what branch to checkout
For example, dmesg
dumps everything; dmesg | fzf
. Then type
error and it finds all the error in different formats.
It also find "allocatE ResouRce fOR EISA"
-
fzf emits to stdout
-
gc
script he wrote forgit checkout
usingfzf
to figure out what branch to checkout -
fzf
can be used to search history
- https://github.com/sharkdp/fd
- Rust
- use instead of find
- heuristics
- skip hidden files by default
- skip ignored files by default
- smartcase
- even without heuristics, 9 times faster than find
- it can read
.gitignore
and other source control types and ignores those as well
- it can read
- https://github.com/BurntSushi/ripgrep
- Rust
- use instead of grep
- heuristics:
- recursive file search by default
- skip hidden files by default
- skip ignored files by default
- you can output json if you want as well
Example: rg uinput
vs grep -r uinput
SLOW
rged
const (rged
is a script that usesrg
andfzf
)
- https://github.com/tomnomnom/gron
gron
converts the json into equivalent javascript- combines really well with
yaml2json
andjson2yaml
- https://github.com/ogham/exa
- Rust
alias to ls
- color coded permissions, understands git, also replaces tree
-h
instead of human readable gives you headers
- https://github.com/sharkdp/hexyl
- similar to xxd but color coded
- detox.sourceforge.net
- c
- inline form of it too (inline-detox) uses stdin and renames on the fly
- https://github.com/fish-shel/fish-shell
- C++
- fish_update_completions
- funced and funcsave
- location-sensitive completion
- can parse your man pages and create completions for them
- can tell you if no executable exists
- https://github.com/mawww/kakoune
- C++
- vi-like, but constant feedback
christopher.waldon.dev@gmail.com
keybase.io/whereswaldon
waldon.blog/contact