V předchozích dílech jsme si prošli eza, bat, fd a ripgrep. Každý zvlášť je fajn, ale síla přichází, když je propojíš. V tomhle díle si ukážeme kompletní setup, aliasy a integraci s fzf – tou pravou třešničkou.
Instalace celé sady
sudo pacman -S eza bat fd ripgrep fzf
Bonusově doporučuji:
sudo pacman -S ttf-jetbrains-mono-nerd # font s ikonami pro eza
sudo pacman -S zoxide # náhrada cd (bonus)
sudo pacman -S starship # moderní prompt (bonus)
Aliasy do ~/.zshrc
Zkopíruj celý blok:
# ===== Moderní CLI aliasy =====
# eza (ls)
alias ls='eza --icons --group-directories-first'
alias ll='eza -la --icons --git --group-directories-first'
alias la='eza -a --icons --group-directories-first'
alias lt='eza --tree --level=2 --icons'
alias llt='eza -la --tree --level=2 --icons --git'
# bat (cat)
alias cat='bat --paging=never'
alias catp='bat'
# fd (find)
alias find='fd'
# ripgrep (grep)
alias grep='rg'
# pomůcky
alias diff='diff --color=auto'
Aplikuj:
source ~/.zshrc
Environment proměnné
Přidej na začátek ~/.zshrc:
# ===== ENV pro moderní CLI =====
# man stránky přes bat
export MANPAGER="sh -c 'col -bx | bat -l man -p'"
export MANROFFOPT="-c"
# ripgrep config
export RIPGREP_CONFIG_PATH=~/.config/ripgrep/config
# bat téma (pokud používáš catppuccin nebo jiné)
export BAT_THEME="Catppuccin Mocha"
fzf – integrace se vším
fzf (fuzzy finder) je nástroj, který sám o sobě nedělá nic, ale spojený s ostatními je magie.
Základní setup fzf
# aktivace v zsh
source /usr/share/fzf/completion.zsh
source /usr/share/fzf/key-bindings.zsh
Klávesové zkratky, které teď fungují:
- Ctrl+R – interaktivní procházení historie příkazů
- Ctrl+T – vložit soubor do aktuálního příkazu
- Alt+C – interaktivní
cd
fzf s fd (Ctrl+T a Alt+C)
Aby fzf používal fd místo pomalého find:
# do ~/.zshrc
export FZF_DEFAULT_COMMAND='fd --type f --hidden --follow --exclude .git'
export FZF_CTRL_T_COMMAND="$FZF_DEFAULT_COMMAND"
export FZF_ALT_C_COMMAND='fd --type d --hidden --follow --exclude .git'
fzf s bat pro preview
export FZF_CTRL_T_OPTS="--preview 'bat --color=always --style=numbers --line-range=:500 {}'"
export FZF_ALT_C_OPTS="--preview 'eza --tree --icons --level=2 {}'"
Teď při Ctrl+T vidíš obsah souboru vpravo, při Alt+C stromový výpis složky.
Killer combos
Otevři soubor ve VSCodium fuzzy výběrem
alias fv='codium $(fzf --preview "bat --color=always {}")'
Grep + fzf + náhled
frg() {
local match
match=$(rg --line-number --no-heading --color=always "$@" \
| fzf --ansi --delimiter=: \
--preview 'bat --color=always {1} --highlight-line {2}' \
--preview-window '+{2}-/2')
[ -n "$match" ] && echo "$match" | awk -F: '{print $1 " +" $2}' | xargs -o vim
}
Použití: frg TODO – vyhledá TODO ve všech souborech, ukáže preview, po Enteru otevře ve vim na správném řádku.
Rychlý přechod do gitového projektu
alias proj='cd $(fd -t d -H "^\.git$" ~/projekty | xargs dirname | fzf)'
zoxide – bonus (náhrada cd)
zoxide si pamatuje, kam chodíš, a nabízí zkrácené cesty:
sudo pacman -S zoxide
# aktivace v ~/.zshrc
eval "$(zoxide init zsh)"
Použití:
z projekty # cd tam, kam si pamatuje
z arch # ~/git_archlinuxcz/...
zi # interaktivní výběr z historie
Kompletní ~/.zshrc snippet
Můj setup, který můžeš rovnou zkopírovat:
# ===== Moderní CLI: kompletní setup =====
# --- Environment ---
export MANPAGER="sh -c 'col -bx | bat -l man -p'"
export MANROFFOPT="-c"
export BAT_THEME="Catppuccin Mocha"
export RIPGREP_CONFIG_PATH=~/.config/ripgrep/config
# --- fzf ---
source /usr/share/fzf/completion.zsh
source /usr/share/fzf/key-bindings.zsh
export FZF_DEFAULT_COMMAND='fd --type f --hidden --follow --exclude .git'
export FZF_CTRL_T_COMMAND="$FZF_DEFAULT_COMMAND"
export FZF_ALT_C_COMMAND='fd --type d --hidden --follow --exclude .git'
export FZF_CTRL_T_OPTS="--preview 'bat --color=always --style=numbers --line-range=:500 {}'"
export FZF_ALT_C_OPTS="--preview 'eza --tree --icons --level=2 {}'"
export FZF_DEFAULT_OPTS="--height 40% --layout=reverse --border"
# --- Aliasy ---
alias ls='eza --icons --group-directories-first'
alias ll='eza -la --icons --git --group-directories-first'
alias la='eza -a --icons --group-directories-first'
alias lt='eza --tree --level=2 --icons'
alias llt='eza -la --tree --level=2 --icons --git'
alias cat='bat --paging=never'
alias catp='bat'
alias find='fd'
alias grep='rg'
alias diff='diff --color=auto'
# --- zoxide (bonus) ---
eval "$(zoxide init zsh)"
# --- Funkce ---
frg() {
local match
match=$(rg --line-number --no-heading --color=always "$@" \
| fzf --ansi --delimiter=: \
--preview 'bat --color=always {1} --highlight-line {2}' \
--preview-window '+{2}-/2')
[ -n "$match" ] && echo "$match" | awk -F: '{print $1 " +" $2}' | xargs -o vim
}
Trilium poznámka na závěr
Hoď si celou tuhle konfiguraci do jedné poznámky v Trilium Notes. Když přejdeš na nový stroj nebo reinstaluješ Arch, máš to po ruce jedním copy-paste.
Alternativa je chezmoi pro správu dotfiles přes git – ten si zaslouží samostatný článek.
Shrnutí série
Prošli jsme čtyři hlavní moderní CLI nástroje:
- eza – hezčí
lss git statusem - bat –
catse zvýrazněním syntaxe - fd – jednodušší a rychlejší
find - ripgrep – nejrychlejší
grep
Plus fzf jako lepidlo, které z nich udělá jeden produktivní workflow.
Původní Unix nástroje neuklízíme – zůstávají v systému a stále je používáme ve skriptech a přes \alias bypass. Ale interaktivně? Zpět už se nevrátíš.
Až budeš mít další nápady na sérii (třeba zoxide, starship, atuin, delta), dej vědět – nebo je klidně napiš sám a pošli na fedi, rád je sdílím dál.

Komentáře