0%

Ditto使用技巧:包括与排除复制

应用级别包括与排除

Ditto 默认设置下会收集所有复制内容,但是,这可能不是我们所希望的——比如,某些应用中会存在敏感数据。

Ditto 允许用户指定在哪些应用中复制内容会发送给它,哪些应用中复制内容不发送。可在【选项-常规】设置【包括】和【排除】两项来指定。

include & exclude

【包括】和【排除】的默认值分别为 * 和空,代表接受所有应用程序发送的复制内容。

此两个配置项有以下几项规则:

  • 接受通配符 *(任意数量的任意字符)
  • 接受多个应用程序名(用; 分隔,配置项上有说明)
  • 【排除】的优先级比【包括】要高

注意,这里配置的是应用程序的进程名,即【任务管理器-详细信息】中看到的名称。

比如,【包括】和【排除】分别为 c*.exe;powershell.execmd.exe;chrome.exe 时,代表所有 c 字头的应用以及 powershell 中复制的内容会发送给 Ditto,但是 c 字头的应用排除了 cmd.exe(命令行)和 chrome.exe(谷歌浏览器)。

应用内的包括与排除

显然,这样的控制粒度只能到应用级别。如果想要在某个应用内做更精细的控制,就要用到高级设置了。

【选项-常规】页面中点击【高级】按钮弹出对话框,其最后一个名为【Exclude clips by Regular Expressions】配置大项,提供了 15 对子配置,用以指定哪些【Process Name】(应用程序进程名)复制的内容匹配指定的【Regex】(正则表达式)时,不发送到 Ditto。

Exclude by RE

【Process Name】配置规则与【包括】、【排除】类似:

  • 接受通配符 *(任意数量的任意字符)
  • * 或空代表所有应用
  • 接受多个应用程序名(用; 分隔)

比如,【Process Name】和【Regex】分别配置为 typora.exeabc\d*,则在 Typora 中复制 abc 开头后跟任意数量数字的文本时,将不会发送到 Ditto 中。

注意,这要求用户会使用正则表达式。

其他配置导致的冲突

在另一篇文章《Ditto使用技巧:断开剪贴板》中,我们讨论了断开剪贴板的使用场景。如果恰巧你长期在“断开”状态下使用 Ditto,那么上文的配置将“失效”。

因为上文的配置只针对系统复制(Ctrl + C)有效,而不会应用于【Copy And Save Current Clipboard】指定的快捷键复制——复制内容总是会发送到 Ditto。