OS X 有 2 个系统剪贴板?

2014-08-14 02:02:19 +08:00
 dearrrfish
最近在做一个Alfred workflow for KeePass,在拷贝密码的时候发现一个问题,有时候不同程序之间的拷贝并不互通,稍微dig了一下发现貌似OS X存在两套(或者更多)剪贴板:

- Finder 里 Show clipboard 可以观察到的剪贴板,我管它叫 系统剪贴板
- pbcopy/pbpaste 可以操控的剪贴板,我管它叫 文本剪贴板

话说这个问题蛮头疼的,比如我发现 chrome 里用的 文本剪贴板 而 Safari/Firefox 用的 系统剪贴板。

总之这个问题挺尴尬的,也不是没有办法解决,就是感觉同样一个 cmd+c,切换不同程序拷贝失败的时候还得思考一下究竟是剪贴板用的不一样还是没拷贝成功……

在不考虑第三方剪贴板软件的情况下有什么好的处理方法吗?
4683 次点击
所在节点    macOS
5 条回复
geeti
2014-08-14 02:19:29 +08:00
我的无论是从哪用cmd+c复制的,还是pbcopy复制的,都会显示在finder的剪切板里边
hewigovens
2014-08-14 08:15:24 +08:00
lz可以看下 [Pasteboard Programming Guide](https://developer.apple.com/library/mac/documentation/cocoa/Conceptual/PasteboardGuide106/Articles/pbConcepts.html#//apple_ref/doc/uid/TP40008101-SW3) 系统默认是提供了多个剪贴板, 比如 NSGeneralPboard/NSRulerPboard/NSFontPboard/NSFindPboard/NSDragPboard 用途不同, 用的最多的是NSGeneralPboard, 而它又支持多种数据格式, pbcopy/pbpaste应该是只支持文本. 剪贴板基本上是个公共区域, 大家都可以去读写
douniwan5788
2014-08-25 23:40:58 +08:00
我也遇到这个问题了,记得之前pbcopy的东西可以cmd + v在其他地方粘贴的,今天不知道怎么就不行了,只能pbpaste
douniwan5788
2014-08-25 23:54:34 +08:00
我发现把应用关掉重开一遍剪贴板就跟pbcopy统一了,貌似是什么bug导致某个时间生成了一个新的剪贴板实例,就变成新旧两个剪贴板了
dearrrfish
2014-08-29 01:11:54 +08:00
@douniwan5788 是的,有时候重启应用就能统一剪贴板。不过很烦啊,像iTerm,Chrome,MacVim这种常驻开启的应用,重启一次很麻烦。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/127781

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX