使用 Find Duplicates 插件清理 Calibre 书库

two women facing security camera above mounted on structure

我在导入 Kindle 的图书时,错误的导入了两遍,导致我的 Calibre 仓库快速膨胀,因此,我希望清理掉其中重复的书籍,减少二次存储。

清理使用的是 Find Duplicates 这个插件

安装

在 Calibre 的「首选项」-「插件安装」页面,搜索 Find Duplicates,就可以找到这个插件,双击安装,并重新启动,即可使用该插件。

205m0u

如果你默认选择的是在主菜单展示工具,则会像我一样,在页面顶部有一个新的入口

lb787o

使用

使用非常简单,点击按钮,进入搜索页面,可以配置对比的元素,可以是二进制对比(更精准)或者是 基于某个特定的标签对比(比如 ISBN),也可以使用默认的标题作者对比。根据你的喜好,你可以选择合适的方式进行对比。

在下方的结果输出中,可以选择“Show All Groups at once with highlighting”,这样可以在一个列表中快速看到所有需要清理的图书,快速删除,达成目标。

点击确定,执行后的结果就是这样子的了,你只需要在重复的两本书中,选择你要删除的那一本即可。

如何解决 Kindle 在 M1 系列设备上无法访问的问题

flat screen monitor

问题

在使用 M1 的时候,我遇到一个很麻烦的问题是 M1 无法识别出我的 Kindle系统无法自动加载 M1 设备,这导致习惯于导入标注并使用 Klib 管理的我来说,等于用 Kindle 的功能不齐全了。

使用 macOS 自带的系统工具,也可以看到系统 Kindle 的磁盘,但无法加载。

d2b5ca33bd970f64a6301fa75ae2eb22 29
磁盘工具的展示

如果使用磁盘工具尝试加载,也会报错 com.apple.DiskManagement.disenter错误-119930872

d2b5ca33bd970f64a6301fa75ae2eb22 30
报错的提示

无法使用系统工具加载。

解决方案

在参考了 jakevin 的分享后,我使用如下方式来解决我的 Kindle 挂载问题。

查询外置设备

执行如下命令,可以使用系统自带的 diskutil 查看目前有哪些磁盘。我在这里补充了 grep,来筛选出只有外置磁盘的设备。

diskutil list | grep external -A2
Code language: PHP (php)
d2b5ca33bd970f64a6301fa75ae2eb22 31

手动挂载设备

执行如下命令,来手动挂载 Kindle。

sudo mkdir /Volumes/Kindle # 创建一个新的挂载点,挂载 Kindle
sudo mount -t msdos /dev/disk4 /Volumes/Kindle/ # 使用 mount 命令,挂载 /dev/disk4(你根据需要换成你自己的设备。)
Code language: PHP (php)

一般来说, Kindle 的默认格式化是 fat32 格式,所以用上面的命令就行,但如果你的 Kindle 是 ex-fat 格式,则可以使用如下命令挂载。

sudo /sbin/mount_exfat /dev/disk4 /Volumes/Kindle/ #这里使用的是 mount_exfat。
Code language: PHP (php)

如此操作,便可以让 M1 识别 Kindle 了。

d2b5ca33bd970f64a6301fa75ae2eb22 32

如何将 Zed 编辑器设置为你的命令行默认编辑器

linux terminal

我最近在使用 Zed 作为我的主要编辑器,在编辑一些命令行文件时,也会使用 Zed 来编辑。但有些时候,一些应用程序的命令会自动调用默认的编辑器,这个时候会默认使用 nano 或者 vim ,而不是 Zed,体验略差。所以我希望将命令行默认的编辑器修改为 Zed 编辑器。

如果需要将 Zed 作为自己的命令行编辑器,首先需要确认 Zed 是否支持等待模式(wait model),在命令行中执行 zed --help,可以看到 Zed 是支持等待模式的。接下来就可以进行后续的步骤来进行测试了。

d2b5ca33bd970f64a6301fa75ae2eb22 3

这里为是在写 Rails 时用到的,因此,我继续使用 rails credentials 来测试。执行如下命令来确认该命令是否可用。

EDITOR="zed --wait" rails credentials:edit
Code language: JavaScript (javascript)

执行后,可以正常唤起,则说明整个链路已经通畅,接下来只需要将其配置在系统的默认环境变量里即可,将如下代码放在 .zshrc 中即可。

export EDITOR="zed --wait"
Code language: JavaScript (javascript)

其他编辑器的命令参考

# Sublime Text
export EDITOR="subl --wait"
# VSCode
export EDITOR="code --wait"
Code language: PHP (php)

截图、修图、管理图片 – Capto 与图片管理工作流

453a454bb03ba4e4f74b2034b7327759

TL;DR

Capto 牛逼,买它!购买地址直达链接

除了直接购买 Capto,你还可以以更低的费用购买 Setapp 会员,享用更多软件

正文

如果你日常会有编写操作教程,或有大量编写图文混合文章、PowerPoint的时候,你一定会有以下几个困扰:

  1. 如何截图:虽然 Windows 和 macOS 都自带了截图的功能,但因为基本是系统自带的功能,所以大部分只有「全屏幕截图」这一个功能,或者需要按下十分复杂的组合键来完成图片的截取。
  2. 如何添加标注:为了确保图片的读者能够找到正确的位置,我们往往会在图片中加入一些标注,帮助读者能够在第一时间找到重点,或帮助用户涂抹掉不需要关注的部分,仅保留核心区域的内容。
  3. 如何管理截图:图片被截取完成后,我们应该如何管理这些图片?我们应该如何管理已经标注好的图片?我们如何阻止这些截图?这些都是在管理截图的时候遇见的问题。

而如果你也遇见了这样的问题,这篇文章就是为你准备的,接下来,且听我为你介绍我的截图管理历史。

截图工具演变史

刀耕火种:系统自带截图工具时期

第一个时期,我采用的是最为笨拙的截图方式方法,在 Windows 和 macOS 系统都提供了默认的截图工具。

在 Windows 当中,只需要按下 Win + Printscreen 键,就可以将你当前的屏幕截取,并保存在系统的「图片\屏幕截图」目录中。

知乎《Windows10 自带截屏快捷键》

在 macOS 当中,只需要同时按住以下三个按键:Shift、Command 和3,就会拍摄截图。

Apple《在 Mac 上拍摄截屏》

无论是 Windows 还是 macOS ,都提供了基本的截图工具,但在实际使用的时候,你会发现,你产出的图片(如图1)大多数的时候是这样的:图片中元素极多无关主题的元素无法被隐藏、桌面背景是你自己自定义的背景等一系列小瑕疵。

fe939468620860309f23e5d6ef07ef93
图1: macOS 自带的截图产出的截图

此外,不同设备上的不同按键让我们在切换设备的时候产生迷惑(特别是你从 Windows 切换到 macOS 或反过来切换时),此外,图片的批注也十分的麻烦,必须借助一些第三方的图片编辑软件(比如画图、Adobe Photoshop)来进行图片的编辑和标注。

有没有一个工具,可以帮助我用非常简单的方式完成截图,最好能在截图的时候可以完成图片的批注?

短兵相接:聊天工具内置截图软件 / 第三方截图工具时期

随着时代的发展,截图的功能开始被更多的软件关注到,我们开始可以在聊天工具当中截图。

常见的比如使用 QQ 进行截图、使用微信进行截图、使用飞书进行截图(如图2)等。这些聊天工具所提供的更加易用但又更加强大的截图功能逐渐替代了系统自带的截图功能,此外,其提供的诸如批注、圈选、提示等功能,也让截图的批注变得更加简单。

d2b5ca33bd970f64a6301fa75ae2eb22 2
图2:飞书提供的截图功能

