isafari 一键复制_一键保存/追加网页内容到 macOS 备忘录

本文介绍了如何使用 Automator 和 JavaScript for Automation 在 macOS 中创建快捷键,实现一键将选中的文字保存或追加到备忘录,简化了原本繁琐的操作流程。通过几步简单的设置,用户可以自定义快捷键,提高内容收集的效率。
摘要由CSDN通过智能技术生成

从 OS X 10.11 和 iOS 9 开始,苹果更新了系统自带的备忘录应用,发展到今天,这个小巧的原生应用已经支持 iCloud 同步、多媒体内容和多级文件夹管理,具备了一个优秀笔记应用必备的功能。此外,Siri 和 Spotlight 系统级的接入甚至赋予了它更多场景使用的可能性。因此,很多人已经开始 使用备忘录作为自己的主力笔记应用。

虽然备忘录作为原生 App 具备各种优势,但实际上它的操作过程却谈不上简单高效。来看普通的收集流程。当我们在某个应用里遇到认为值得保存的内容,步骤大概是:

选中文字,⌘Command - C 进行复制;

找到备忘录程序并打开;

新建一条备忘;

⌘Command - V 粘贴内容。

乍看之下,这些操作不算麻烦,更算不上复杂。但是,在阅读一篇文章的时候,往往需要十数次地重复这些步骤。仔细分析下来,其中除了「选中文字」之外,其他步骤都是机械重复。于是我动手做了个简化流程,能做到选中文字,按下快捷键,内容写入备忘录:

一键保存文字内容到备忘录

安装和使用步骤

要做到这一点不需要安装什么新软件,只用自带的 Automator 就可以做到。不想了解原理的话,只看这个部分,下载动作设个快捷键就搞定啦~

第一步,下载 Automator 文件,因为要做到「保存到备忘录」和「追加到备忘录」,所以有两个文件:

第二步,解压下载过的文件,双击安装「保存到备忘录」和「追加到备忘录」。

第三步,设置快捷键。在「系统偏好设置–键盘–快捷键–服务」中找到我们刚刚保存的服务,点击它,即可为它设置快捷键,我这里设置为了 ⇧Shift - ⌥Option - ⌘Command - C 。

为服务设置快捷键

同样地,为「追加到备忘录」设置快捷键 ⇧Shift - ⌥Option - ⌘Command - A ,即可将选中的文字追加到备忘录中最近添加的一条备忘。

就 3 步,整个安装步骤就结束了。现在,你在任何应用程序中选中一段文字,就可以实现文章最初展示的效果,使用快捷键将文本快速保存到备忘录中了。

原理与引申

如果你只是想实现快速保存的功能,阅读以上内容已经足够。但如果你想进一步了解这个功能背后的原理,我们可以来试着探讨一下。

「服务」是 macOS 上的特色功能,它可以接受指定应用程序的输入,进而调动其他应用程序执行特定操作以形成整个工作流程。我们这里想要做的事情,就是以我们在其他应用程序中选中的文字作为输入,把它的内容快速地保存到备忘录中去。

为了实现这个目标,第一步,我们从 macOS 自带的自动操作(Automator)应用程序新建一个服务。在打开的窗口顶端,选择服务的对象是「位于任何应用程序」的「文本」。

使用自动操作(Automator)应用程序新建服务

从窗口的左侧,我们可以看到资源库已经包含了一些原生应用程序的预设操作,Automator 的自动化,实际上就是把这些操作根据我们的需要连接起来,让它自动且连续地完成我们设定好的任务。通观这些操作,可以发现里面没有包含我们需要的备忘录编辑功能。在这种时候,就需要调用更加强大的、更够与应用程序实现更多互动的 AppleScript 了。

扩展:AppleScript 是 macOS 自带的脚本语言,少数派上已经有一些关于 教学或讨论 AppleScript 的文章。

AppleScript 的语法规则自成体系,初学时很容易让人摸不着头脑。幸运的是,2014年苹果推出了 JavaScript for Automation,从此我们可以使用 JavaScript 制作 macOS 上的自动化工具。JavaScript 的语法相对来说与其他流行的编程语言更为相近,网上的教程也更加丰富,因此我们能够比较容易地理解和运用。

第二步,从左侧「资源库–实用工具」中选中「运行 JavaScript」并拖放到右端窗口,粘贴以下代码:

function run(input, parameters) {

var Notes = Application("Notes")

var newNote = Notes.Note({name: input})

Notes.folders[0].notes.push(newNote)

Notes.folders[0].notes[0].show()

}

如果追求更流畅的阅读体验,可以删掉最后一行代码 Notes.folders[0].notes[0].show(),这样就不会在添加内容到备忘后打开备忘录。

将文本保存到备忘录

现在你的窗口内容应该和上面的截图一样,其中右侧即是我们设定好的工作流程,首先当你调用「服务」时,它会接收你选中的文字;然后,它把文字作为 input 发送给相应的 JavaScript 函数,这个函数很简单,只有四行代码,它们的作用分别是:

获取备忘录应用程序实例(以便于我们对它进行操作);

新建一条备忘,用服务接收到的 input 值作为备忘的名字(也即备忘的第一行内容);

把刚才新建的备忘保存到备忘录的默认文件夹(中文系统下名为「备忘录」)中;

显示默认文件夹中的最新一条备忘(也即是我们刚刚保存的这条)。

如果具备基础的编程知识,很容易可以看出,我们其实只是新建了一个 Note 对象然后把它放进了备忘录的 notes 数组里去,是不是很简单?

同样地,由于我们常常需要把来自同一篇文章中的信息保存到同一条备忘中,所以可以按照上述的步骤再建立一个「将文本追加到备忘录」服务,只需要其中的代码替换为:

