跳到主要内容

改进工具集

这里收集了一些改善或创新的命令行工具:


代码处理:


搜索与查找:


文件管理:

bat

更好的语法着色代码阅读器,less 改进品
用包管理器安装:
sudo pacman -S --noconfirm bat
在 Debian 系统,bat 已被其它应用注册。要映射 bat 为 batcat:
sudo update-alternatives --install /usr/local/bin/bat bat `which batcat` 1

delta

文本对比工具,diff 改进品
用包管理器安装:
sudo pacman -S --noconfirm git-delta
Git 集成:
git config --global pager.show delta
git config --global pager.log delta
git config --global pager.reflog delta
git config --global interactive.difffilter "delta --color-only"

# (optional) will influence `git diff` output format:
# git config --global pager.diff delta

tig

更好的 git log 查看器
Git For Windows 已内置此命令
用包管理器安装:
sudo pacman -S --noconfirm tig

recommend config:

# press `C` key switch HEAD pointer to current selected commit
echo 'bind main C ?git checkout %(commit)' >> ~/.tigrc

fzf

互动菜单选择器
用包管理器安装:
sudo pacman -S --noconfirm fzf

要在 Shell 内启用以下快捷键:

  • Ctrl + R 历史搜索(支持模糊搜索)
  • Alt + C 切换当前工作目录
  • Ctrl + T 搜索文件,复制其路径
包管理器:
printf "source /usr/share/fzf/shell/key-bindings.bash\n" >> ~/.bashrc
printf "source /usr/share/fzf/shell/key-bindings.zsh\n" >> ~/.zshrc
exec $SHELL

fd

文件查找器,find 改进品
用包管理器安装:
sudo pacman -S --noconfirm fd
用 APT 安装:
sudo apt install -y fd-find
sudo update-alternatives --install /usr/local/bin/fd fd `which fdfind` 1

ripgrep

文本查找器
用包管理器安装:
sudo pacman -S --noconfirm ripgrep

ncdu

分析文件夹大小
用包管理器安装:
sudo pacman -S --noconfirm ncdu

zoxide

工作目录记录与跳转,cd 改进品
用包管理器安装:
sudo pacman -S --noconfirm zoxide
集成:

bash/zsh:

printf 'eval "$(zoxide init bash)"\n' >> ~/.bashrc
printf 'eval "$(zoxide init zsh)"\n' >> ~/.zshrc

PowerShell $profile:

## For zoxide v0.8.0+
Invoke-Expression (& {
$hook = if ($PSVersionTable.PSVersion.Major -lt 6) { 'prompt' } else { 'pwd' }
(zoxide init --hook $hook powershell | Out-String)
})

## For older versions of zoxide
Invoke-Expression (& {
$hook = if ($PSVersionTable.PSVersion.Major -lt 6) { 'prompt' } else { 'pwd' }
(zoxide init --hook $hook powershell) -join "`n"
})

fzf

输入 `zi` 搜索记录

moreutils

更多实用命令
用包管理器安装:
sudo pacman -S --noconfirm moreutils

tmux

终端分屏与复用
printf '# 256 color mode enchance (Y/n)? '; read r
[[ "$r" =~ ^(Y|y|)$ ]] &&
echo 'set -g default-terminal "screen-256color"' >>~/.tmux.conf

printf 'press `Prefix + M` switch mouse mode (Y/n)? '; read r
[[ "$r" =~ ^(Y|y|)$ ]] &&
echo 'bind-key m set-option -g mouse \; display "Mouse: #{?mouse,ON,OFF}"' >>~/.tmux.conf

printf 'replace `Ctrl + S` with `Ctrl + B` as prefix key (y/N)? '; read r
[[ "$r" =~ ^(Y|y)$ ]] &&
echo 'set-option -g prefix C-s' >>~/.tmux.conf

pidof tmux >/dev/null && tmux source-file ~/.tmux.conf

tldr

命令用法大全,man 精简版
用包管理器安装:
sudo pacman -S --noconfirm tldr
git clone --depth=1 https://gitclone.com/github.com/tldr-pages/tldr ~/.cache/tldr
Node.js 版:
安装:
yarn global add tldr

# make it as a ohmyzsh plugin
ln -s $(yarn global dir)/node_modules/tldr/bin/completion/zsh/_tldr $ZSH_CUSTOM/plugins/tldr/_tldr
echo tldr >> .zshrc.plug.list # add to .zshrc plugins array
彩色显示:
[ -f ~/.tldrrc ] || echo '{"theme":"base16"}' > ~/.tldrrc

国内镜像:

git clone --depth=1 https://gitclone.com/github.com/tldr-pages/tldr ~/.tldr/cache

pipx

环境隔离化的安装器,pip 改进品
需要 Python >= 3.7
用包管理器安装:
sudo pacman -S --noconfirm python-pipx
从 PyPI 镜像源获取

一次性参数:

-i https://mirrors.cloud.tencent.com/pypi/simple

全局设置:

pip config set global.index-url https://mirrors.cloud.tencent.com/pypi/simple
用 pip 安装:
python3 -m pip install --user pipx
python3 -m pipx ensurepath

自动补全指引:
echo 'eval "$(register-python-argcomplete pipx)"' >> ~/.zshrc

# other UNIX:
# pipx completions | less

赞助作者 (Sponse me):