此外,因为这些功能是集成在聊天软件当中,所以往往会在截图完成后,自动将图片放置在你的剪贴板中,你可以直接在聊天软件当中粘贴图片,并发送给其他的人,完成协作和信息的传递。

甚至,因为这些工具做得足够好用,腾讯甚至还将截图这个功能独立出来,开发出了一个单独的截图软件 —— 截图(Jietu)

d2b5ca33bd970f64a6301fa75ae2eb22 3
图3: 截图(Jietu) 的 App Store 页面

不过,因为这个场景过于小众,商业化的空间也比较小,最终,截图还是停止了维护,如今我们在 App Store 虽然还能够下载到本地,但在实际的使用过程中,会发现相应的功能已经失效无法再使用了(测试系统为 macOS Big Sur)。

此外,在这个时代当中,也涌现出了不少非常有特色的截图 & 批注软件,比如支持截图、长截图、滚动截图、贴图、取色功能的 iShot (图4);

d2b5ca33bd970f64a6301fa75ae2eb22 4
图4: iShot 的 App Store 宣传图

比如提供了非常有优雅的分步骤说明功能和图片云托管功能的 Teampaper Snap(图5) ,也是一个不错的选择。

d2b5ca33bd970f64a6301fa75ae2eb22 6
图5: Teampaper Snap 的分步骤解说图

得益于基础设施的进步,这些专门做工具软件的开发者们也能够依赖自己开发的工具收获相应的价值回报(Teampaper Snap 年付 30 元人民币,支持从截图中使用 OCR 提取文字;),也使得开发者们有动力不断的去迭代自己的工具,让我们获得越发好用的截图和批注工具。

自然,腾讯公司推出的截图(Jietu)因为 ROI 计算起来并不划算而被暂停。同一时期还有一些其他截图软件值得大家尝试,诸如 Xnip,如果你感兴趣,也可以自己下载下来尝试一下。

这些截图和批注工具完美的解决了我们想要截图和对图片进行修改的诉求,我们可以借助他们快速的完成图片的截图和基础的修改问题。

但随着工作的复杂度提升,需要处理的图片量变大以后,一定会遇到另外一个问题:图片管理问题。你在截图对这些图片做的修改被直接写死在图片当中,导出的时候直接导出无法撤回修改的 JPG、PNG 图片,一旦使用图片的人发现图片中有一些错误,就不得不重新进行完整的截图,重新批注,时间成本极高。

这个时候,你或许会思考,有没有一款软件,既可以满足我图片截取和批注的诉求,同时,还能解决我图片管理的诉求,让我小微改动不要重头再来,节省时间?

数字化赋能:截图管理工具时期

当你有大量的截图要管理以后,你就会发现之前的截图工具还是不够用。这些工具往往集中在「工具」的视野中, 将工具这一属性做到了极致,你可以在这个工具当中完成任何你需要的截图和批注的能力,但一旦你完成了当前的工作流,你就不得不为你的所有工作打上了一个句号,后续倘若你要反悔,是断然没有可能的。

而在当下我看来,最为推荐的便是 Capto 这款软件。

和其他的截图工具相比,Capto 是一个更加具备工程化的截图和截图管理工具

首先,在概念层面,Capto 当中,图片可以分为「资源库」 — 「文件夹」 — 「图片」三个层级。每一张图片都归属于某一个资源库(图6),在资源库内你可以将图片分配在不同的文件夹中。

d2b5ca33bd970f64a6301fa75ae2eb22 11
图6:Capto的资源库文件

其次,在具体的使用层面,Capto 也提供了丰富的功能,以满足你的需求。

针对截图,Capto 提供了基本的屏幕截图、窗口截图、区域截图功能,还在截图的基础之上提供了动态的录屏功能,帮助你在 Capto 内完成你几乎所有涉及到录屏的需求,你可以直接用 Capto 完成你的截图工作,并在完成截图后,使用 Capto 提供的图片批注功能,进行图片的编辑和处理。

在 Capto 的图片批注界面(图7),你可以清晰的将界面分为截图录屏区、图片批注区、图片预览区、图片信息区和图片管理区。