function run(input, parameters) {

var Notes = Application("Notes")

var body = Notes.folders[0].notes[0].body()

Notes.folders[0].notes[0].body = body + "
" + input

Notes.folders[0].notes[0].show()

}

代码的原理和之前大致相同,只是把备忘的内容从 input 变成了备忘中已有的内容 body + input 。

如果你还想了解更多关于用 JavaScript 写自动化脚本的内容,可以观看 WWDC 2014 的相关主题演讲。

第三步,保存文件,⌘Command - S,命名为「将文本保存到备忘录」,并前往系统偏好设置中为刚刚保存的服务设置一个快捷键(同上文安装步骤最后一步),就大功告成了。

为服务设置快捷键是一项系统功能,很简单,但是我想多说两句。设置快捷键,其实可能也算得上是一门学问,既要避免与系统快捷键冲突,又要突出快捷键的功能才能方便记忆。没有经过仔细思考的快捷键往往因为冲突在许多程序中无法使用,或是因为不具备语义而被遗忘在记忆的深处失去了价值。因此,这里我选择“保存到备忘录”的快捷键的理由是,利用它和普通复制的相似性,加上更多功能键,这样既避开了系统快捷键又能代表它本质是另一种更复杂的 Copy。这里使用了三个功能键,看起来操作复杂,其实这三个键的位置都在键盘的左下角或右下角,所以使用时大可一只手按住三个功能键,心理上进入「快捷键状态」,另一只手再根据 Copy 的目的从容地去按下 C 键。

三个功能键作为快捷键的布局

而对于「追加到备忘录」,它的功能是把当前选中内容追加到最新一条备忘的末尾,因此快捷键设置为 ⇧Shift - ⌥Option - ⌘Command - A 功能键和上面一致,方便记忆,而 A 代表 Append。

这样,一个完全由自己制作的自动化流程就成型了。根据自己的需求,你还可以简单地对代码进行修改,例如,只需要对 input 变量进行字符串拼接,你就可以按照自己设定的模板保存内容了。

结语

曾经看到一篇文章说,自动化节省的不是时间,而是心理能量。

我常常觉得某个网页上某段话很有韵味,却懒得多花几步去保存下来,而宁愿在需要它的时候苦思冥想曾经是在何处相遇。这同生活何其相似,我们常常很明白哪些事情对我们是有价值的,却往往因为嫌麻烦懒得去做。那么既然如此,就一起探索用自动化的方式帮助我们更好更快地做有价值的事情吧!

以下是对提供的参考资料的总结,按照要求结构化多个要点分条输出: 4G/5G无线网络优化与网规案例分析: NSA站点下终端掉4G问题:部分用户反馈NSA终端频繁掉4G,主要因终端主动发起SCGfail导致。分析显示,在信号较好的环境下,终端可能因节能、过热保护等原因主动释放连接。解决方案建议终端侧进行分析处理,尝试关闭节电开关等。 RSSI算法识别天馈遮挡:通过计算RSSI平均值及差值识别天馈遮挡,差值大于3dB则认定有遮挡。不同设备分组规则不同,如64T和32T。此方法可有效帮助现场人员识别因环境变化引起的网络问题。 5G 160M组网小区CA不生效:某5G站点开启100M+60M CA功能后,测试发现UE无法正常使用CA功能。问题原因在于CA频点集标识配置错误,修正后测试正常。 5G网络优化与策略: CCE映射方式优化:针对诺基亚站点覆盖农村区域,通过优化CCE资源映射方式(交织、非交织),提升RRC连接建立成功率和无线接通率。非交织方式相比交织方式有显著提升。 5G AAU两扇区组网:与三扇区组网相比,AAU两扇区组网在RSRP、SINR、下载速率和上传速率上表现不同,需根据具体场景选择适合的组网方式。 5G语音解决方案:包括沿用4G语音解决方案、EPS Fallback方案和VoNR方案。不同方案适用于不同的5G组网策略,如NSA和SA,并影响语音连续性和网络覆盖。 4G网络优化与资源利用: 4G室分设备利旧:面对4G网络投资压减与资源需求矛盾,提出利旧多维度调优策略,包括资源整合、统筹调配既有资源,以满足新增需求和提质增效。 宏站RRU设备1托N射灯:针对5G深度覆盖需求,研究使用宏站AAU结合1托N射灯方案,快速便捷地开通5G站点,提升深度覆盖能力。 基站与流程管理: 爱立信LTE基站邻区添加流程:未提供具体内容,但通常涉及邻区规划、参数配置、测试验证等步骤,以确保基站间顺畅切换和覆盖连续性。 网络规划与策略: 新高铁跨海大桥覆盖方案试点:虽未提供详细内容,但可推测涉及高铁跨海大桥区域的4G/5G网络覆盖规划,需考虑信号穿透、移动性管理、网络容量等因素。 总结: 提供的参考资料涵盖了4G/5G无线网络优化、网规案例分析、网络优化策略、资源利用、基站管理等多个方面。 通过具体案例分析,展示了无线网络优化中的常见问题及解决方案,如NSA终端掉4G、RSSI识别天馈遮挡、CA不生效等。 强调了5G网络优化与策略的重要性,包括CCE映射方式优化、5G语音解决方案、AAU扇区组网选择等。 提出了4G网络优化与资源利用的策略,如室分设备利旧、宏站RRU设备1托N射灯等。 基站与流程管理方面,提到了爱立信LTE基站邻区添加流程,但未给出具体细节。 新高铁跨海大桥覆盖方案试点展示了特殊场景下的网络规划需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值