Command-line utilities
2024-02-20
Here's a rewrite of an older post thanks to the awesome list on github. To complement this list, here's a curated version of productivity tools I use daily.
The tools I cannot live without:
- Shell: fish is nice but if you want to lose POSIX compatibility, you should go all the way and embrace a new workflow. I use nu shell as a daily driver: it considers all data as table, allowing for powerful manipulation.
- Move around quickly with zoxide. It allows you to
jump quickly to a directory with
z boo
(instead ofcd /home/user/misc/books
). A must have - A better sudo: use
doas
(from OpenBSD). The configuration is super easy, just write/usr/local/etc/doas.conf
(on FreeBSD) :# Permit members of the wheel group to perform actions as root. permit nopass :wheel
- Manage tasks with taskwarrior. More on that in a future post.
- Write papers and report with typst. More on that in a future post.
ripgrep
is a moderngrep
but cross-platform and faster
Interesting tools you should try. Some of them are popular tools rewritten in rust
- Terminal : I use
alacritty
along withzellij
(see below).kitty
is a nice alternative if you don't need a multiplexer - Zellij is a rewrite in rust of
tmux
. 2 things that I really like : shortcuts are saner and you can open an editor to copy history (C-s
thene
) - lazygit makes working with command-line git easier. It is similar to
magit
in emacs, with less features but good enough for my use case - A easier
find
withfd
written in Rust. For example, convert all org files to markdown with
fd -e md -x pandoc {} -o {.}.md`
- An easier
sed
withsd
. Example: replacetitle:
bytitle =
:
sd 'title:' 'title = '
- Replacement for
ls
witeza
(Rust) - Replacement for
cat
witbat
(Rust)
Tools for the occasional use
For reference: other tools written in Rust