d2b5ca33bd970f64a6301fa75ae2eb22 7
图7: Capto 的图片编辑界面

得益于独立资源库的设计,Capto 的图片批注功能实现了类似 Photoshop 的图层能力,你的每一个批注都是独立的一个个体,你可以随时添加 & 移除它。也正是这样的能力,赋予了用户可以多次修改一个图片的可能,你可以放心大胆的批注图片,哪怕有些许错位,后续微调即可,再也不用重新截图了。

而在 Capto 的图片管理界面(图8),你可以更加深刻的感受到 Capto 的图片管理功能,左侧提供的筛选功能,则可以让你更加快速的完成大量的图片管理功能,你可以在左侧的库快速的筛选出你需要的图片

d2b5ca33bd970f64a6301fa75ae2eb22 8
图8: Capto 的图片管理界面

也可以根据某些特定的筛选规则(图9),筛选出某些特定属性的图片,方便你在后续使用的时候快速筛选。

d2b5ca33bd970f64a6301fa75ae2eb22 9
图9:智能收藏集的筛选功能

此外, 对于不同的项目你甚至可以采用不同的资源库的方式,来切换不同的上下文,从而实现不同项目之间的隔离,更好地管理你的所有图片。

d2b5ca33bd970f64a6301fa75ae2eb22 10
图9:Capto 的库设置页面

借助于 Capto ,你可以使用其自带的截图工具,先根据需求截取出合适的图片,并在 Capto 中进行图片的批注和处理;在完成批注和处理后,你可以根据需求,将图片导出为合适的格式(图10),即可完成图片的整个处理过程。

d2b5ca33bd970f64a6301fa75ae2eb22 12
图10:Capto 的图片保存选项

基于 Capto 的截图管理工作流

当你看完了上述的内容,对于 Capto 有了基础的了解后,接下来我为你介绍我自己的截图管理工作流:

  1. 打开 Capto ,创建一个资源库:因为我只需要为自己截图,因此,无需创建不同的资源库。这里有一个注意的点:你可以将你的资源库创建在同步盘上,这样就可以在不同设备之间同步你的资源库,从而实现在不同的设备上编辑同一套资源库。比如我自己用的就是 iCloud 来同步资源库。
  2. 根据需求,创建不同的收藏集:根据实际的需求,创建不同的收藏集,用于后续的图片分类,如果你有多个项目同时进行,也可以一次性创建多个目录。这样后续就可以批量选中图片进行分类了。
  3. 创建智能筛选集:我在实际工作过程中,也不会一次性创建多个目录,因为我可能并不能很好的分类,所以早期我更多是先大量把要截取的图片进行截取,然后创建一个智能筛选集(规则见图11),将所有未分类的图片筛选出来,并进行筛选和处理。
  4. 编辑图片,并导出:完成了所有的图片的截取后,将所有的图片进行逐个地分类和修改,并导出,用在对应的文档当中。
d2b5ca33bd970f64a6301fa75ae2eb22 13
图11:智能筛选集的规则

总结

Capto 作为一个专注做截图的功能,相比于现有市场上的其他工具,提供了截图之上的管理功能,让截图这件事从一个更高的层面重新思考,让我们重新思考图片的管理能力,并用其提供的能力,简化了我们管理图片的难度释放了我们的生产力,让我们可以把更少的精力放在截图、做图上,让我们有更多的时间和精力,去关注内容本身。

除了直接购买 Capto,你还可以以更低的费用购买 Setapp 会员,享用更多软件

在 macOS 下创建启动 U 盘

black and silver laptop computer

因为要重装 Mac mini ,所以研究了一下怎么配置启动 U 盘。

依赖

想要给 U 盘制作一个 macOS 的启动盘,首先,你需要有一个 macOS 的系统,并且有相应的安装软件(Install macOS Catalina 之类的)。此外,还需要有相应的容量 U 盘。

