纯文本方式粘贴Everywhere:)

今天搞定一个挺有用的快捷键:经常需要复制文本以plain text方式粘贴,但在OSX下挺不方便的。网上的教程大部分是说option+command+v可以有match formatting的方式粘贴,实际上这个快捷键基本上无效而且即使粘贴了也没完全达到paste as unformatted的效果。

解决方案分两步:
1. 先写一段脚本,内容相当简单,就一行,这个脚本的功效是:把当前剪贴板的内容转换成无格式的文本。

set the clipboard to string of (the clipboard as record)

补充:第2天来发现这段代码又不能工作了,原因不明,换了一段代码又可以了,用的时候自己试吧

set the clipboard to «class ktxt» of ((the clipboard as text) as record)

 

2. 用BTT(BetterTouchTools)创建快捷键,比如:ctrl+option+command+v
这个快捷键得有二个Action,第一个Action是执行上面的脚本,转换剪贴板的文本,注意一定要选择blocking方式执行。

注意在打开的脚本编辑(选择)窗口中一定不能勾选下面这个勾(Run in background),否则即使你前面选择的是blocking也会自动改成async(异步)执行。

第二步其实很简单,就是触发一个粘贴的快捷键Command+V把剪贴板的内容粘贴出来。
如果第一步是用异步的方式执行的,则第2步与第1步会同时执行,此时可能尚未完成文本内容的转换,粘贴的结果是未知的,因此一定要同步(blocking)执行。

也许使用Automator+Script也能达到同样的效果,不过我正好有BTT就省事了。

Continue Reading