% Terminal Velocity % Work faster in your shell % Chris Waldon
The views expressed in this presentation are entirely my own, and show not be construed to be the opinion of any of my employers (past, present, or future).
I'm going to show you a bunch of cool interactive tools. I am not advocating that you install all of them on your production systems or that you assume that they are available when writing portable shell scripts.
This list of tools is not exhaustive. In many cases, there are other tools that do nearly the same thing. Sometimes I'll just present the one that I learned first. Sometimes I'll present the one that I prefer. Sometimes I might not know about the cool alternatives.
I'm still learning. If you know other cool tools, share them with me!
{ba,z}sh
: github.com/rupa/z
fish
: github.com/jethrokuan/z
cd
::: notes
Demo:
z Dow
z vul
z for
z src
kak ~/.local/share/z/data
:::
github.com/junegunn/fzf
::: notes
ps -aef | fzf
systemctl | fzf
dmesg | fzf
Ctrl+R in fish
Ctrl+T in fish
Alt-C in fish
function gc
set branch (git show-ref --heads | sed -E 's|refs/heads/||' | fzf --with-nth=2 --preview 'git show --color=always {1}' | string split " ")
git checkout $branch[2]
end
:::
github.com/sharkdp/fd
::: notes
fd uinput /
find / -name '*uinput*'
fd arbor
fd Arbor
find . -iname '*arbor*'
find . -name '*Arbor*'
:::
github.com/BurntSushi/ripgrep
::: notes
rg 'var Version'
grep -r 'var Version' .
rg arbor
rg Arbor
cd ~/Code/builds/linux/
rg const
rg uinput
rg uinput --json
funced rged
:::
github.com/tomnomnom/gron
jq
and with rg
or fzf
yaml2json
and similar::: notes
jq . pull.json
jq . pull.json | fzf --ansi
jq . pull.json | rg login
gron -c pull.json | fzf --ansi
gron pull.json | rg login
gron pull.json | bat -l js
:::
github.com/ogham/exa
ls
(use instead of)--git
and --tree
::: notes
exa -h
exa -l --git --tree
:::
github.com/sharkdp/bat
cat
fzf
::: notes
needs no examples of its own, we've used it constantly throughout the other tools
:::
github.com/sharkdp/hexyl
::: notes
hexyl (which kak) | less -r
:::
detox.sourceforge.net
::: notes
detox -n *
:::
github.com/fish-shell/fish-shell
fish_update_completions
funced
& funcsave
::: notes
:::
eradman.com/entrproject/
::: notes
bat makefile
:::
github.com/tmux/tmux
::: notes
:::
github.com/mawww/kakoune
::: notes
:::
Share your favorite tools with me!
This presentation available at:
git.sr.ht/~whereswaldon/presentations