开发提示:自动将控制台输出复制到剪贴板¶
类别: Linux / Shell 生产力
平台: Linux (zsh + Konsole/KDE)
## 问题
使用人工智能助手时,您经常需要复制终端输出并将其粘贴到聊天中。这通常意味着: 1.运行命令 2. 用鼠标选择输出 3. 复制 4.切换到浏览器 5. 粘贴
这步骤太多了。
解决方案:通过 preexec / precmd 自动捕获¶
将其添加到您的“~/.zshrc”:
代码_块_0
然后重新加载: 代码_块_1
### 结果
每执行一个命令后,输出都会自动存储在您的剪贴板中 — 准备好使用 Ctrl+V 粘贴到您的 AI 聊天中。
输出也始终保存在“~/t.txt”中以供参考。
它是如何工作的¶
部分 |
它有什么作用 |
|---|---|
|
在每个命令之前运行,将输出重定向到 |
|
在每个命令后运行,恢复标准输出并复制到剪贴板 |
|
将输出保存到文件,同时仍然在终端中显示它 |
|
去除 KDE Konsole 标题转义序列 ( |
|
将清理后的输出复制到剪贴板 |
## 要求
代码_块_2
⚠️ 不该做什么¶
不要使用fc -ln -1 | bash 重新执行最后一个命令:
代码_块_3
这会在完成后重新执行每个命令,这可能会导致破坏性的副作用 - 例如覆盖文件、重新运行“git commit”、重新运行“sed -i”等。
上面的preexec/precmd方法捕获执行期间的输出——安全可靠。