Toolchain
Modern
- Cross-platform Rust rewrite of the GNU core utils.
- Modern alternatives to common unix commands.
scoop install mise zoxide bat eza delta dust duf fd ripgrep fzf jq fx tlrc bottom gping procs curlie
eval "$(mise activate bash)"
eval "$(uv generate-shell-completion bash)"
eval "$(uvx --generate-shell-completion bash)"
eval "$(zoxide init bash)"
eval "$(fzf --bash)"
source <(fx --comp bash)
bind 'set bell-style none'
# Use fd for listing path candidates
_fzf_compgen_path() {
fd --hidden --follow --exclude ".git" . "$1"
}
# Use fd for list directory candidates
_fzf_compgen_dir() {
fd --type d --hidden --follow --exclude ".git" . "$1"
}
alias app="scoop"
alias cc="claude"
alias ccc="claude -c"
alias ccm="claude -p 'commit'"
alias code="cursor"
alias np="pnpm"
alias vim="nvim"
alias cd="z"
alias cat="bat"
alias ls="eza"
alias du="dust"
alias df="duf"
alias find="fd --hidden --follow --exclude .git"
alias grep="rg"
alias man="tldr"
alias top="btm"
alias ping="gping"
alias ps="procs"
alias curl="curlie"
export FZF_DEFAULT_COMMAND="fd --type f --strip-cwd-prefix --hidden --follow --exclude .git"
export RIPGREP_CONFIG_PATH="$HOME/.ripgreprc"
export PATH="$HOME/.local/bin:$PATH"
Scoop
# Command-line installer for Windows
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Invoke-RestMethod -Uri https://get.scoop.sh | Invoke-Expression
scoop search bat
scoop install eza
scoop info fzf
scoop bucket add extras
WinGet
winget search steam
winget install Microsoft.VisualStudioCode
winget show vscode
winget list
Scoop vs WinGet
Scoop is command line installer, while WinGet is app installer.
Recommended software for Windows:
winget install astral-sh.uv BellSoft.LibericaJDK.11 CoreyButler.NVMforWindows Rustlang.Rustup Tencent.WeixinDevTools zig.zig
winget install Google.Antigravity Microsoft.VisualStudioCode Neovim.Neovim Obsidian.Obsidian ZedIndustries.Zed
winget install Git.Git GitHub.cli kangfenmao.CherryStudio Microsoft.WindowsTerminal ImageMagick.ImageMagick Gyan.FFmpeg
winget install ClashVergeRev.ClashVergeRev Mihomo-Party.Mihomo-Party Google.Chrome Microsoft.OneDrive
winget install ByteDance.Feishu NetEase.CloudMusic Tencent.QQ.NT Tencent.WeChat Tencent.WeType Valve.Steam
Mise
Mise:
brew install mise
scoop install mise
winget install jdx.mise
echo 'eval "$(mise activate bash)"' >> ~/.bashrc
mise u -g node@lts
node -v
Zoxide
brew install zoxide
scoop install zoxide
winget install ajeetdsouza.zoxide
eval "$(zoxide init bash)"
alias cd="z"
Bat
bat:
brew install bat
scoop install bat
winget install sharkdp.bat
alias cat="bat"
Eza
eza:
brew install eza
scoop install eza
winget install eza-community.eza
alias ls="eza"
Delta
brew install git-delta
scoop install delta
winget install dandavison.delta
git config --global core.pager delta
git config --global interactive.diffFilter 'delta --color-only'
git config --global delta.navigate true
git config --global delta.dark true
git config --global delta.line-numbers true
git config --global delta.side-by-side true
git config --global merge.conflictStyle zdiff3
git diff
git show
git add -p
git log -p
git stash show -p
git reflog -p
Dust
dust:
brew install dust
scoop install dust
winget install bootandy.dust
alias du="dust"
Duf
duf:
brew install duf
scoop install duf
winget install muesli.duf
alias df="duf"
Fd
fd:
brew install fd
scoop install fd
winget install sharkdp.fd
alias find="fd --hidden --follow --exclude .git"
RipGrep
rg:
brew install ripgrep
winget install BurntSushi.ripgrep.MSVC
scoop install ripgrep
alias grep="rg"
export RIPGREP_CONFIG_PATH="$HOME/.ripgreprc"
$HOME/.ripgreprc:
# Add 'web' type.
--type-add
web:*.{html,css,js,jsx,ts,tsx,vue,svelte,astro}*
# Search hidden files / directories (e.g. dotfiles) by default
--hidden
# Using glob patterns to include/exclude files or folders
--glob
!**/.git/*
# Ignore case unless all caps
--smart-case
# Show file list with `-l`
rg -l text
Fzf
fzf:
brew install fzf
winget install fzf
scoop install fzf
# ~/.bashrc
eval "$(fzf --bash)"
# ~/.zshrc
source <(fzf --zsh)
# Use fd for listing path candidates
_fzf_compgen_path() {
fd --hidden --follow --exclude ".git" . "$1"
}
# Use fd for list directory candidates
_fzf_compgen_dir() {
fd --type d --hidden --follow --exclude ".git" . "$1"
}
# Respecting `.gitignore`
export FZF_DEFAULT_COMMAND="fd --type f --strip-cwd-prefix --hidden --follow --exclude .git"
Command line fuzzy finder:
ctrl-r: find commands.ctrl-t: find files and directories.alt-c:cdinto directory.code **<TAB>/code $(fzf -m): fuzzy completion for files and directories.ctrl-k/ctrl-j: move cursor up and down.- Multi-select(
-m):tabandshift-tabto mark multiple items.
Jq
jq:
brew install jq
scoop install jq
winget install jqlang.jq
echo "version=$(jq -r '.devDependencies["@playwright/test"]' package.json | sed 's/^[^0-9]*//')"
Fx
fx:
brew install fx
scoop install fx
# ~/.bashrc
source <(fx --comp bash)
# ~/.zshrc
source <(fx --comp zsh)
Terminal JSON viewer and processor:
# Hello world
echo '{"name": "world"}' | fx 'x => x.name' 'x => `Hello, ${x}!`'
# Bump version
fx package.json 'x.version = x.version.replace(/\d+$/, n => +n + 1), x'
# Interactive JSON viewer
curl -i https://fx.wtf/example.json | fx
TLDR
TLDR:
brew install tlrc
scoop install tlrc
winget install tldr-pages.tlrc
alias man="tldr"
Bottom
brew install bottom
scoop install bottom
winget install Clement.bottom
alias top="btm"
Gping
brew install gping
scoop install gping
winget install orf.gping
alias ping="gping"
Procs
brew install procs
scoop install procs
winget install dalance.procs
alias ps="procs"
Curlie
brew install curlie
scoop install curlie
alias curl="curlie"
Developer
- MAS: Microsoft KMS activation scripts.
- 行书指南: 高质量免费与开源软件列表.
- IT: Collection of handy online toolkit for developers.
- Omni: Collection of powerful web-based toolkit for everyday tasks.
- Miku: Lightweight toolkit collection.
Dotfiles
References
- Terminal tool of the week.
- Animating ASCII art app.