Clipboard Project:终端里的多剪贴板管理工具
Clipboard Project:终端里的多剪贴板管理工具
Slackadays 开发的 Clipboard Project 在 GitHub 上获得了 5800+ Star,是一个用 C++ 编写的跨平台终端剪贴板管理工具。它的核心思路是用一条 cb 命令统一管理所有复制粘贴操作,替代反复 Ctrl+C / Ctrl+V 的流程。

系统自带的剪贴板通常只能保存最近一次复制的内容,覆盖之后就找不回来。CB 提供了一套剪贴板体系:无限数量的剪贴板,每个独立维护历史记录,不限容量。

基本用法
CB 的命令设计非常直接。在终端里复制粘贴一条命令就够了:
# 复制文件
$ cb copy document.pdf
# 粘贴到当前目录
$ cb paste
# 管道输入文本
$ echo "Hello World" | cb
切换剪贴板的方法是在动作后面加数字或名字:cb copy5 存到第 5 号剪贴板,cb copy_foo 使用名为 foo 的持久化剪贴板。临时剪贴板的数据存在临时目录,持久化剪贴板存到用户目录,重启后仍然保留。
不止文本
CB 可以复制文件、目录、二进制数据以及管道输出。对于日志分析和系统巡检场景,这套管道机制省去了先写文件再处理的步骤:
$ journalctl | cb # 复制 systemd 日志
$ sudo dmesg | cb # 复制内核日志
$ cb copy logs/*.log # 复制所有日志文件
$ cb paste > /tmp/log.txt # 输出到文件
$ cb paste | cat # 管道给其他程序
协同 vim、nano、VS Code 也没问题。在 vim 中 :r !cb 直接贴入编辑器,nano 用 Ctrl-T cb,VS Code 用 cb | code -。复制大量文件时,--fast-copy 用符号链接替代实际复制,速度提升明显。
笔记与整理
CB 支持为每个剪贴板添加备注标签。cb note "会议记录备份" 给当前剪贴板加标注,后续用 cb status 或 cb info 查看时能区分不同用途。cb edit 直接打开编辑器修改剪贴板里的内容,适合整理长文本。cb search 支持跨剪贴板的正则搜索,cb import/export 完成批量导入导出。
每个剪贴板都有历史
每次复制操作自动保存为历史记录。cb history 查看列表,cb history 1 回到上一条。历史上限通过环境变量配置:
$ export CLIPBOARD_HISTORY=10000 # 保留 10000 条
$ export CLIPBOARD_HISTORY=50gb # 或限制 50GB
$ export CLIPBOARD_HISTORY=52w # 或保留 52 周
安全和忽略规则
CB 提供正则忽略规则,防止敏感数据进入剪贴板:
$ cb ignore "(?<![A-Za-z0-9/+=])[A-Za-z0-9/+=]{40}(?![A-Za-z0-9/+=])"
--secret 参数用 SHA512 哈希存储密钥,查看时只显示哈希值,不泄露原文。复制密码时用 cb cut 替代 cb copy,粘贴一次后数据即被清除。
脚本与自动化
CB 内置脚本 hook 机制,在操作前后自动执行绑定的脚本,并通过 CLIPBOARD_ACTION 和 CLIPBOARD_SCRIPT_TIMING 环境变量告知脚本当前上下文。配合 cb info 和 cb status 的 JSON 输出,可以从 dmenu、fzf 等工具读取数据,构建定制化的自动化管道。
安装
CB 同时支持 Linux、macOS 和 Windows,覆盖了几乎所有主流包管理器:
- Homebrew:
brew install clipboard - Scoop:
scoop install clipboard - Winget:
winget install -e --id Slackadays.Clipboard - AUR:
yay -S clipboard - Snap:
sudo snap install clipboard
一键安装脚本:
curl -sSL https://github.com/Slackadays/Clipboard/raw/main/install.sh | sh
主题与配置
CB 内置多套主题:dark(默认)、light、green、amber、darkhighcontrast 等。通过 CLIPBOARD_THEME 环境变量切换:
$ export CLIPBOARD_THEME=green # 经典终端绿
$ export CLIPBOARD_THEME=amber # 暖黄配色
通过 CLIPBOARD_NOAUDIO、CLIPBOARD_SILENT、CLIPBOARD_NOPROGRESS 等变量可以控制音效和提示输出的开关。
适用场景
对于终端用户,CB 解决了日常工作里关联度很高的一个需求:在文件、日志、文本片段之间搬运数据。它的复制粘贴与系统剪贴板互通,在终端和 GUI 应用之间无缝衔接。需要频繁在多个上下文间切换时,CB 的多剪贴板和持久化机制减少了重复定位和窗口切换的操作。
浙公网安备 33010602011771号