Clipboard Project:终端里的多剪贴板管理工具

Clipboard Project:终端里的多剪贴板管理工具

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

正文顶部截图

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

README区域截图

基本用法

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 statuscb 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_ACTIONCLIPBOARD_SCRIPT_TIMING 环境变量告知脚本当前上下文。配合 cb infocb 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_NOAUDIOCLIPBOARD_SILENTCLIPBOARD_NOPROGRESS 等变量可以控制音效和提示输出的开关。

适用场景

对于终端用户,CB 解决了日常工作里关联度很高的一个需求:在文件、日志、文本片段之间搬运数据。它的复制粘贴与系统剪贴板互通,在终端和 GUI 应用之间无缝衔接。需要频繁在多个上下文间切换时,CB 的多剪贴板和持久化机制减少了重复定位和窗口切换的操作。

posted @ 2026-06-03 12:40  小飞技术快餐  阅读(5)  评论(0)    收藏  举报