根据 macOS 的系统大小,我比较建议你使用 8G 或 16G 以上的 U 盘。

获取安装软件

由于安装软件比较大,所以一般情况下我们也不会保留这个软件,但当我们需要的时候,就要去安装对应的软件了。

你可以访问 Apple 的官网,找到相应的软件下载地址

系统下载地址:https://support.apple.com/zh-cn/HT211683

如果你已经升级了 Big Sur ,却希望制作 Catalina 的启动盘,那么你需要看看 这篇文章

选择你需要使用的系统

image

会自动打开下载界面

g645c

你只需要点击其中的获取,就可以下载相应的系统镜像。等软件自动下载并安装完成后,就可以进行安装操作了。

查看 U 盘挂载路径

想要制作启动 U 盘,自然要说明对应的路径,这个时候你需要先找到你自己的 U 盘。

你可以在终端中执行 df -h ,在其中找到你自己的 U 盘,比如我这里的是 /Volumes/install

制作启动盘

准备好软件和U盘后,剩下的比较简单,直接执行命令即可。

以 Catalina 为例,只需要执行如下命令

sudo /Applications/Install\ macOS\ Catalina.app/Contents/Resources/createinstallmedia --volume /Volumes/MyVolume

其他版本的系统可以参考 https://support.apple.com/zh-cn/HT201372

如何从 macOS 系统中启动到恢复模式

black and silver laptop computer

macOS 可以在开机的情况下通过按 Control + R 启动到 恢复模式,那是否有不按 Control + R 就能进入到 Recovery 的方式呢?

答案是,有的

你在 macOS 的 Terminal 中输入如下命令,即可进入到恢复模式中。

sudo nvram "recovery-boot-mode=unused"
sudo reboot
Code language: JavaScript (javascript)

在操作完成后,你可以执行如下命令来移除添加的 Flag,重新进入到正常操作的系统中。

nvram -d recovery-boot-mode

来源:https://apple.stackexchange.com/questions/367336/can-i-initiate-a-macos-restart-to-recovery-mode-solely-from-the-command-line

如何隐藏 oh-my-zsh 的 Last Login?

green and black digital device

oh-my-zsh 是我目前配置新的 Mac 必然会装的。不过,oh-my-zsh 一直有一个我不喜欢的就是它会自动一个 Last Login 的 Hello Message。

jb2ia

这个 Hello Message 倒是不占位置,但是我觉得它让我的命令行不那么极简

因此,我希望将这个提醒删除掉。

删除的方法不复杂,只需要在用户的根目录创建一个空白的~/.hushlogin 文件即可

touch ~/.hushlogin

制作一个 macOS 启动盘

black and silver laptop computer

我一直以来都是网络安装的 macOS ,但这次我的网络死活没有加载到恢复服务器,我就从相机中拔了一张空白的 SD 卡,来做一个启动盘。

1. 安装 macOS 镜像

安装制作 macOS 启动盘的时候,你需要这样一个 安装 macOS Catalina 的磁盘镜像。

osev1

但正常情况下,我们会把安装 OS 的软件删除掉(毕竟占地 8G),所以,如果你需要制作启动磁盘,第一步就需要安装 macOS 镜像。

你可以访问 App Store 下载:https://itunes.apple.com/cn/app/macos-catalina/id1466841314?ls=1&mt=12

2.制作启动盘

制作启动盘对于磁盘的大小和文件格式有要求,需要你的磁盘

  • 大于 12 GB
  • 磁盘格式为 macOS 拓展文件格式

安装完成 Catalina 后,就可以制作启动盘了,具体的命令如下

sudo /Applications/Install\ macOS\ Catalina.app/Contents/Resources/createinstallmedia --volume /Volumes/install

这里我的磁盘的名称是  install ,如果你的不是,则需要修改为对应的名字。

m8nv3

3. 使用启动盘重启

制作好启动磁盘,就可以试着使用你刚刚制作的启动磁盘重启,并使用其恢复。