bcmr v0.6.0
online github↗
docs / 指南 / Shell 集成

Shell 集成

BCMR 提供类似 zoxide 的 shell 集成。你可以创建带自定义前缀、后缀的别名,或完全替换原生命令。

设置

在 shell 配置文件中添加以下内容:

Zsh (~/.zshrc)

# 使用 'b' 前缀 → bcp, bmv, brm
eval "$(bcmr init zsh --cmd b)"

Bash (~/.bashrc)

# 使用 'b' 前缀 → bcp, bmv, brm
eval "$(bcmr init bash --cmd b)"

Fish (~/.config/fish/config.fish)

# 使用 'b' 前缀 → bcp, bmv, brm
bcmr init fish --cmd b | source

选项

参数说明
--cmd <前缀>设置命令前缀(如 b 创建 bcpbmvbrm
--prefix <前缀>显式设置前缀(覆盖 --cmd
--suffix <后缀>设置命令后缀
--no-cmd不创建命令别名
--path <路径>添加目录到 PATH

示例

# 替换原生命令(创建 cp, mv, rm)
eval "$(bcmr init zsh --cmd '')"

# 自定义前缀(创建 testcp, testmv, testrm)
eval "$(bcmr init zsh --cmd test)"

# 前缀 + 后缀(创建 pcp+, pmv+, prm+)
eval "$(bcmr init zsh --cmd --prefix p --suffix +)"

支持的 Shell

  • Bash
  • Zsh
  • Fish

Shell 补全

BCMR 通过 bcmr completions 提供所有命令和参数的 tab 补全。

Zsh

# 添加到 ~/.zshrc
eval "$(bcmr completions zsh)"

# 或生成到 fpath(启动更快)
bcmr completions zsh > ~/.zfunc/_bcmr
# 确保 ~/.zshrc 中有: fpath=(~/.zfunc $fpath)

Bash

# 添加到 ~/.bashrc
eval "$(bcmr completions bash)"

# 或生成到系统补全目录
bcmr completions bash > /etc/bash_completion.d/bcmr

Fish

bcmr completions fish > ~/.config/fish/completions/bcmr.fish

PowerShell

# 如果 profile 目录不存在则先创建,再追加
New-Item -Path (Split-Path $PROFILE) -ItemType Directory -Force | Out-Null
bcmr completions powershell >> $PROFILE

# 或仅在当前会话加载
bcmr completions powershell | Out-String | Invoke-Expression

设置后即可 tab 补全命令和参数:

bcmr co<TAB>       → bcmr copy
bcmr copy -<TAB>   → --recursive --preserve --force --verify ...