从 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 变量进行字符串拼接,你就可以按照自己设定的模板保存内容了。

结语

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

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

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

  1. 高通驱动一键安装_一键重装神器,装系统简单的超乎想象!

    嗨喽,大家好呀,今天给大家讲讲重装系统. 大家都知道,导致电脑出现问题不仅仅有驱动,往往还有 Windows 系统. 虽然驱动问题上我们驱动人生是专业的, 但是在系统问题上因为专业方向不同,我们只能建 ...

  2. 5e怎么绑定一键跳投_一键开启100台主机?我不是开玩笑,你真该了解一下这根小棒子...

    原标题:一键开启100台主机?我不是开玩笑,你真该了解一下这根小棒子 微博这两天都在说疫情即将拉开第二阶段的帷幕,走在大街上也能感觉戴口罩的人一天天地又多了起来,有些公司甚至已经重新将远程办公提上了日 ...

  3. mysql一键部署_一键部署----mysql5.6--jue

    一键部署----mysql5.6--jue #!/bin/bash cd /var/run rm -rf yum.pid read -p "请输入mysql源码包的绝对路径" c ...

  4. 联想电脑linux系统还原,联想怎么一键还原_一键还原电脑系统的通用方法 - 驱动管家...

    电脑用久了总是会出现很多问题,这些问题有些是可以解决的,但是有一些不好解决,因此就得一键还原系统,但是很多用户不知道怎么一键还原系统,其实这个问题很简单,如果你不知道的话,那就赶紧看看小编整理的怎么一 ...

  5. iphone快捷指令一键重启_一键重启捷径怎么设置 一键重启捷径设置教程

    一键重启捷径怎么设置?相信很多小伙伴都还不是很清楚吧,下面小编就为大家带来一键重启捷径设置教程.感兴趣的小伙伴们随小编一起来看看吧,希望对大家能有所帮助. 那么一键重启捷径怎么制作呢?接下来看看IT数 ...

  6. python 是否可以一键修图_一键修图功能强大吗?想知道哪个软件比较好用?

    展开全部 修图软件有很多种,2113他没各有各的5261功能和优缺点.主要分两大类4102,下边推1653荐几个给你: 一类是娱乐性质的,加点涂鸦效果,或者生成点艺术效果以及美颜等等. 这类软件首推美 ...

  7. 前端知识学习案例-Clipboard API一键复制和一键粘贴功能

  8. layui教程,非常全,常用代码一键复制粘贴

    layui的常用代码可以一键复制粘贴 一键复制layui代码的网址,点击此处调整 网址地址:http://www.shagua.wiki/project/3?p=84 点击按钮,直接复制按钮的代码

  9. html页面插件 复制,ReadabilityCopy - 一键复制网页内容插件

    ReadabilityCopy插件开发背景 当你在浏览网页时看到喜欢的文章想要保存或分享,想象一下从开头复制到结尾(你笑了吗?),ReadabilityCopy使用 mozilla 的开源项目 Rea ...

最新文章

  1. 造成ORA-12560: TNS: 协议适配器错误的问题的原因有三个:
  2. Facebook开源工具包LASER,支持93种语言
  3. MATLAB实战系列(二十二)-matlab三维图形绘制案例最全集锦(毕设和数学建模必看)
  4. 全能系统监控工具dstat
  5. 怎样为Linux内核打补丁
  6. CTR点击率预估干货分享
  7. VARIANT变体类型数据
  8. python卸载旧版本后依旧残余的问题
  9. Error:Unable to make the module: core, related gradle configuration was not found. Please, re-import
  10. u盘盘符不显示 win10_荣耀16.1锐龙版 linux装win10教程
  11. java数据结构编写二叉树_java 数据结构与算法 BinaryTree二叉树编写
  12. Soul Api 网关发布 1.0.3-RELEASE 版本
  13. 安装程序无法创建新的系统分区也无法定位现有系统分区_不要再给硬盘胡乱分区了,这里有最方便安全的分区方法。...
  14. journalctl基本介绍
  15. 迈普光彩分享 几个细节教你搭建好LED显示屏舞台
  16. c/c++游戏编程之用Easyx绘制图片
  17. 程序员的精确思维,左手数学右手编程
  18. [转载]AlphaGo 的棋局,与人工智能有关,与人生无关
  19. 航顺HK32F030MF4P6开发脱坑小记
  20. python红楼梦人物统计_Python分析红楼梦,宝玉和十二钗的人物关系

热门文章

  1. Python蟒蛇绘制:turtle图常用指令
  2. Minecraft 1.18.1、1.18.2模组开发 13.buff效果
  3. AWS实验|构建 VPC 并启动 Web 服务器
  4. 据说Pi4来了(RaspberryPi)
  5. 【望周知,求扩散】淘宝 NPM 镜像站更换换新域名啦
  6. 做外贸的常见问题解答
  7. 上传文件报错——Required request part ‘*****‘ is not present“
  8. matlab布林线代码,[转载]布林指标的计算(附源码)
  9. python cut函数_基于python cut和qcut的用法及区别详解
  10. 同步整流与异步整流(转)