macOS能否做到删除上一条剪贴板记录(恢复之前的剪贴板)?
我想拷贝一段文本,然后执行某些动作后删除刚才拷贝过的文本,也就是删除上一条(最后一条)剪贴板记录,相当于把剪贴板恢复成拷贝之前的状态,能不能做到?
由于macOS没有读取选中的文本这个功能,所以想处理文本必须要经过剪贴板,但我看某些自动化App(e.g. popclip)可以在拷贝完成后恢复之前的剪贴板,这个是怎么做到的?有没有AppleScript或者Terminal command之类的可以做到?
我想拷贝一段文本,然后执行某些动作后删除刚才拷贝过的文本,也就是删除上一条(最后一条)剪贴板记录,相当于把剪贴板恢复成拷贝之前的状态,能不能做到?
由于macOS没有读取选中的文本这个功能,所以想处理文本必须要经过剪贴板,但我看某些自动化App(e.g. popclip)可以在拷贝完成后恢复之前的剪贴板,这个是怎么做到的?有没有AppleScript或者Terminal command之类的可以做到?
系统自带的系统剪贴板是不维护历史数据的. 根据你的需求, 可能可以使用 macOS 系统自带的 textclipping 功能. 最简单的操作是:
这个方式不会改变剪贴板 (clipboard) 的内容, 而且可以 基本(有时并不会) 保持原数据的格式.
第二部分问题:
一个普通的原理是, 第三方程序自己维护一个剪贴板的缓存, 记录每次剪贴板的内容并添加到程序自己的记录中, 这样用户可以通过这个程序浏览剪贴板历史.
AppleScript和Terminal命令都有类似的系统剪贴板读取和写入的功能. 命令行的提供两条命令 pbcopy 和 pbpaste. 可以模拟上面的步骤, 但是不能自动操作, 需要手动做. Automator中也有类似的“copy to clipboard”和“Get Content of Clipboard”, 逻辑都一样.
macOS能否做到删除上一条剪贴板记录(恢复之前的剪贴板)?