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}