More shell commands

Apparently it is time to update my command line / terminal / shell commands. Here we go:

Nerd Font icons

  • Nerd Font patches great terminal fonts, including my favorite Hack.

Yazi

Yazi is a *terminal file manager, and also integrates with Zoxide and Fzf. And it can run on top of Kitty.

Kitty

Calibre's Kovid Goyal's Kitty a GPU-based terminal with a variety of features.

Zoxide replacement for cd

Zoxide is a smarter cd command, inspired by z and autojump. It remembers which directories you use most frequently, so you can "jump" to them in just a few keystrokes. Zoxide works on all major shells.

z foo              # cd into highest ranked directory matching foo
z foo bar          # cd into highest ranked directory matching foo and bar
z foo /            # cd into a subdirectory starting with foo

z ~/foo            # z also works like a regular cd command
z foo/             # cd into relative path
z ..               # cd one level up
z -                # cd into previous directory

zi foo             # cd with interactive selection (using fzf)

z foo<SPACE><TAB>  # show interactive completions (bash 4.4+/fish/zsh only)

Note: also install fzf fuzzy finder, as this can be used inside Zoxide.

eza replacement for ls

Besides eza there is also lsd an extended ls replacement. For me, the greater git integration means I'm onboard with eza.

Feature / Philosophy lsd eza
Design Philosophy Drop-in ls drop replacement. Aims to stick closely to standard ls flag conventions while adding modern visuals. Feature-rich reimagining. Re-thinks how file listing should work rather than strictly sticking to ls flags.
ls Compatibility High. Uses familiar ls flags (lsd -la, lsd -lh), making it very easy for muscle memory. Moderate. While common flags work, some options differ slightly from standard GNU/BSD ls.
Git Integration Basic. Can show git status icons next to tracked files. Advanced. Deeply integrated with Git. Shows extended status detail (staged, unstaged, ignored, modified) natively.
Tree View (--tree) Simple built-in tree view that mimics the classic tree tool. Highly configurable tree view with options to collapse levels, limit recursion, or filter by file types.
Hyperlinks Basic or relies on terminal capabilities. Strong support for OSC 8 terminal hyperlinks (clickable file paths in supported terminals).
Configuration Uses a straightforward config.yaml or LS_COLORS environment variables. Supports custom YAML themes, custom layout definitions, extended file properties, and metadata columns.
Performance Extends performance focused on simple listing and rendering; slightly faster for basic directory lists. Extremely fast for deep trees or heavily filtered lists, though heavy Git processing on huge repos can add slight overhead.
We use cookies only for WordPress functionality, and do not use third-party analytics or tracking.
Accept