Message Dump - 一键复制上一条命令到剪贴板
- 跑
cmake、gradlew、AI 模型训练,输出刷了几百行,想找报错得往上翻半天 - 在 tmux 里跑命令,输出超出屏幕就看不到了,想复制完整输出巨麻烦
- 想把报错丢给 AI,还得手动选中、复制,滑动半天
现在,md 一下就搞定。
- 🚀 完全无感 - 自动捕获所有命令输出,无需改变任何习惯
- 📋 一键复制 - 命令 + 完整输出,直接粘贴给 AI
- 🔧 一键安装 / 卸载 - 一条命令搞定
- 🌍 多平台 - macOS / 所有 Linux 发行版
- 🖥️ SSH 友好 - 服务器上
md,直接复制到本地剪贴板
- 支持 tmux 3.2 以下版本
curl -fsSL https://raw.githubusercontent.com/Cishoon/md/main/install-online.sh | bash💡 习惯用 md 当 mkdir?可以改用 mdd 命令
curl -fsSL https://raw.githubusercontent.com/Cishoon/md/main/install-online.sh | MD_CMD_NAME=mdd bash这样安装后使用 mdd 代替 md,不会影响你的 md 习惯。
irm https://raw.githubusercontent.com/Cishoon/md/main/install-online.ps1 | iex
⚠️ 需要 PowerShell 7 或更高版本。默认会覆盖内置的md别名(mkdir 的简写)
💡 想保留 md 作为 mkdir?可以改用 mdd 命令
$env:MD_CMD_NAME = "mdd"; irm https://raw.githubusercontent.com/Cishoon/md/main/install-online.ps1 | iex没有 PowerShell 7?
winget install --id Microsoft.PowerShell -e
$PSVersionTable # 查看版本安装完成后重启终端。
cmake .. # 输出了 500 行,报错在中间某处
md # copiedCtrl+V 粘贴,剪贴板内容:
$ cmake ..
-- The C compiler identification is GNU 9.4.0
-- The CXX compiler identification is GNU 9.4.0
...
CMake Error at CMakeLists.txt:42:
Could not find package XXX
...
安装 md 后,某些命令会检测输出环境是否为 TTY,显示不同的样式(如带颜色的输出),或者是可交互的(如 nload、htop),可能会无法正常显示或使用。
可以手动使用 md exclude add <cmd> 排除这些命令:
md exclude add nload
md exclude add htop| 命令 | 说明 |
|---|---|
md |
复制上一条命令到剪贴板 |
md exclude list |
查看排除的命令列表 |
md exclude add <cmd> |
添加命令到排除列表 |
md exclude rm <cmd> |
从排除列表移除命令 |
md update |
更新到最新版本 |
md uninstall |
卸载 |
md version |
显示版本 |
md help |
帮助 |
排除列表中的命令不会被捕获输出,保持原有显示效果。用户自定义配置保存在
~/.md/exclude
| 平台 | Shell |
|---|---|
| macOS | zsh / bash |
| Linux (所有发行版) | zsh / bash |
| Windows | PowerShell 7 |
| SSH 远程服务器 | zsh / bash |
使用 OSC 52 协议复制到剪贴板,需要终端支持(iTerm2、Windows Terminal、Alacritty、kitty 等现代终端均支持)
⚠️ tmux 用户注意: 目前仅支持 tmux 3.2 及以上版本(需要set-buffer -w功能)
利用 shell hook 机制在命令执行前后劫持 stdout/stderr,通过 tee 分流保存,对用户完全透明。
- zsh:
preexec/precmdhooks - bash:
DEBUGtrap +PROMPT_COMMAND - PowerShell 7:
Start-Transcript+ PSReadLineCommandValidationHandler+prompt函数重写
MIT