Command line tools
zoxide
Summary
Zoxide is a tool that remembers previous paths that you have been to through cd, allowing you to more easily navigate between directories. It can be aliased to cd so that it essentially functions like a smarter version of the same command.
Installation
For zoxide itself
cargo install zoxide --locked
For fzf
sudo apt install fzf
Within .zshrc
eval "$(zoxide init --cmd cd zsh)"
Note that this will allow for the use of cd
as normal, so that on systems that do not have zoxide installed, cd muscle memory is maintained.
Use
Linked Documentation
Youtube video: https://www.youtube.com/watch?v=aghxkpyRVDY
iamb
This is a rust command line tool for navigating matrix chats with vim motions
Installation
cargo install --locked iamb
Keybindings
See iamb.chat for full documentation
Keybinding | Action |
---|---|
<C-w>m |
Toggle focus between message bar and message scrollback |
Cargo Update
A tool to automatically update all cargo installed tools on the system.
Run cargo install --list
to see a list of all cargo packages installed globally
Install
cargo install cargo-update
Usage
Update all packages.
cargo install-update -a
Update cargo-install
cargo-update
csvlens
An easy way to view csv files in the terminal.
Installation
It can be installed view cargo
cargo install csvlens
Usage
csvlens <filename>
Key | Action |
---|---|
hjkl (or ← ↓ ↑→ ) |
Scroll one row or column in the given direction |
Ctrl + f (or Page Down ) |
Scroll one window down |
Ctrl + b (or Page Up ) |
Scroll one window up |
Ctrl + d (or d ) |
Scroll half a window down |
Ctrl + u (or u ) |
Scroll half a window up |
Ctrl + h |
Scroll one window left |
Ctrl + l |
Scroll one window right |
Ctrl + ← |
Scroll left to first column |
Ctrl + → |
Scroll right to last column |
G (or End ) |
Go to bottom |
g (or Home ) |
Go to top |
<n>G |
Go to line n |
/<regex> |
Find content matching regex and highlight matches |
n (in Find mode) |
Jump to next result |
N (in Find mode) |
Jump to previous result |
&<regex> |
Filter rows using regex (show only matches) |
*<regex> |
Filter columns using regex (show only matches) |
TAB |
Toggle between row, column or cell selection modes |
> |
Increase selected column's width |
< |
Decrease selected column's width |
Shift + ↓ (or Shift + j ) |
Sort rows by the selected column |
# (in Cell mode) |
Find and highlight rows like the selected cell |
@ (in Cell mode) |
Filter rows like the selected cell |
Enter (in Cell mode) |
Print the selected cell to stdout and exit |
-S |
Toggle line wrapping |
r |
Reset to default view (clear all filters and custom column widths) |
H (or ? ) |
Display help |
q |
Exit |
Installation
cargo install russ --git https://github.com/ckampfe/russ
Usage
russ read
wiki-tui
This is a tool for using wikipedia from the terminal.
Installation
cargo install wiki-tui
Usage
Simply type wiki-tui
as a command and then search for articles.
q
is to exit the program. <Tab>
is to cycle between the main article and the table of contents.
ggshield
ggshield
is offered by gitguardian, and scans for secrets either on a repo or path level, or as a pre-commit or pre-push hook.
Installation
To add the deb package
curl -1sLf \
'https://dl.cloudsmith.io/public/gitguardian/ggshield/setup.deb.sh' \
| sudo -E bash
then
apt install ggshield
Add ggshield as a pre-commit hook to check for secrets before commits
ggshield install -m global
Dict
An offline dictionary in the commmand line.
Installation
sudo apt-get install dict dictd dict-gcide
Usage
dict <word>
Ducker
A way to visualize actively running containers
Installation
cargo install ducker
Usage
ducker
btop
A process monitor for linux machines
Installation
sudo apt-get btop
Usage
btop
gdu
A disk usage analyzer written in go
Installation
sudo apt install gdu
Usage
Change directories to the one you wish to analyze
gdu
lychee
A tool to check for invalid links
Installation
cargo install lychee
Usage
Check all of the links in a direcotry recursive, and ignore file://
links
lychee . -s https
uv
Installation
cargo install --git https://github.com/astral-sh/uv uv
Usage
First, a project needs to have uv initialized
uv init .
Next, dependencies need to be added to the virtual environment
uv add {package_name}
Most frameworks will have a command to run for development. For example, this documentation needs mkdoc serve
uv run mkdocs serve
Tools can be run in the temporary environment. Formatters are a good example of this
uvx ruff {file}