Normal view
不仅仅是编程,使用 Gemini CLI 日常指南!
前几天最近随着 Claude Code 这个命令行 AI 代码工具的火爆,谷歌也耐不住寂寞推出了自己的同类产品 Gemini CLI,而且完全免费,非常顶。
下面会教你用 Gemini CLI 实现哪些能力:
首先他们是没有界面的,所有的操作都是在终端以命令行的方式展示。
然后就是也是 Agents 可以自动执行任务处理本地文件,同时内置了非常多的工具,比如谷歌搜索、阅读文件、查找文件、搜索文字、写入文件、保存记忆等,你输入 /tools 然后回车就可以让他列出目前支持的工具。
另外 Gemini CLI 也是支持 MCP 的,你可以安装其他的 MCP 工具帮助模型扩充上下文。
很多朋友说命令行是不是很复杂啊,我不会编程是不是会很难用。
其实并没有,如果你的网络环境正常,能够正常登录 Gemini CLI 的话,跟使用 Cursor 没有本质区别。
因为核心交互的时候还是主要为提示词输入框,命令行又不用你写,Gemini 写就行。
从这里开始我所有的演示都基于 Mac OS 的自带终端进行,Windows 大部分操作都是通用的,但是可能出问题概率比 Mac 复杂。
首先要做的第一步就是进入到我们的启动台,搜索终端两个字,搜到之后打开。
这时候你就看到一个空白界面里面写了些你看不懂的字,不要担心。
这里我建议我们想好要进行的任务之后,新建一个文件夹把需要的任务素材扔进去,然后按住 option 按键鼠标右键选择“将 XXXX 文件夹拷贝为路径名称”,这时候你就快速获得了这个文件夹的路径。
然后我们回到我们的终端窗口,输入 cd + 空格 + 你刚才复制的路径,接下来你终端的所有操作都只会影响这个文件夹的内容,不用担心把电脑搞坏。
到这一步我们终于开始安装 Gemini CLI 了,非常简单,你只需要输入下面的内容然后回车就行。
安装成功你就会看到这个界面,应该会先让你选择命令行的颜色主题,然后让你选择登录方式。
这里需要注意:终端的操作大部分时间需要用上下左右方向键来操作选项,选中之后按回车确认。
你只需要选择一个自己喜欢的主题之后,选择正常的谷歌账号登录,在拉起网页登录后关掉就行。
我这个这里已经登录了,所以没有这些选项,然后你就能看到提示词输入框了。
恭喜你到这里,你已经完成了 Gemini 的安装。
由于用的 NPX 的安装方式,所以你以后每次关掉终端重新使用 Gemini CLI 的时候都需要输入开始的那个命令,不过不用登录了,直接就能用。
另一种方法是输入下面这个命令,但是对于不会编程的人来说很麻烦,启动就是少输入点东西,输入 Gemini 就能启动。
最后由于命令行本身都是英文的,可能很多人会望而却步,这个时候你可以装个 Bob 这个翻译软件,支持划词翻译,看不懂的选项直接选中划词翻译就行。
装好之后我们可以来点基础用法了。
由于 Gemini 可以看到你的文件并且操作,而且它还有生成能力,本身模型还是多模态的,所以即使只用本身的工具也可以有很多用法。
首先是 Gemini CLI 本身支持谷歌搜索,你可以让他搜索指定内容给你写成文档,也可以对你本身的文档进行编辑。
当然搜索工具经常会限额,这个有点恶心,比如让他搜索歸藏的信息并且整理一个介绍文档。
你也可以让他分析你保存在本地的文章之后进行改写,生成新的文章。
比如我这里就让他把 Karpathy 的软件 3.0 文章改写成适合发布的博客文章,同时生成对应的推特发布版本,也可以对于会议总结之类的文档进行分析和处理。
记得我之前写的用 Curosr 这种 IDE 帮助分析 Obsidian ,把 Obsidian 当做本地知识库的方法吗,Gemini CLI 也可以,甚至更加强大。
你可以找到你的 Obsidian 文件夹打开之后启动 Gemini CLI,然后让 Gemini CLI 查找相关的内容。
比如我这里就让他检索我所有的剪藏文件,找到 MCP 相关的文章,然后给我生成一个带反向链接的《MCP 剪藏内容索引》文档,可以看到他完成的很好。
每个无序列表都有文件标题以及文章的总结,最后还有链接可以直达那个文章。
提到反向链接了,就不得不提 Obsidian 的一个知识图谱的功能,它可以把所有有反向链接的相关文档都链接起来,形成你自己的网状笔记网络,方便你学习和回顾。
但是反向链接需要你自己手动加,大部分人都没这个毅力,现在有了 Gemini CLI 问题解决了,可以让他帮你给你文件夹中的相关文档加反向链接。
不过这个需要的时间比较长,如果内容多的话可能得等一段时间。
由于本身 Gemini CLI 是多模态的的,所以你的图片也可以让他帮忙处理。
比如我打开了一个全是图片的文件夹,里面的图片名字乱七八糟的,这时候就可以让他分析图片内容之后根据图片内容给图片重新命名。
再重新命名之后我们也不能浪费他分析的图片内容。
我们都知道在训练图像模型或者 Lora 的时候需要对图像进行标注,大部分训练工具都是把标注放在一个跟图片命名一样的文本文件里,现在我们就可以让 Gemini CLI 来做这件事了。
可以看到他执行的非常完美,以往这些你还得找对应的工具,而且不好自定义要求,现在提示词就行。
Gemini CLI 除了可以读取文件和修改文件外也是可以控制系统设置的。
比如我们就可以写好自己日常对于软件和系统设置在不同工作时间的喜好,需要的时候一键完成所有操作的更改。
这里我就让他给我关掉浏览器,然后打开 Obsidian,降低系统音量,直接进入工作模式。
更进一步让他把操作写成脚本,之后你就可以直接双击脚本完成系统设置了。
我们肯定也有很多时候桌面或者文件没有整理乱七八糟。
这个时候就可以让 Gemini CLI 新建文件夹进行分类和整理。
但是这里得注意,不要让他整理过大的过于重要的文件夹,不然误删了就痛苦了。
这里我就让他把刚才的图像和标注文件新建了两个文件夹分别整理了。
上面都是些基本用法,你最近可能也看到了一些。
但是我发现结合一些本地软件,Gemini CLI 能实现对各种文件更加高级的处理,比如视频转 gif、youtube 视频下载、加水印、文档格式转换等。
这些就非常牛皮了,而且我们日常内容创作大部分都非常需要。
前面我们有了文档了,但是很多时候演示的时候总不能真给人看 Markdown 文档吧,能不能生成 PPT 呢?
可以的,朋友,必须可以,比如我这里就把前面我那个 MCP 索引文档的内容直接转换为 PPT 了。
这个依赖一个叫 Slidev 的项目,它可以用类似 Markdown 文档的格式将内容变成带有丰富样式的 PPT。
你不需要知道这个项目的细节,直接用我下面的提示词生成文件之后,复制文件到这个页面(https://stackblitz.com/github/slidevjs/new?file=slides.md)预览就行。
上面的 Slidev 不需要本地安装直接预览就行,接下来我们介绍一些需要本地安装的项目,这些本地的软件,非常强大,但是由于本身他们是没有界面的,阻碍的很多用户使用。
但是有了 Gemini 之后一切都解决了,提示词可以直接转换为驱动他们的命令行,也可以用提示词直接安装他们,你直接用就行。
首先先介绍一下 ffmpeg 这个项目,给予他你可以实现非常强的视频编辑能力,理论上剪映之类的视频编辑软件都是基于这个完成的。
你可以对本地的视频进行拼接、剪辑、增加文字、转换格式、转换分辨率、增加音乐,基本上你能想到的视频编辑能力他都能做到。
首先我们需要大概你需要处理视频的的文件夹,然后启动 Gemini CLI 第一个命令是让他安装 Homebrew。
然后安装完成后,让他用 Homebrew 帮你安装 ffmpeg。
看到没,跟网页哪些乱七八糟的要求都没关系,你只需要说两句话,就全部安装了。
然后我们就可以爽用了,先给我们指定的视频加个水印试试。
可以看到新的视频右上角果然有了一个水印,这种言出法随的感觉谁不喜欢,你不需要了解原理,你就只需要知道所有的视频编辑他都能帮你搞定。
然后我想要给视频配乐也可以,你只需要告诉他视频文件和音乐文件的名字就行,我甚至让他给音乐加上了淡入和淡出。
他先是获取了一下视频的时长,然后就开始操作了,然后搞定了,非常完美,严丝合缝,淡入淡出也加上了,可以看剪映界面预览的频谱。
我们很多时候需要把视频转换为序列帧,然后拿其中一帧进行处理,或者处理所有的帧,以前你是不是还得到处找这种工具,而且转换效果不一定好。
Gemini CLI 一句话就能搞定,处理的又快又好,而且节省了用网页工具上传下载的时间。
另一个常见的任务就是视频转 gif,尤其公众号有 10 个视频的限制,很多时候迫不得已得转成 gif 发布。
Gemini 捕捉到了高品质这个关键词还制作了调色板保证颜色还原度,最后处理的非常完美。
像 ffmpeg 这种宝藏项目还有很多,比如 yt-dlp 这个项目跟 ffmpeg 配合几乎可以下载你能想到的所有视频平台的视频。
我们还是可以让 Gemini CLI 帮我们安装 yt-dlp 这个项目就行。
然后直接提供视频链接他就会帮你下载,甚至可以批量下载多个视频或者一起连封面和视频一起下载,再也不需要忍受那些工具的垃圾网速了。
处理视频我们有 ffmpeg 这种项目,当然图片也有。
ImageMagick 是一个极其强大的工具集,你可以用它来转换格式、缩放、裁剪、旋转、添加滤镜、组合图片等等。
依然是老一套,先让 Gemini 帮我们安装
先来一个常见任务,我们设计师做外包经常用,在没结款之前给甲方低分辨率和带水印的图片,现在就可以直接批量完成。
这里我让他把所有图片宽边调整为 800 PX,然后统一加上带“内部资料”文字的水印。
中文的水印有些问题,后来改成英文就 OK 了,而且出错之后他自己开始用多模态能力检查修改后的图像了,发现 10% 不透明度的文字不明显,又自己重新改了一下,太聪明了。
然后再来一个常见的图像拼接需求,这种在媒体上发消息的时候经常需要,尤其是推特。
搞得不错,这几张图比例不同,所以没有对齐,可以在命令上加上统一比例这种要求就行。
文档格式转换也是常见的需求,相当多的公司工作文档还是 word,很多时候我发过去 .md 文件那边都不知道怎么办。
首先还是让 Gemini CLI 帮我们安装。
这个时候我们就可以利用 Pandoc 这个项目进行各种文档格式之间的互相转换,当然批量转换也是可以的。
可以看到转的很好,Markdown 的一些基本格式也都迁移了,不管是加粗还是无序列表有序列表。
好了教程到这里就结束了。
你可以用 Gemini CLI 控制这些已经非常成熟的命令行项目,基本上你所有的需求都能找到对应的项目。
不是只有 MCP 才能做 Agent,这些传统工具在有了 LLM 加持之后会更加强大。
看到这里,你可能会突然意识到:原来那些让我们望而却步的专业工具,其实一直都在那里等着我们。
史蒂夫·乔布斯说过的一句话:”技术应该是隐形的。” 今天的 Gemini CLI,正是让那些强大的命令行工具变得”隐形”——你不需要理解它们的工作原理,只需要说出你的需求。
更重要的是,这种改变不仅仅是效率的提升,而是创作门槛的彻底消失。
所以,如果你还在犹豫要不要试试 Gemini CLI,我想说:别让”我不会编程”成为你探索新世界的借口。 因为在这个新世界里,你需要的不是编程能力,而是想象力。
那些曾经高高在上的专业工具,现在都在静静等待着你的一句话。而你要做的,就是勇敢地说出你的需求。
因为最好的工具,是让你忘记它是工具的工具。
40 岁的 Windows 蓝屏要完蛋了,我第一个拍手鼓掌
如果你是一名 Windows 电脑用户,你肯定见识过「蓝屏死机」(Blue Screen of Death,BSOD):
你的电脑遇到了问题,我们需要在收集完一些错误信息后立即重启。
▲ 经典的 Windows 蓝屏界面. 图片来自:Windows
面对蓝屏,除了坐和放宽之外,想必大部分人只剩一个选择:重启电脑。
过去几十年里,Windows 电脑的「蓝屏」界面臭名昭著——蓝屏根本没法指导修复工作,只会浪费宝贵的时间——没有正常人会扫那个码或者访问 Windows 的错误代码平台;考虑到电诈套路深,更没有人会愿意跟微软客服通话。
现在,微软总算想通了。在下半年即将发布的 Windows 11 24H2 更新中, 「蓝屏」终于不复存在!取而代之的是一个大道至简的「黑屏」界面:
Your device ran into a problem and needs to restart.
你的设备出问题了,即将重启。
▲ 全新设计的 Windows「黑屏死机」界面. 图片来自:Windows
啊,感觉好多了!
为什么「蓝屏死机」罪大恶极?
在官方博客中,微软详细解释了为什么「蓝屏必须死」:
一个有韧性的组织,其关键特征是保持生产力,并且尽量减少中断。
当意外重启发生时,它们可能导致延迟并影响业务的连续性。这就是为什么我们在简化意外重启体验。
我们还添加了快速机器恢复功能,这是一种用于无法成功重启的 PC 的恢复机制。这项更新是我们努力的一部分,旨在减少意外重启时的中断。
不愧是华盛顿州雷德蒙德大企业,死机界面改个设计,都能解释出这么多条条道道。
相信很多人的第一反应:你不如把系统做稳定些,别老死机行不!
太多企业和组织运行在 Windows 操作系统之上,而稳定对于企业往往意味着一切。如果 Windows 不能在运行过程中保持稳定,或者在遇到问题时不能快速恢复,那么每一秒的流逝,对企业都是巨大的损失。
你可能记得去年席卷全球的 CrowdStrike 蓝屏事件——安全公司 CrowdStrike 因推送了错误的驱动,引发全球超过 850 万台 Windows 设备重复蓝屏,进而导致航司停飞,银行停摆,收银台断线等一系列事故,造成了超过 50 亿美元的损失。
▲ 公交站的蓝屏. 图片来自:Unsplash
▲CrowdStrike 事件中影响的场景 2. 图片来自:xxx
这也给微软敲响了警钟,当出现大型事故时,「蓝屏死机」的界面不但没有半点用处,反而会造成用户恐慌。
因此,除了蓝屏改黑屏的重新设计之外,其实微软也在死机处理流程中做了更多的改进,主要是:
首先, Win 11 24H2 引入了快速机器恢复技术(Quick Machine Recovery)具体来说,系统在每次成功启动后,自动写入状态快照,一旦检测到循环崩溃,设备便可自动回滚到上个可启动状态,无需用户手动选择安全模式。这能够极大减少系统崩溃后的停机时间和人工干预,保障设备快速恢复正常运行。
以及,将 Windows Update、安全中心与驱动状态整合到同一页在健康报告面板里,用颜色区分风险程度的同时,方便远程 IT 批量查看,让信息一目了然。
最后,迁出杀毒、EDR 等频繁更新的组件至用户态,崩溃范围被限制在用户态,大大减少内核代码崩溃的风险,降低了整机的停摆概率。
当然最重要的是,直面用户的极简黑屏,总算做到了给用户「不添乱」。
▲ Windows 11 的系统更新界面,同样是黑底白字. 图片来自:Windows
再见了,所有的 Windows 蓝屏
如果你是从 DOS 时代过来的老油条,想必对 Windows 系统印象最深刻的不是「开始」菜单,而是总在你最不想的时刻出现,令你心跳骤停的那一抹纯蓝。
Windows 蓝屏已经问世近四十年,微软也对这个界面经过多次迭代。
最早,Windows 蓝屏可以追溯到 1985 年,当时 Windows 1.0 时代还运行在 DOS 系统上,偶尔会出现这样让人血压升高的屏幕。清晰可读的,只剩一行小字:
「微软是微软公司的注册商标,版权所有违法必究!」
▲ 1985 年 Windows 1.0 的蓝屏界面. 图片来自:Windows
后来,微软开始在 Windows 系统中写入「蓝屏」的报错信息。传奇 Windows 系统工程师 Raymond Chen 曾分享过「蓝屏」背后的趣闻——
比如微软前 CEO 史蒂夫·鲍尔默(Steve Ballmer)就曾在 1992 年写过一个程序无法响应的蓝屏,里面的内容也是让用户生气:程序宕机了,你先做这个(数据无法保存),再做那个(数据还是无法保存)。
颇有一种「反正你已经红温了,不如看个蓝屏冷静点」的感觉。
▲ 1992 年程序无法响应的蓝屏. 图片来自:Windows
后来,在 Windows 95 系统当中,Raymond Chen 写过另一个「蓝屏死机」界面,直接把出错的内存位都告诉你了——但对用户来说这又有啥用呢?
▲Windows 95 系统蓝屏. 图片来自:Windows
可能是因为总是无法避免死机,微软也把优化改进蓝屏界面这件事,当做一项长期且正式的开发工作来对待了。真是孜孜不倦呢——
例如在 2001 年,Windows XP 就把蓝屏字体改成 Lucida Console,也给出了一些后续操作的指示,帮助用户排查可能的问题。
▲ 2001 年 Windows XP 蓝屏.
而到了 2012 年,Windows 8 的蓝屏界面不仅加上了悲伤的表情文字,甚至颜色都十分的阴郁(且符合 Win 8 主题配色):
▲ 2012 年 Windows 8 蓝屏. 图片来自:Windows
在 2016 年之后,Windows 10 系统终于明白过来,放着满屏的信息对用户一点用都没有。于是他们又给蓝屏界面加上了二维码:
扫一扫,告诉你到底发生了什么?
▲ 2016 年 Windows 10 蓝屏. 图片来自:Windows
前几年,为了迎合 Windows 11 的设计语言,还短暂尝试过「黑色」的蓝屏界面,不过没有实装:
▲ Windows 11 「黑色」蓝屏 图片来自:Windows
但不管怎么更新,几十年来,Windows 蓝屏宕机的流程始终是:让系统先停住,告诉你出了什么问题,你再手动查码解决。
这显然是一种工程师思维,背后的原因其实有历史和文化的成分。毕竟早期的 Windows 面对企业和专业人士设计,当时的互联网并不发达,出现错误时,他们需要详细的错误信息来排查各种系统问题,因此这才会出现蓝屏时满屏内存码的现象。
但经过几十年的迭代,Windows 已经是世界上最大的 PC 操作系统,被数以亿计的普通人使用。而普通人其实只需要重启便能解决 90% 的问题。至于重启都解决不了的问题,除了砸电脑还能怎样呢?
这时候,满屏都是字的「蓝屏死机」界面,就显得不合时宜了。
就拿之前的蓝屏界面为例:冗杂的文字、抢眼的蓝色以及交互复杂的二维码,非但无法提供实质帮助,只会让用户更加不知所措。其实满屏唯一有用的信息,只有那句:
Your PC ran into a problem and needs to restart.
你的电脑出问题了,请重启。
▲蓝屏中 5 种不同的信息.
既然如此,不如化繁为简,按重要程度,在屏幕上提供核心信息:
- 「你的设备出问题了,请重启」的指示,很重要,大字居中
- 处理错误的百分比进度,紧贴着重启的提示
- 其余少量的错误类型提示信息,用小字说明,放底部,谁有用谁拿去用。
▲全新设计的 Windows「黑屏死机」界面.
至于具体的错误码等信息,在 Win 11 24H2 里会在重启后自动写进系统日志并上传——既简洁,又高效,核心就是不给用户添乱,制造额外的焦虑。
你只需像系统更新那样,耐心等到 100%,重启即可。
这不仅是视觉的考量,更是「危机」中用户体验设计的体现——宕机的场景下,用熟悉和沉稳的视觉语言安抚用户的情绪,让你在系统恢复的整个过程中,感觉到更加可控和可预测。
这也是微软设计团队想表达的核心:减轻用户不安的同时,让信息更加清晰,从而更快的解决问题。
和蓝屏死机相比,高下立判。
▲ 蓝屏. 图片来自:Wired
微软的工程师团队,终于把焦点从「告诉用户出了什么错」,转向「尽快让设备重启」上,让 Windows 系统从被动响应错误,向主动设计弹性系统转变,与其塞满晦涩难懂的报错信息,不如把用户真正需要的操作放大。
毕竟重启就完了。重启能解决 90% 的问题。
本文作者:周芊彤、肖钦鹏
#欢迎关注爱范儿官方微信公众号:爱范儿(微信号:ifanr),更多精彩内容第一时间为您奉上。
为什么早期的 Windows 需要整理碎片
本地 LLM 语言大模型入门教程,提升隐私和效率攻略
按:本文原作者为 Chris Wellons,最初于 2024 年 11 月 10 日发表在其个人网站 null program 上,并声明归属公有领域。我们据此制作译文,以便中文读者阅读。
本文在 Hacker News 发表后的相关讨论也非常值得一读,有兴趣的朋友可前往查阅。
过去一个月以来,我一直在研究日新月异的大语言模型(Large Language Models,下称 LLM),尝试一窥其中奥妙。如今,一台树莓派就能运行比初版 ChatGPT(2022 年 11 月版本)还聪明的 LLM,换成一台普通的台式电脑或者笔记本电脑的话,运行更聪明的 AI 也不在话下。除了方便以外,本地化运行的 LLM 隐私有保障、数据不联网、不需要注册、也没有诸多限制。大模型正以前所未有的速度发展,现有的知识可能用不了几个月就过时了。我写这篇文章是为了记录我在上手 LLM 时积累的的实用经验和心得,希望这些必备知识能够帮你少走弯路。不过归根结底我也只是一个 LLM 菜鸟,文章中未必有什么独到之处,而且有些地方我可能也没弄明白。一想到一年之后这篇文章大概率就会成为历史的注脚,激动之余我自然也会有些惶恐。
就让我这个刚入门的菜鸟带你们入个门吧:LLM 是一种基于神经网络的技术;2022 年,人们在训练 LLM 进行「聊天」式对话方面取得了突破性进展,使得用户能够与这些人工智能自然地互动。这些模型不仅可以轻松通过图灵测试,与真人对话几乎无异,还展现出令人惊叹的创造力。如果这是你第一次接触这种大模型,感受到的不安可能一连几天都挥之不去。回想一下上次你买电脑的时候,你大概没想过人可以和机器有来有回地对话吧。
这让我回想起上世纪 90 年代桌面电脑快速革新的时候,新买的电脑刚刚送到家里就感觉已经过时了。而到如今,LLM 的发展速度更是快得出奇,几乎每周都有新变化,所以对于那些一年前发布的信息我基本上看都不看。想要掌握最新的资讯的话,可以关注 Reddit 的 LocalLLaMa 板块,但是这里的帖子个个吹得天花乱坠,所以记得别轻信其中的一面之词。
正是因为曾经经历过服务关闭、变更、或者因为其他原因导致我的服务器实例被停用的情况,我才对厂商绑定格外警惕。换新的服务提供商对我来说并非无法接受,但得让我能继续用下去才行。正因如此,过去几年内我对 LLM 并未抱有太大兴趣,因为那些所谓「封闭」的模型只能作为第三方提供的一项服务而存在,几乎涉及了所有上述的锁定问题,其中就包括模型的静默劣化(silent degradation)。直到某天,我了解到可以将接近顶尖的模型运行在自己的设备上,从而彻底摆脱这些束缚,这才让我改变了对 LLM 的看法。
这篇文章讲的是 LLM 的运行,并不涉及针对模型的微调和训练。而且这篇文章也只涉及文本,并不涉及图像、声音,或者其他任何「多模态」能力,因为就我来说还用不太到这些。
具体而言,想要在你自己的设备上运行 LLM,你需要的是分别是软件和模型。
llama.cpp 令人惊叹,也是我的唯一选择。原因在于,在基本的 CPU 推理这方面,也就是使用 CPU 而不是 GPU 来产生 token 时,llama.cpp 仅需一个 C++ 工具链,不像其他大多数方案那般都需要繁琐的 Python 配置,这点让它在众多可选项中脱颖而出。在 Windows 系统上,只需要一个 5MB 大小的 llama-server.exe
文件,不需要其他运行时依赖(runtime dependency)。更重要的是,由于 EXE 和 GGUF(模型)这两个关键文件都采用内存映射方式加载,所以很有可能即便过了几十年,你也可以在未来某个版本的 Windows 上以同样的方式运行同样的 LLM,且同样不需要额外配置。
我就直说了,我喜欢它是因为官方提供的 Windows 版本编译程序用的是 w64devkit。这些人真的是有点品味的!话虽如此,如果能用 GPU 做推理的话,就别用 CPU 做推理。虽然在台式或笔记本电脑上对 10B1 左右参数的模型的效果还不错,但是速度还是会更慢。我的主要用例并不是使用 w64devkit 构建的,因为我用的是 CUDA 来推理,而这需要用到 MSVC2 工具链。为了好玩,我曾把 llama.cpp 移植到了 Windows XP 上,并且成功在一台 2008 年的笔记本电脑上运行了一个 360M 参数的模型。能够在那台老旧的笔记本上运行这项技术的感觉真的太神奇了,毕竟在那会儿,这项技术的价值恐怕得值个几十亿美元吧。
GPU 推理的瓶颈在于显示内存(VRAM,下称显存)。因为这些模型真的相当大,而为了能够使用更大的模型,处理更长的上下文窗口(context window),对内存的要求也就更高。模型越大就越智能,上下文窗口也就越长,一次性可以处理的信息也就更多。VRAM 不足 8GB 的时候,使用 GPU 推理就不划算了。如果遇到「GPU Poor」的情况,就请用 CPU 来推理,这样的好处一是更简单,二是更容易上手。
llama.cpp 中提供了很多工具,但是本文只重点讲其中的 llama-server
。它本质上就是一个 HTTP 服务器(默认端口为 8080),并提供了一个聊天 UI,以及供程序(包括其他用户界面)使用的 API。一个典型的调用命令如下:
上下文大小(context size)是将输入和输出计算在内,一个 LLM 一次可以处理的最大 token 数量。上下文 token 的数量通常在 8K 到 128K 之间,具体取决于模型的 tokenizer3。普通英语文本使用 wc -w
来统计的话,每个词大约 1.6 个 token。如果模型支持较大的上下文,内存可能会先一步告急。此时应该把上下文大小调低一些,比如 --ctx-size $((1<<13))
(即 8K 个 token)。
我还没完全理解 flash attention 是做什么的,也不知道为什么 --flash-attn
或者 -fa
不是默认开启的(也许是因为精度较低?),但你无论如何都应该加上它,因为启用它可以减少内存需求,即便会降低精度也值了。
如果服务器成功地启动了,可以尝试访问(http://localhost:8080/)来先试一试。虽然你还是得先有个模型才可以。
Hugging Face(下称 HF)被誉为「LLM 界的 GitHub」,这是因为它提供了卓越的模型托管服务:无论是数 GB 的「小」模型,还是动辄数百 GB 的「大」模型,HF 都免费托管,获得此殊荣可谓实至名归。此外,大多数模型无需注册即可下载(个别例外),也就是说,你随时都可以下载我接下来提到的模型,自己试试。如此慷慨的服务让我十分震撼,以至于连我这种平日精打细算的人也在几天后开通了 Pro 账号。
如果你现在去 HF 逛一逛的话,你可能想问:「这里什么都有,那我到底要选哪个呢?」我一个月也和你有同样的疑问。对于 llama.cpp 来说,搜索 GGUF 即可。虽说 GGUF 并不是模型在创建或存储时的原生格式4,但你只需要找名字里面带有「GGUF」的仓库(repository)的话就好。这些仓库通常都是由更新频繁、助人为乐的第三方「量化器」(quantizer)提供的。
(官方文档里也没有明确解释「GGUF」究竟是什么意思,习惯了就好了。这就是走在技术最前沿的感觉:无论是什么,要么需要费很大劲才能找到,要么干脆就没有。你可能会想把 LLM 运行起来之后问问它,但我很快就会告诉你这样也行不通。至少据我所知,「GGUF」目前没有官方定义(更新:「U」代表「统一」(Unified)),但其他三个字母的含义仍未确定5。)
虽然以 Meta 最强模型命名的 llama.cpp 确实表现不俗,但并非我的最爱。最新版本是 Llama 3.2,但现在6能用在 llama.cpp 上的模型只有只有约 10 亿参数的 1B 和约 30 亿参数的 3B 版本。这两个模型有点太小了,实用性较为有限,而且只要你不是在树莓派上运行,即便用的是 CPU 推理,也可以有更好的选择,比如说 Llama 3.1 8B(如果你有至少 24GB 显存的话你没准还能试试 Llama 3.1 70B)。
搜 Llama 3.1 8B 时你会发现两个版本,其中一个标注了「instruct」,而另一个没有。instruct 表示该模型经过训练,能够依据指令完成任务,也就是用来聊天的,一般来说你要的就是这个。而没有标注的版本是「基础」(base)模型,只能续写文本(从技术上讲,instruct 模型同样也只是文本补全而已,但这个我们稍后会详细讨论)。如果基础模型也能标上「base」就好了,但是因为某些路径依赖问题,通常都不会这样去标注。
在 instruct 模型的「文件」一列中你是找不到 GGUF 文件的,如果你想要下载这些模型,你需要注册一个账号然后同意社区许可。这时我们回到搜索栏,在后面加上 GGUF,找相对应的 GGUF 模型就可以了:例如 bartowski/Meta-Llama-3.1-8B-Instruct-GGUF。bartowski 更新频繁,而且名声在外,这不但是 llama.cpp 专用的格式,而且无需注册即可下载。
你现在可以在「文件」页面里看到许多 GGUF 格式的文件了,这些是同一模型的不同量化版本。原始模型使用的是 bfloat16 张量,但如果只是为了把模型跑起来,我们可以舍弃大部分精度,同时将损失控制在最小。模型确实会变笨一点,懂得少一点;但是这样做可以大幅减少其所需资源。推荐的最多的是用 Q4_K_M
这种 4 位量化的版本,从我个人体验来看,这确实是个不错的选择。一般来说,一个大模型的 4 位量化比一个小模型的 8 位量化效果更好。一旦你把基本概念搞清楚了,就可以尝试不同的量化方式,看看哪种最适合你!
不同的模型在训练时有不同的权衡,所以没有哪个模型是最优的,在 GPU 性能不足时更是如此。我的电脑装了一块 8GB 显存的 RTX 3050 Ti,所以这方面的限制也影响了我对模型的选择。对于大约 10B 参数的模型,运行起来相对轻松;而若是想测试有着 30B 参数的模型的能力的话则稍显力不从心;运行 70B 参数的模型时我就会用第三方托管的方式了。以下我列出的「t/s」数据都是在这个系统上运行 4 位量化模型得到的。
表中省略了模型名字中的 instruct 字样,除非另有说明,否则这些列出的都是 instruct 模型。部分模型,至少在 LLM 能开源的范围内,是真正的开源项目,我已在后面标明了它们的许可证。其余的模型则对使用和分发都有限制。
这是 Mistral AI 和英伟达合作的模型(代号 Nemo),是我用过的最为均衡的 10B 模型,同时也是我的首选。其推理速度从 30 t/s 起步,令人十分舒适。它的强项在于写作和校对,并且在代码审查方面几乎能与 70B 的模型相媲美。虽然该模型训练的上下文长度为 128K,但是根据我的实际使用经验,其有效的上下文长度更接近 16K。
模型名称中「2407」表示它的发布日期是 2024 年 7 月,我个人很支持将日期写入版本号的这种命名方式,这样一来,你就知道这个模型的知识更新日期和技术水平,找起来也方便。如果不是这样做,版本管理就是一团糟。AI 公司搞不懂版本管理,就像开源项目不会起名字一样。
这是由阿里云推出的 Qwen 模型,其在不同规模的表现都超出了我的预期。14B 模型的推理速度从 11 t/s 起步,能力与 Mistral Nemo 相当。如果我的硬件跑得动 72B 模型的话,我可能就会选这个了,但目前我都是通过 Hugging Face 的推理 API 来试用这个模型。Qwen 同样提供了一个 32B 的版本,但是因为我的硬件跑不动,所以我也没花太多时间研究它。
谷歌推出的模型很受欢迎,大概是因为它有趣的特性吧。对我来说,2B 模型很适合快速翻译。和谷歌翻译相比,尽管 LLM 更耗费资源,并且如果遇到了它觉得冒犯的文本就罢工,像是科幻电影一样——但是在 LLM 面前,谷歌翻译就像是老古董了,更不必提 LLM 还可以离线运行。在我的翻译脚本中,我给它一段带有 HTML 标记的文本,并且要求 Gemma 保留标记,它执行得简直完美!9B 模型效果更好但会慢一些,我会选择用它来翻译自己的消息。
微软的特色是使用合成数据训练。而结果是,该模型在测试中表现不错,但在实际应用中效果不如预期。对我来说,它的强项是文档评估。因为它是一个 4B 模型,我曾加载过最多 40K token 的文档,并成功地获取到了准确的摘要和数据列表。
Hugging Face 可不仅仅是托管模型这么简单,就同等体量的模型而言,他们自家的 360M 模型同样异常出色。我那台赛扬处理器、1GB 内存、32 位系统的 2008 年的笔记本电脑也能用,在一些旧款树莓派上也可以跑起来。这个模型有创意、速度快、能沟通、会写诗,适合在资源有限的环境中使用,算是一个有趣的玩具。
这是另外一个 Mistral AI 模型,但其表现稍逊一筹。48B 听起来相当大,但这是一个 Mixture of Experts(MoE)模型,进行推理时只会用到 13B 的参数。这使得它非常适合在至少有 32G 内存的配置上进行 CPU 推理。该模型更像一个数据库,保留了更多的训练输入数据,但它在应用中可能不如预期,其中缘由我们很快就会说明。
又是两个我没法在自己的电脑上运行的模型,所以我会通过远程托管的方式来使用这两个。后者名字里的 Nemotron 代表这个模型经过英伟达的微调。如果我能跑得动 70B 模型的话,可能 Nemotron 就是我的首选了。我还是要花更多时间把它和 Qwen2.5-72B 做对比评估。
这些模型大多数都有特殊编辑过(abliterated)的「去审查」版本,消除操作可以减少模型的拒绝行为,但是也会以模型的性能下降作为代价。拒绝行为是很讨厌的,比如说 Gemma 就不愿意翻译它不喜欢的文字。可能是因为我比较无聊吧,我遇到的拒绝的次数不多,所以我还没必要做出这样的取舍。另外,似乎上下文的长度增长之后,拒绝行为就会变少,感觉有点「既然开始了,那就做到底」的意思。
接下来的一组是专为编程而训练过的「写码用」模型。具体来讲,他们进行了中间填充(fill-in-the-middle,FIM)训练,使得模型可以在现有程序内部插入代码——我稍后会解释这是什么意思。但是依我看来,这些模型不论是在代码审查还是其他指令导向的任务上都没有更出色,实际情况正好相反:FIM 训练是在基础模型上进行的,指令训练是在此基础上进行的,因此指令训练反而与 FIM 不兼容!换句话说,基础模型的 FIM 输出要明显更好,尽管你无法与这些模型进行对话。
我会在后文进行更详细的评估,但在此我想先提一点:即便是目前最顶尖的 LLM 生成的代码,其质量也相当一般。以下排名是基于与其他模型的对比,并不是它们在整体能力上的排名。
这是 DeepSeek 自己命名并推出的模型。推理时它只使用 2B 参数,所以它既和 Gemma 2 的 2B 版本一样快,又像 Mistral Nemo 一样智能,堪称一个完美的平衡。尤其是在代码生成方面,它的表现超越了 30B 的模型,如果我想要鼓捣 FIM 的话,这就是我的首选了。
Qwen Coder 的排名紧随其后。论输出结果的话和 DeepSeek 不分伯仲,但是因为并不是 MoE 模型,所以速度会稍慢些。如果你的内存是瓶颈,那么它就是比 DeepSeek 更好的选择。在写这篇文章的时候,阿里云发布了新的 Qwen2.5-Coder-7B,但是令人迷惑的是,其版本号并没有更新。社区里已经在用 Qwen2.5.1 来称呼这个版本了。刚才我还在说 AI 公司搞不懂版本管理来着……(更新:在发布一天后,14B 和 32B 的 Coder 模型也发布了,我两个都试了,但是都不如 DeepSeek-Coder-V2-Lite,所以我的排名没有变。)
IBM 推出的系列模型名为 Granite。总体来说,Granite 无法令人满意,唯独在 FIM 中表现异常优秀。以我的体验来说,它和 Qwen2.5 7B 并列第二。
我同样也测试了 CodeLlama、CodeGemma、Codestral、StarCoder 这四个模型。这些模型在 FIM 任务上的表现非常差,几乎毫无价值,我想不到任何使用这些模型的理由。指令训练所导致的负面效果在 CodeLlama 上最为明显。
我在前文提过,llama.cpp 是自带 UI 的,其他 LLM 中的 UI 我也用过,我感觉都大差不差。但是我本来就不喜欢 UI,尤其是在生产力环境下,所以我为我自己量身定制了 Illume。这是一个命令行程序,它能将标准输出转换成 API 查询,并在查询过后将响应转换回标准输出。把它集成到任何一个支持拓展的文本编辑器中应该都不成问题,但是我只需要它支持 Vim 就够了。因为 Vimscript 太烂了,估计在我接触过的最烂的编程语言里能排上第二,所以我的目标是尽量少写代码。
创建 Illume 的初衷是为了解决我自己的痛点,为了让我更好地探索 LLM 的世界。我总是会把东西搞崩,然后再去添加新功能来补救,所以稳定性方面我没法保证(大概你还是不要尝试使用它比较好)。
以 !
开头的行是 Illume 解释后的指令,这样写是因为正常文本中很少有这种写法。在一个缓冲区(buffer)中,!user
和 !assistant
交替进行对话。
这些仍然在文本缓冲区之内,所以在继续对话之前,我可以编辑 assistant 的回复,也可以修改我的原始请求。如果我想要它来创作小说的话,我可以要求它补全(completion)一段文本(而这并不需要指令训练就可以完成):
我可以打断它的回复,进行修改或添加一段自己写的内容,然后让它继续生成;这方面我还得多练练。LLM 也会识别出你添加的注释语法,这样你就可以用注释来引导 LLM 写你想要的内容。
虽然 Illume 主要是为 llama.cpp 设计的,但我也会使用不同 LLM 软件实现的 API 进行查询,且由于各个 API 之间存在不兼容性(例如一个 API 所需的参数被另一个 API 禁止),所以 Illume 的指令需要足够灵活和强大,因此指令可以设置任意的 HTTP 和 JSON 参数。Illume 并不会试图将 API 抽象化,而是会直接呈现出其较低层级的设置,所以要对远程 API 有所了解才能有效地使用它。比如说,与 llama.cpp 进行通信的「配置文件」(Profile)是长这样的:
其中 cache_prompt
是一个 llama.cpp 所特有的 JSON 参数( !:
)。大多数情况下启用提示缓存(prompt cache)会更好,但可能是因为某些原因,它默认是没有启用的。其他 API 会拒绝带有此参数的请求,所以我需要将其删除或禁用。Hugging Face 的「配置文件」是这个样子的:
为了兼容 HF,Illume 允许将 JSON 参数插入到 URL 中。因为 HF API 会过于频繁地进行缓存,所以我提供了一个 HTTP 参数( !>
)来将其关闭。
llama.cpp 独有一个用于 FIM 的 /infill
端点(endpoint)。该端点需要一个拥有更多元数据并进行过特定训练的模型,但是这种情况比较少见。因此,尽管 Illume 支持使用 /infill
,我还是添加了 FIM 配置,这样在读过该模型的文档,把 Illume 为该模型的行为配置好之后,我可以在任何为 FIM 训练的模型上通过正常补全 API 实现 FIM 补全,甚至是在非 llama.cpp 的 API 上也是如此。
该是讨论 FIM 的时候了。为了彻底弄懂什么是 FIM,我就必须追溯到知识的源头,也就是最原始的讨论 FIM 的论文:Efficient Training of Language Models to Fill in the Middle。这篇论文帮助我理解了这些模型是如何针对 FIM 训练的,至少足够让我也将这种训练方法应用到实际中。即便如此,在模型的文档中关于 FIM 的说明通常也很少,因为它们更希望你去直接运行他们的代码。
从根本上讲,LLM 只能预测下一个 token。所以 FIM 的方法是在大型训练语料库(corpus)中选取一些会在输入中出现的特殊 token,用它们来区隔前缀(prefix)、后缀(suffix),和中段(middle)部分(三者合称 PSM,有时也称「后缀-前缀-中段」,即 SPM)。在之后的推理中,我们可以用这些 token 来提供前缀和后缀,并让模型「推测」出中段内容。听起来很离谱,但这真的很有效!
比如在填补 dist = sqrt(x*x + y*y)
中括号里的内容时:
为了让 LLM 填补括号中的内容,我们在 <MID>
停下,并且让 LLM 从这里开始预测。注意到 <SUF>
起到的效果就好比一个光标。顺带一提,指令训练的方法差不多也是这样,但是在指令训练中,使用特殊标记分隔的是「指令(instructions)」和「对话(conversation)」,而并非前缀和后缀。
有些 LLM 开发者严格按照论文所写,直接使用 <PRE>
等作为 FIM 标记,并不在乎这些标记和模型的其他标记看起来完全是两个样子。更用心的训练者则会使用类似 <|fim_prefix|>
的标记。Illume 支持 FIM 模板,我也为常见的模型编写了相应的模板,例如针对 Qwen (PSM) 的模板如下:
Mistral AI 的习惯则是使用方括号、SPM 格式,并且省略「中段」token:
有了这些模板,我就可以在不被 llama.cpp 的 /infill
API 支持的模型中进行 FIM 训练了。
我在使用 FIM 时遇到的第一大问题是无法生成正确的内容,而第二大问题就是 LLM 不知道什么时候该停下。比如在我要求模型填充以下函数时(如给 r
赋值):
(补充一点:静态类型(static types)提示(包括这里的)可以帮助 LLM 更好地生成代码,起到防护栏的作用。)得到这样的结果并不奇怪:
原本的 return r
变成了 norm4
函数的返回值。得到这样的结果固然没问题,但显然这不是我想要的内容。所以当结果开始跑偏的时候,最好做好狂按停止按钮的准备。我推荐的三个 coder 模型较少出现这种情况,而更保险的做法是将其与一个能够理解代码语义的非 LLM 系统结合,这样在 LLM 开始生成超出范围的代码时可以自动停止。这种做法可以让更多 coder 模型变得更实用,但这就不是我折腾的范围了。
对于 FIM 的摸索和实践让我意识到 FIM 仍处在其早期阶段,也几乎没有人用 FIM 来生成代码。或许大家还是在用普通的补全方法?
LLM 好玩归好玩,但是它们能为提高生产力提供什么帮助呢?过去的一个月以来我一直在思考这个问题,但始终没有找到一个令我满意的答案。我们不如先划清一些界限,明确一下有哪些事情是 LLM 无能为力的。
首先,如果结果的准确性无法被轻易验证,那么使用 LLM 就毫无意义。LLM 会产生幻觉(hallucination),这也让它们变得并非绝对可靠。很多时候,如果你能够验证 LLM 的输出是否正确的话,你其实也就没必要用它了。这也就解释了为什么 Mixtral 如此庞大的「数据库」反而没什么用。同时这也说明,把 LLM 输出的结果投放到搜索结果里有多么的危险且不负责任,说难听点就是不道德。
然而即便是那些对 LLM 了如指掌的爱好者们也还是会踩这个坑,并且去传播这些虚构的内容。这使得针对 LLM 的讨论更为不可信,看 LLM 给我提供的信息的时候我得多留几个心眼。举例说:还记得我说过 GGUF 没有一个官方定义吗?你去搜一下就能搜得到一个明显是幻觉的结果,结果它还进了 IBM 的官方文档。我在这儿就不再提了,免得问题变得更严重。
其次,LLM 都是金鱼脑,「过目就忘」。也就是说,较短的上下文长度限制了它们的发挥。虽然有些模型使用了更大的上下文长度来训练,但是其有效上下文长度通常小的多。实际上,一个 LLM 一次只能在它的「大脑」中记住相当于一本书里几章的内容,如果是代码的话则是 2000 到 3000 行(因为代码的 token 密集度更高),一次性能够处理的也就这么多了,这和人类相比简直微不足道。当然也可以通过微调或者使用检索增强生成这类的工具来尝试改善,但是只能说……收效甚微。
第三,LLM 写代码的能力很差。往好了说,它们的写码能力也只不过是一个读过大量文档的本科生的水平。这话听起来还行,但实际上,很多毕业生在进入职场时几乎对软件工程一无所知,第一天上班才是他们的真正学习的开始。从这个角度看,现在的 LLM 甚至还没开始「学习」这一步呢。
但是说实话,LLM 写代码能有如今的水准已经很不错了!即便是把带有我强烈个人风格的代码丢给它,LLM 也能顺利理解并使用其中的自定义接口(但是需要说明的是:我自己的的代码和写作也是大部分 LLM 的训练数据中的一部分)。因此,只要是不超出有效上下文长度的限制,上下文长度越大越好。问题在于训练 LLM 写代码似乎并不比我自己写更省时间。
其实,单纯去写新的代码都算简单的了。困难的地方在于维护代码,以及在考虑到维护代码的同时再去写新的代码。即便 LLM 确实能写出可以运行的代码,也考虑不到维护问题,或者说,它根本没办法去思考这些问题。生成代码的可靠性与代码长度通常成反比平方关系,一次生成十几行代码就已经很不靠谱了。无论我怎么试,LLM 输出的能让我觉得还凑合的代码根本就超不过三行。
代码质量在很大程度上受到编程语言的影响。LLM 在 Python 上表现好过 C 语言;C 语言的表现又好过汇编语言。我觉得这多半取决于语言难度和输入质量:给大模型做训练的 C 语言素材多半都很烂,毕竟烂资源网上一抓一大把;而大模型对汇编语言的唯一了解就是糟糕的新手教程。当要求大模型使用 SDL2 时,它也不出所料地犯了常见的错误,毕竟它就是这样训练出来的嘛。
那训练大模型去写标准化代码(boilerplate)7呢?大概 LLM 在这方面会犯更少的错误,可能还有一定的价值,但处理标准化代码最快的方式其实就是——避免编写它。去简化问题,不去依赖标准化代码就是了。
不必只轻信我一家之言,看看大模型在赚钱方面怎么样就明白了:如果 AI 公司真的能够实现他们所宣传的生产力提升,他们就不会出售 AI 技术,反而会独自利用其技术去吞并整个软件行业。你也可以看看位于 AI 科技最前沿的公司的软件产品,和其他公司的产品一样,是同样的老旧、同样的臃肿、同样的垃圾。(而浏览这些糟糕的网站也是研究 LLM 的环节之一,一想到这里我就感觉很不爽。)
在生成代码时,「幻觉」造成的影响会小一些。因为你在提出需求时就知道自己想要什么,因此可以检查生成结果,同时还有编辑器来帮你检查你漏掉的问题(比如调用了虚构的方法)。然而,有限的上下文和不佳的代码生成仍然是障碍,我至今尚未能有效地解决这些问题。
那么,我可以用 LLM 做什么呢?我们列个表吧,毕竟 LLM 最喜欢列表了:
尽管有用的应用场景不多,但是这已经是近些年来我对新技术最兴奋的一次啦!
Everything 1.5a 新版发布,全新 SDK3 集成平台+搜索性能优化。支持中文拼音搜索(全拼、首字母)、全文搜索
Everything 的长期测试版本 Everything 1.5a 发布新版本 1.5.0.1385a,推出全新的 Everything SDK3 平台,开发者可以将 Everything 的搜索功能集成到自己的应用程序中。并且进行了性能优化、稳定性增强,以及一些小的 bug 修复。针对拼音搜索,目前已经支持全拼、首字母两种方式,推荐更新。
No Description
虽然目前可以同时安装两个版本的 Everything(1.4 和 1.5a),但推荐直接使用 1.5a,因为有全文搜索。以及喜闻乐见的深色模式,也只有 1.5a 拥有。
根据上图设置。
Everything 1.5a 的拼音搜索有两种方式:
目前只能二选一:
具体方式:
Stirling PDF – 免费开源的 PDF 编辑工具,拥有超过 30 个的全面功能
Stirling PDF 是一站式的 PDF 编辑工具,让用户能对 PDF 文件进行各种编辑操作,包括分割、合并、转换、重新组合、新增影像、旋转、压缩等等,特色是免费、开源〔GitHub〕,过程中文件只会存在用户的设备上,若在处理时有暂存于服务器的内容在下载后会即时从服务器删除,不会记录保存或追踪任何资料,相较于在线工具来说是更安全、隐私的解决方案。
1 Locally hosted web application that allows you to perform various operations on PDF files – Stirling-Tools/Stirling-PDF
Stirling PDF 提供多元的 PDF 编辑功能,涵盖文件组织、格式转换、安全性、检视与编辑等工具,满足各类文件处理需求,用户无需额外下载、安装软件,只要通过浏览器即可进行操作,Stirling PDF 有中文在内等多国语言界面〔在我写这篇文章时中文字串翻译率已达 93%〕,进入网站、找到对应的功能后就能直接进行编辑。
这项服务目前可以做到的功能包括:
1. 文件组织
2. 格式转换
3. 签名与安全性
4. 检视与编辑
5. 进阶功能
顺带一提,Stirling PDF 还有提供 Windows 版本,可以在没有连上网络的情况下使用,如果有兴趣的朋友可以在 GitHub 找到下载链接,原则上两者功能差不多,无论在线版或 Windows 应用程序都不用付费、也无广告干扰。
Stirling PDF
进入 Stirling PDF 网站后先从右上角语言选择「中文」。
接着从上方「工具」就能看到完整功能,依照类型分为:组织、转换为 PDF、从 PDF 转换、签名与安全性、检视与编辑和进阶工具,也可以直接从首页输入功能名称列出相关工具。
有一个 PDF 万用工具是整合旋转、裁切、分割、移除、新增图片等功能,进入后先点击左下角新增要编辑的 PDF 文件。
加入后 PDF 页面预览就会显示于下方,每一页都可单独旋转、删除或调整页数,将光标移动到页面中间时还会出现其他编辑选项,例如裁切或是加入图片,其实操作上很直觉,稍微摸索一下就会。
另一个压缩 PDF 也是很常在在线工具看到的功能,选择文件、设置压缩比或是自动模式〔自动调整质量以使 PDF 达到指定大小〕,就能快速压缩 PDF 以获得更小的文件容量。
点击压缩后就会开始处理,完成后自动跳出下载提示,我以大约 9 MB 的 PDF 文件、手动模式 3 级测试后获取一个约 2.5 MB 的新文件,压缩成效相当好,而且图片并没有失真或模糊等情形。
另一个也很常用到的功能是「分割 PDF」,可以将 PDF 指定页面删除、或只是留下需要的页面,使用方法也很简单就不多加赘述,Stirling PDF 会有预先设置的示例提示,用户照着格式稍作修改后就能完成相关编辑任务。
如果要说 Stirling PDF 有没有比较特殊、少见的功能,有一个「自动涂黑」工具很有用,用户只要输入要涂黑的文字,选择 PDF 后就会自动将识别到的文字涂黑,确保隐私和安全性,同时也省去手动编辑文件的时间,操作上更有效率哦!
下图就是使用自动涂黑工具识别、涂黑的 PDF 文件示例,指定文字就会被涂黑处理。
copyparty – 免费开源强大的文件服务器,支持 WebDAV、FTP、媒体播放等超多功能
copyparty 是一款功能非常丰富的多功能文件服务器,主要用来分享你电脑、服务器、设备里的文件,并通过浏览器、WebDAV、FTP 等方式访问,还支持播放音乐、上传文件、权限设置等功能。
几乎可以在任何有 Python 环境的地方运行,还支持 Docker 托管,以及 windows 系统下的单可执行程序,甚至可以在 android 中运行。虽然运行很容易,但我不敢说它简单易用。
Portable file server with accelerated resumable uploads, dedup, WebDAV, FTP, TFTP, zeroconf, media indexer, thumbnails++ all in one file, no deps – 9001/copyparty
copyparty 给自己的定位是「便携式文件服务器,具有断点续传、重复数据删除、WebDAV、FTP、TFTP、零配置网络、媒体索引器、缩略图++,全部集成在一个文件中,无依赖。」
所有的功能集中在一个 .py 文件中,718 KB,直接运行就可以了。Windows 系统有编译好的 .exe 单可执行文件,双击也即开机用。其他平台直接 python copyparty-sfx.py
就行了。
就是文档太啰嗦了…看不下去。
直接运行就可以在浏览器访问 http://127.0.0.1 了,默认会使用 80/443 端口,打开就是这样的:
可以上传、下载、播放视频、听歌、看图片…非常纯粹的文件分享工具。有一种 Alist 的感觉,不过它不支持网盘。
只需要在启动的时候添加一个用户,就能设置权限了,包括只读、文件夹限制等等:
这一行的意思是创建了三个用户:u1/u2/u3,为它们挂载文件夹 music,对 u1/u2 两个用户只读,u3 用户可以写。
但注意有参数后,访问端口就变化了(3923)。
copyparty 默认开启了 WebDAV,只需要在你的 WebDAV 客户端里直接连 http://ip:3923 就行了。
甚至,你可以通过 WebDAV 把这个文件夹映射为 Windows 的网络磁盘,不过 Windows 默认需要 https,改一下注册表就好了。
而 FTP 则需要在启动的时候添加 --ftp 21
参数,用户名密码和上面的设置相同,不设置就支持匿名访问。
iCloud 照片备份后下载到电脑,保存原始文件教程
很多人都会依赖 iCloud 云端储存服务来备份 iphone 照片和视频,要是哪天 Apple 的 iCloud 云端不够用,打算想将 iPhone 原始照片下载到电脑备份,那可以通过本文会教大家如何轻松将 iCloud 照片一次性下载到电脑,并确保原始文件的完整性。
不管是通过 iPhone、mac、windows 电脑都可以直接通过官方网页下载 iCloud 照片原始文件,通过浏览器进入后,并且登录 Apple ID 和进行双重认证。
登录后会看见管理您的文件页面,以繁体页面为例,点击「要求拷贝你的资料」。
在获取文件页面中,往下拉到底勾选「iCloud 照片」选项后,点击「继续」。
选择导出 iCloud 照片后,可以选择压缩文件分割大小,能够设置照片备份文件超过多大就会自动分卷,最小 1GB 最大 25GB,最后可点击「完成要求」。
页面就会显示正在准备打包您的文件,时间最长需要七天,甚至还会要求验证是否为本人发出,如打包完成就会通过 email 通知,就可以通过电脑下载 iCloud 打包的备份文件。
最后 iCloud 照片文件准备完成后,再次登录隐私页面页面后,右侧就会看见文件已经准备完成,点入就能直接通过电脑将备份文件全部下载。
刚刚,Windows 版 ChatGPT 正式发布!还有一个实用的新功能| 附下载链接
就在刚刚,openai 宣布推出 windows 桌面应用,向 chatgpt Plus、Enterprise、Team 和 Edu 用户开放 。
不过,官方表示,目前开放的只是早期版本,将在今年晚些时候向所有 ChatGPT 用户推出「完整的体验」。
例如,它还不支持高级语音模式,并且 GPT Store 的部分集成功能暂时也无法使用。
用户可以在微软应用商店搜索 ChatGPT,接着下载安装即可,安装包大约 110MB,附上下载地址:
The Windows app is currently only available to ChatGPT Plus, Team, Enterprise, and Edu users. This is an early version, and we plan to bring the full experience to all users later this year. With the official ChatGPT desktop app, you can chat about files and photos.
系统要求:Windows 10(x64 和 arm64)版本 17763.0 或更高版本。
在具体的使用过程中,OpenAI 提出了一个名为「Companion Chat」的辅助聊天功能,它允许你在不离开当前应用程序的情况下,快速访问和使用 ChatGPT。
这个功能类似于一个快捷方式或者浮动窗口,你可以通过特定的快捷键(Alt + Space)来调出这个聊天窗口。
借助这个聊天窗口,你可以快速地向 ChatGPT 提问、上传文件、生成图片或者开始一个新的对话。它还具有记住上次位置的功能,并且当主应用程序重置时,它会回到屏幕底部中心的位置。
此外,你还可以通过点击窗口顶部的「New chat」来清除聊天内容,或者通过点击「Open in Main Window」按钮将对话转移到 ChatGPT 的主应用程序窗口中继续。
如果不小心关闭了这个聊天窗口,你也可以通过查看侧边栏的聊天记录来在主应用程序中继续对话。
需要注意的是,如果这个快捷键已经被其他 Windows 应用程序占用,那么它将会不起作用,并且也不支持更改快捷键。
目前 ChatGPT 已经向 mac、Windows 两大操作系统开放桌面版本,但 Linux 却没有给出明确的时间表,也惹得不少网友在线催更。
另外,前不久 OpenAI 推出了 ChatGPT Canvas 功能,允许用户与 ChatGPT 合作处理写作或编程任务。
今天 ChatGPT Canvas 也更新了一个比较实用的功能,你可以点击右上角的「Show changes」图标来查看文章或代码的更改。
▲ Window 的 ChatGPT Canvas 功能,图片来自 @test_tm7873
如下文所示,我使用 ChatGPT Canvas 将朱自清的《背影》改写成文言文版本,点击图标,所做的更改一目了然。
实际上,今天更新的功能也算是补上了 ChatGPT 生态的重要一环。
不过,正如开篇所说,这个桌面版本本质上还是个阉割版,食之无味弃之可惜,尽管快捷键调用方式简单,但网页版所带来的体验明显会更好。
焕新颜,更出彩:Firefox 89 的这些改变值得关注
6 月 1 日,Firefox 89 进入稳定版推送通道,带来了自 2017 年 Firefox Quantum 问世以来最大的界面改动,以及众多细节改进。Mozilla 在博客中写道,设计师们权衡并简化了 Firefox 的交互体验,使其更易于在每台设备上使用,帮助用户提高效率、减少干扰。[1]
这一版本究竟带来了哪些新功能,有何亮点与不足?我们不妨在这篇文章中一探究竟。
注意:本文撰写于 6 月 1 日前,基于 Firefox Nightly 测试版本介绍。
全新的 Proton 设计语言
2017 年发布的 Firefox Quantum 采用了被 Mozilla 称为 Photon 的设计语言,Firefox 89 的界面设计则被命名为仅一字之差的 Proton。这可能与新版的重构思路有关,Firefox 设计团队调研了广大用户的日常使用习惯,绘制了如下图所示的交互热力图[2],希望在一次大版本更新中重新设计 UI 组件,并解决长期遗留的问题。因此,Firefox 产品高级总监 Mikal Lewis 表示,这次改版更像是在原版的基础上,由数不清的细节改进构成的整体。而最终呈现的效果,却大不相同。
从上图中,我们不难发现,在原版设计中,地址栏右侧的几个按钮利用率极低,更不用说二级菜单中的项目了。因此,Mozilla 已经在 Firefox 88 中将「截图」操作转移至右键菜单,89 则更进一步,移除了整个「页面动作」菜单。别担心,里面的老朋友都还在,右键单击标签页,选择发送到其它设备,也是更符合直觉的方法。Mozilla 力推的稍后阅读工具 Pocket 优先级再度提升,于主工具栏上占据一席之地。
当然,不使用 Pocket 的同学大可点击「定制工具栏」,将 Firefox 改造为自己理想中的模样。图标重绘之外,这一功能与以前没多大差别,标题栏、工具栏与书签栏均支持高度自定义。「选项」、「附加组件」更名为更常见的「设置」、「扩展和主题」,从上个版本开始,截图也能添加到工具栏了。将视线转向底部,依然是熟悉的工具栏选项和主题管理。然而,点开密度菜单,问题就来了:我那么大一个紧凑布局呢?
年初开始测试的 Proton 早期版本中,Mozilla 本打算完全移除 Firefox 的紧凑布局,原因你大概也能猜到:切换入口过深,难以被用户发现。[3]为了确保新版的默认配置适合大多数人,Mozilla 决定将其与普通布局合并,但仍为触屏设备用户保留触控布局。不用说,这一决策激起了社区的强烈抗议,妥协结果是只对新用户隐藏相关选项,并且可以自行配置显示。
如果你全新安装了 Firefox,想试试紧凑布局,只需在地址栏键入 about:config
,选择接受风险并继续,然后搜索 browser.compactmode.show
,将值切换为 true
,即可在「定制工具栏」界面自由切换布局。但这并不代表万事大吉,Proton 的界面元素间距比旧版更宽,紧凑布局也只是略窄于原来的普通布局,对显示面积就是生产力的网页浏览器来说,着实有些倒退。
抛开些许不快,让我们来看看 Proton 设计语言的整体效果吧。简化工具栏布局、去除分隔线、收窄图标线条等措施多管齐下,Firefox 89 给我留下了更加清爽的印象,设计的一致性也更强。尽管在其它地方竭力减少 UI 层级,塑造扁平化体验,活动标签页却采用了浮动设计,与背景区分,直观明了。此外,后台标签的音频控件已合并至网站图标,不会多占一个位置了。
菜单也得到了重新梳理,工具栏最右侧的应用程序菜单中,选项前的图标已不见踪迹,排序也有所变化。「我的足迹」被拆分为书签、历史、下载三项;编辑控制成为了工具栏中的独立按钮;定制工具栏等不常用功能统一收纳进「更多工具」;所有按钮均依照用途组织分类。在 Windows 平台,右键菜单由系统样式改为更美观的 Proton 风格;macOS 恰好相反,从带有 Firefox 特色的自定义样式换成了不加修饰的原生风格。
除了桌面客户端,Firefox 移动版应用也迎来同步更新,为全平台换上 Proton 界面设计。Android 客户端将「受同步的标签页」从菜单栏调整至标签管理界面,新增手动同步按钮,使用更方便。Mozilla 还与 WebCompat 合作,允许用户报告无法正常渲染的网页,由志愿者请求网站所有者修复。iOS 客户端同样改进了标签页逻辑,并提升搜索体验,在地址栏添加搜索引擎图标,打开新标签页时自动弹出键盘。比较可惜的是,Android 版 Firefox 重构至今,仍未针对平板设备优化,希望 Mozilla 能在日后带来接近 iPadOS 的体验。
不容错过的其它细节改进
一望即知的设计革新之外,Firefox 89 还提供了例行的问题修复及功能改进,我们不妨在本节发掘这些潜藏于水面下的改动。
更严格的隐私保护策略
作为 Firefox 的主打卖点之一,Mozilla 一直在实践个人隐私保护领域的前沿技术。在 Firefox 89 中,隐私浏览模式会强制启用 Total Cookie Protection 特性,阻止所有跨网站 Cookie,包括但不限于跟踪性内容。你也可以在「隐私与安全」设置中启用增强型跟踪保护的严格模式,将它应用到所有窗口。Firefox 89 还带来了第二代 SmartBlock 功能,使用本地组件替换第三方脚本,拦截在线跟踪器的同时,保证网站正常运作。
macOS 客户端的一大步
Firefox 89 解决了 macOS 客户端的诸多历史问题,在广色域显示器上,网页颜色将不再过饱和;未标记的图像将被视为 sRGB,标记为 sRGB 的图像颜色将与 CSS 匹配;全屏浏览时,将鼠标指针移动至屏幕顶部不会导致标签栏被系统菜单栏遮挡,并提供隐藏工具栏的选项。更振奋人心的是,滑动至页面底端将触发弹性滚动效果,在触控板上两指双击还能缩放聚焦的内容。
新技术助力性能表现
Firefox 89 介绍了一种 Web 表单控件的非本机实现,提供全新的现代设计,改善了网页加载性能。在开发者方面,Firefox 89 已支持 Event Timing API 和 CSS 强制颜色查询,前者允许页面测量从用户首次交互到浏览器实际处理事件的延迟,后者将在操作系统启用高对比度等特殊配色方案时激活,确保更好的无障碍兼容性。
结语
近些年来,Firefox 的几乎每次界面改版,都会招致社区的巨大争议。虽然我同样对 Proton 砍掉紧凑布局感到不满,但 Mozilla 的不断探索却不应被否定。在微软「叛逃」Chromium 阵营后,独立的 Firefox 的存在更显得弥足珍贵,我也由衷希望为自由而生的 Firefox 能越来越好。
Firefox 89 正式版已于 6 月 1 日面向全球用户推送,如果正使用其它浏览器的你也跃跃欲试,可以前往 Firefox 官方网站 下载使用。
如何从 Microsoft Store 安装不兼容的应用
随着 Windows 10 的普及,越来越多的设备制造商开始将自家驱动、专用软件等放到 Microsoft Store 上,便于集中管理和更新。为了避免兼容性问题,这些应用通常仅限特定品牌的设备安装,但有时,我们或许想在自己的电脑上试试,而本文介绍的技巧就能帮到你。
让我们以三星笔记为例,作为众多 Android 手机和平板的预装应用,它提供了完善的 S Pen 支持、PDF 批注和录音回放等高级功能,然而,仅支持移动端却让人难以放心使用。其实,三星还为自家电脑开发了笔记应用的全功能 UWP 版本,兼容大部分 Windows 设备,只是限制了其它品牌安装。
现在,让我们打开 网页版 Microsoft Store,登录自己的账户,搜索并切换至 Samsung Notes 的页面。你应当会发现「兑换代码」按钮变成了「获取」,点击它右侧的三点省略号,选择「添加到购物车」。
之后的步骤想必无需多言,打开购物车,遵照页面指示下单,将应用添加至自己的软件库中。需要注意的是,如果显示语言为简体中文,在结账时可能出现白屏等状况,将地址栏中的 zh-cn
改为 en-us
即可。
订单完成后,让我们回到应用商店,之前的「兑换代码」已经变成了灰色的「安装」。再次点击右侧的三点省略号,选择「在我的设备上安装」,然后在弹窗中选择安装位置。
稍憩片刻,你的下载会自动开始,安装完成后,就可以在自己的设备上使用了。这一技巧同样适用于其它限定型号的应用,如 Dell Mobile Connect 和 Nebo for LG 等,祝你使用愉快。
无需解锁费用即可优惠购买 40+ 款应用,BundleHunt 的这次促销不容错过
提示:此次活动已结束。
如果你曾读过我此前写的大促推荐文章,对 BundleHunt 这个名字想必不会感到陌生。作为最知名的 macOS 应用促销网站之一,它总能说服几款大牌应用,开出让你无法拒绝的价格。本月中旬,BundleHunt 也推出了其最新 Bundle,包含 46 款 App,优惠幅度可达 90%。
与以往不同的是,本 Bundle 取消了祖传的 5 美元解锁费用,挑选的 App 总价格是多少,结账时就支付多少,而且每款 App 依然可以添加最多 3 份授权,相当良心。此外,BundleHunt 还首次涉足 Windows 应用,没有 Mac 的同学也可以放心选购。
话不多说,接下来,就让我们一起来了解一下部分值得购买的应用吧。
TextExpander
💰一年订阅价格:$49.92 → $7.00, 86% Off
作为一款键盘效率利器,TextExpander 曾被少数派多次推荐,并被誉为 macOS 深度用户必备生产力工具之一。TextExpander 最基础的功能是文本替换,如果你日常生活中经常需要输入重复内容或特殊字符,就可以借此节省时间,如输入 @@
自动替换为邮箱地址、输入 tm
自动替换为 ™
商标符号等。在此基础上,TextExpander 的自动化能力还允许我们制作带变量模板、一键填充表格、转换 Markdown 格式等,输入快人一步。
关联阅读:
- 新瓶旧酒价更高:TextExpander 6 新版详解
- TextExpander 使用详解(需订阅 Power+ 1.0)
- 把 TextExpander 打造成文字格式清理利器(需订阅 Power+ 2.0)
iStatMenus 6
💰价格:$11.99 → $6.00, 50% Off
iStatMenus 6 同样是一款被少数派多次推荐的工具应用,它可以将 macOS 的菜单栏变为系统监测中心,除了 CPU、电池、网速、硬盘和内存状态等标配功能外,你还可以用它来查看天气、日程安排和世界时间等,功能和界面样式都相当丰富。此外,iStatMenus 6 的可定制项目也诚意满满,可以自由组合多种传感器数据,合并为一种工具,随时获知系统状态变化。
关联阅读:
Waltr 2
💰价格:$39.95 → $5.00, 87% Off
即使对死忠果粉来说,iTunes 的移动设备管理体验也难以称得上优秀,macOS Catalina 拆分到访达后也不甚圆满。Waltr 2 则致力于解决跨设备文件传输这一吐槽重灾区,它将用 Mac 向 iPhone 传输文件的过程简化为三步:打开 Waltr 2,将文件拖进去,然后在手机上查看。除了傻瓜式的操作体验外,Waltr 2 还支持上百种音视频格式,智能选择接收应用,并自动转换 iOS 不支持的文件,小白也能轻松上手。
关联阅读:
Softorino YouTube Converter 2
💰价格:$19.95 → $3.00, 85% Off
尽管名字里带着 YouTube,但 SYC 2 支持的网站可远不止这一家,只需直接粘贴链接,你就可以一键下载 Vimeo、Instagram 和 YouTube Music 等超过 60 个流媒体网站的音视频文件。由于与 Waltr 2 师出同门,SYC 2 还允许你直接保存至 iPhone 和 iPad 中,流程也和 Waltr 2 一样省心,下载传输一气呵成。需要提醒大家的是,SYC 2 并未适配 B 站和爱奇艺等国内主流平台,请明确自己的需求后购买。
关联阅读:
Commander One PRO
💰价格:$29.99 → $6.00, 80% Off
作为 macOS 的默认文件管理器,访达界面简洁、操作友好、易于上手。但对深度用户来说,访达着实有些简陋,只有搭配第三方工具才能勉强使用这样子。Commander One PRO 则是一款相当强大的访达替代品,它支持双栏视图和全键盘操作,所有快捷键支持自定义,还拥有强大的搜索和替换功能,支持多种压缩格式及文件预览方式。你还可以建立 FTP、WebDAV、Google Drive 和 OneDrive 等远程连接,并在应用内管理系统进程,是一位全能型选手。
Flux 7.0
💰价格:$99.99 → $7.00, 93% Off
没有编程基础,又想搭建一个网站?试试界面友好、易于上手的 Flux 7.0 吧。它利用所见即所得的可视化设计,让你无需关注代码,就能通过拖拽等操作搭建页面,配合预设的精美模板,是初学者的佳选。Flux 原生支持 Bootstrap 和 Skeleton 等主流前端框架,可以通过 FTP 和 SFTP 管理远程项目,还提供强大的调试工具,帮助你轻松创建响应式网页。
Batteries
💰价格:$5.99 → $2.99, 50% Off
电子设备一多,如何管理就成了难事,稍不注意,就可能出现七八个设备电量不足,充电线却只有一根的尴尬情况。而 Batteries 这款小工具就可以在控制中心、菜单栏或 Touch Bar 上展示所有设备的剩余电量,并在电量不足时通知提醒,避免需要用时电池只剩 2%。Batteries 支持 iPhone、iPad、AirPods 及所有连接到 Mac 的蓝牙设备,在后台保障你的工作进度不受影响。
AirBuddy
💰价格:$5.00 → $2.00, 60% Off
作为公认的真无线耳机标杆,AirPods 的工业设计和硬件配置都首屈一指,与之配套的软件体验也出类拔萃,弹窗动画让人总想多看几遍,无缝切换的过渡也十分自然。然而,如果你正在使用 Mac,就只能点击菜单栏上的音频图标手动切换,还可能出现图书馆外放的尴尬。而 AirBuddy 不仅为 macOS 带来了与 iOS 相仿的动画效果,还能帮助你快速切换输出设备,并在控制中心查看已连接设备的电量,值得一试。
按照惯例,详细介绍以上 8 款 App 后,我会推荐本 Bundle 中其它值得购买的应用。但今天我准备反过来,说说我认为本 Bundle 中不太划算的应用:
- 可以用 macOS 自带字符检视器基本替代的 PopChar X;
- 可以用免费的 Snipaste 完美替代的截图标注工具 Cropro;
- 功能可以与主流手机应用比肩的 Movavi Video Editor Plus;
- 之前 冰点 6 元、现在改个名就卖 $11.5 的 A Better Finder Rename;
- 没有需求就创造需求、UI 还有点老的激活码管理工具 Recover Keys;
- 免费替代品众多、还采用订阅制的 Android 文件传输工具 MacDroid Pro。
以上,就是本文的全部内容了。你可以 点击这里 前往 BundleHunt 官网,如果愿意支持我继续创作,也欢迎你点击此 返利链接 购买,我会得到你支付金额的 25% 作为回报,在此诚表谢意。
忘掉第三方,这 14 款系统自带 App 真的很好用
如果你还在使用 64 GB 的手机,可能会时常面临存储空间不足的窘境。这时,除了忍痛清理相册和聊天记录外,还可以试试用系统自带的 App 代替部分第三方应用,节省空间的同时享受原生的丝滑体验。
在本文中,我就为大家整理了 14 款各系统平台的优秀自带 App 和使用技巧,希望你也能有新发现。
iOS
许多 iOS 用户的主屏幕角落都会有一个名为「删不掉」的文件夹,专门用来安置蒙尘的系统自带 App 们。如果你也曾这样做过,不妨再给它们一次机会,试试本章提到的使用技巧吧。
备忘录
近几年来,每次 iOS 大版本更新都会为备忘录添加新特性,也让它从纯粹的便签工具逐渐演变为了现在的全功能笔记应用。就像苹果官方介绍的那样,备忘录可以「轻松添加几乎任何内容」,无论是图片、文字、链接,还是表格、清单、手绘,它都来者不拒,还能直接扫描文稿,并自动裁边。
备忘录的一大优势,就是与 iOS 系统的深度整合。除了 iCloud 多端同步外,你还可以从主屏幕 3D Touch 菜单、通知中心小组件、控制中心快捷方式等位置快速创建新笔记,或者直接召唤 Siri 帮忙,这也是第三方笔记 App 难以做到的。
在即将正式推送的 iOS 13 中,苹果还大幅强化了备忘录的搜索功能,并进一步加入了 OCR 文字识别功能。简单来说,你可以直接搜索图片附件及手绘中的文字,准确率也相当高,甚至成功匹配了带连笔的潦草字符,可谓课堂笔记整理利器。
关联阅读:
提醒事项
在 iOS 13 中,提醒事项也得到了有史以来最重大的更新,加入了智能列表、自然语言识别诸多新特性。在本文中,我也将以 iOS 13 为基础介绍提醒事项的优势,帮助你在正式版发布后快速上手。
让我们从智能列表说起,iOS 13 的提醒事项加入了今天、计划、全部和旗标四个任务筛选维度,将任务按提醒日期、重要程度等分类。此外,提醒事项还支持创建子列表和子任务,通过简单的拖拽手势即可高效归纳日程。
iOS 13 的提醒事项还在键盘上方为我们安置了快捷工具栏,可以一键设置提醒日期、位置、旗标和图片附件等,不用手动点选或跳转至其它 App。此外,iOS 13 的提醒事项还支持简单的自然语言识别,如「明天上午 9 点」等,可以通过键盘选字栏填充。
使用提醒事项安排任务还有一项好处,那就是关联手机联系人,并获得智能提醒。你可以在任务详细信息设置页添加指定联系人,并在与 TA 通过短信或 iMessage 联系时收到通知提醒,不再遗忘任务。
关联阅读:
播客
随着时代的变迁,听播客这一小众的习惯也逐步走向大众视野。如果你还不确定要买 Pocket Casts 还是 Castro,不妨先试试 iOS 自带的播客 App。它支持调整播放速度、插播、待播、新单集提醒等功能,设计语言与 iOS 高度一致,简洁易用。
依托 iTunes 商店、品类齐全的内容资源是 iOS 原生播客 App 的另一长处。它不仅汇聚了全球优秀播客资源,还支持按听众人数、出品方等分类查询,并在详情页面底部提供了相似播客推荐,寻觅新欢更容易。
关联阅读:
Safari 浏览器
尽管 iOS 无法设置默认浏览器,打开链接时始终使用 Safari,但许多用户还是会选择安装一个第三方浏览器备用。其实,掌握一定技巧后,Safari 浏览器已经能满足我们的绝大部分需求。
Safari 技巧之一,是「长按」。出于简洁考虑,Safari 将不少功能选项都藏了起来,需要通过长按来唤醒。举例来说,长按多标签页界面下方的「加号」,可以查看最近关闭的标签页;长按网页浏览工具栏上的「前进」或「后退」按钮,可以查看操作历史记录;长按「书签」按钮,可以批量添加收藏、加入阅读列表;长按「多任务」按钮,则可以关闭全部标签页或新建无痕浏览标签页。
Safari 技巧之二,是「重按」,即 3D Touch。你可以在支持阅读模式的网页中重按地址栏左侧按钮,快速进入和退出阅读模式;也可以重按任意链接,进行预览和添加至阅读列表等操作;还可以重按 Safari 浏览器的桌面图标,执行快捷操作。
Safari 技巧之三,是「分享」,这也可以说是解决 Safari 痛点的不二法门。你可以将网页分享为 PDF 以添加标注;也可以分享给第三方 App 实现长截图、翻译等功能,最大限度地弥补原生功能的不足。
关联阅读:
Android
与被苹果直辖的 iOS 系统相比,开放的 Android 各 ROM 之间差异相当大,系统自带的 App 也各不相同。在本章中,我将介绍 4 款打着 Google 标的 App,希望它们的表现能胜过 MIUI 自带的竞争对手。(笑
Gboard
由于众所周知的原因,Gboard 在云词库方面远逊于国内竞品,但我仍将其作为心目中的最佳 Android 输入法。究其原因,首先是支持数百种输入方式,包括你或许根本没听说过的阿斯图里亚斯语、巴塔克曼特宁语等当地人都不一定常用的语言;也包括全拼、九键、手写、笔画等中文模式,还提供了 6 种主流双拼方案。如果你需要多语言混合输入,Gboard 很可能是唯一选择。
Gboard 的另一优势,是与 Google 的深度整合。你可以点击键盘左上角的 Google 图标,直接搜索网页,并在键盘内获知结果,无须跳转至其它 App。同样的,你也可以在网络中搜索表情包、GIF 动图等,并一键分享至聊天工具的输入框中,发送给好友。
此外,Gboard 还提供了不少实用功能,如剪贴板管理、文本编辑工具、悬浮键盘、单手模式、Google 翻译等。你还可以在 Gboard设置中更换键盘的主题背景,让它更适合你。
关联阅读:
Google Keep
iOS 有备忘录,Android 当然要用 Google Keep。作为一款轻量级的笔记工具,它可以添加文字、图片、绘图、录音、清单和提醒,并支持语音自动转文字。与备忘录不同的是,在 Keep 中添加的图片会统一安置在笔记正文上方,不支持图文混排,但更加醒目。
除了标签外,Keep 还支持自定义笔记的背景颜色,不同类别的笔记间互不干扰,一眼扫过就能找到想要的笔记。如果你已经参考完毕,还可以通过滑动手势将其归档,或者发送至 Google 文档进行下一步处理。
关联阅读:
Google 日历
与其使用课程格子、超级课程表等第三方 App 记录上课时间,我更偏向于使用日历来管理一切。在 Android 上,Google 日历可能是最佳选择之一。它采用了标准 Material Design 设计,还会为不同月份和特殊节日展示精美插画,别有一番趣味。
新建事件时,Google 日历支持活动、提醒和目标 3 种类型,分别对应日程安排、待办事项和习惯养成,均支持多设备同步。其中,在设定目标时,Google 日历会智能建议频率、持续时间等信息,并通过提问一步步引导完成设置。
Google 相册
不论从哪个角度来看,Google 相册都称得上同类应用中的翘楚。除了基础的本地相册管理外,它还提供了高画质照片无限容量上传、(已取消)强大的照片后期编辑、影集在线分享等功能。其中,照片后期编辑允许你添加滤镜、调整曝光、对比度、饱和度、色温等,还能在应用内调用其它修图工具。
得益于 Google 雄厚的 AI 技术积累,Google 相册可以智能识别照片中的面孔、事物、地点等,个人体验准确率高于 iOS 和 Windows 10 的自动分类功能。此外,Google 相册还会智能建议你归档屏幕截图、旋转照片方向、回顾往年今日等,甚至可以自动优化带瑕疵照片。
如果你想留住回忆,不妨利用 Google 相册的内建功能创建影集、影片、动画和拼贴,上传至云端,以供随时观看。Google 相册的影集功能支持添加文字说明和地点标记,用来记日记也毫无违和感;动画和影片功能支持将多张照片组合为动图或短视频;拼贴功能则是发朋友圈或微博的好帮手。
关联阅读:
macOS
如果你经常浏览少数派,或许对 macOS 上的知名效率工具都如数家珍。其实,不少 macOS 自带应用都传承着苹果优良传统,设计精美、功能够用,我们不妨在本章认识一下其中几位。
预览
预览可能是最被低估的 macOS 原生应用之一,你或许只把它当作鸡肋的图片查看器,却忽视了其强大的编辑功能。以图片为例,预览提供了画笔、形状、文本、签名等标注工具和调整颜色曲线、曝光、对比度、饱和度等后期处理工具;如果你正在阅读 PDF,预览还允许你添加高亮、下划线、删除线等,足以应付日常所需。
预览的另一项技能,是压缩、转换和合并图片及 PDF。你可以方便地调整图片尺寸、格式,达到压缩体积的目的。借助预览,你还可以轻松拼接合并多张图片,首先用预览打开想要添加上去的图片,随后按下 ⌘Command-C
复制,接着打开背景图片,按下 ⌘Command-V
即可,还能自由调整大小、位置等。
此外,你还可以用预览编辑 GIF 动图。打开 GIF 后,其包含的帧会依序展示在左侧边栏中,可以拖拽移动顺序、删除指定帧等。同样,如果你想给 GIF 添加图片,只需要直接把它拖进来进行了,预览会自动保存更改。
关联阅读:
- 你可能不知道的预览小技巧 (1): 用预览合并多个 PDF 文件 | 一日一技
- 你可能不知道的预览小技巧 (2): 用预览合并多张图片
- 你可能不知道的预览小技巧 (3): 用预览给 GIF 删帧
- 你可能不知道的预览小技巧 (4): 全屏预览
词典
在 macOS 上查询单词释义,最简单的方式莫过于三指轻点触控板,召唤自带的词典应用。但由于词库较少、入口较隐蔽,许多人还是会选择安装欧路词典、有道词典等第三方应用。
其实,经过一番调教,macOS 原生词典 App 也可以很好用。比如饱受诟病的词库,就可以通过安装网络上的第三方词典文件来解决。以使用最广泛的 MDX 格式为例,你可以通过 GitHub 上的 PyGlossary 项目来转换为 macOS 格式;StarDict 文件则可以使用 DictUnifier 转换。完成后,将得到的词典文件移动至 /Library/Dictionaries
即可正常使用。
除了三指点击触控板外,你还可以在设置中将触发手势更改为单指用力点按,或者选中单词后右键查询,也可以通过聚焦搜索直接查询生词。当然,更直观的方法是打开词典 App,在上方的搜索框内输入单词或短语。
关联阅读:
自动操作
iOS 上有快捷指令(Shortcuts)这一自动化效率利器,macOS 上则有自动操作(Automator)发挥相似的功效。它可以帮助我们创建应用程序、工作流程、工具插件、听写命令等,通过简单的拖拽即可设计出完整的自动化流程,并保存以供日后使用。
选定要创建的脚本类型后, 你应该会看到下图所示的界面。其中,左侧是操作库,表示自动操作可以执行的命令种类;右侧是编辑区域,可以将左侧的操作拖拽组合进去,与快捷指令操作方法类似。自动操作支持包括 Shell、JavaScript、AppleScript 脚本等在内的近百种操作,还能够与第三方 App 集成。
活用自动操作,你就可以实现图床上传、解压缩、自动整理文件夹、批量重命名、提取 PDF 中文字、合并 PDF、转换图片格式、拼接截图等进阶玩法,不妨前往 少数派 Automator 标签 下了解更多。
关联阅读:
Windows 10
曾经,Windows 的自带系统应用还是被人嫌弃、被各修改版精简的存在。但在 Windows 10 发布后,基于UWP 架构的全新系统应用走入了我们的视线,其中也不乏精品,比如本章将介绍的 3 款应用。
邮件
从 Outlook 到 畅邮 折腾一圈后,我最终还是用回了 Windows 10 的原生邮件应用。要问原因,首先是颜值过关,半磨砂的流畅设计语言、可随心定制的主题颜色和布局、精美的背景图片选择等都令它从一众竞品中脱颖而出。
颜值之下,Windows 10 邮件应用的功能也令我满意。智能分类重要邮件、优雅高效的滑动手势、多账户聚合管理、与日历、人脉、待办集成,都让它成为了不输 Outlook 的邮件客户端。如果你的邮箱地址较多,还可以将主账户单独固定在「开始」菜单,即时获知新动态。
计算器
今年三月,微软宣布将 Windows 10 自带计算器开源,并将代码完整上传至了 GitHub,一时间吸引了各路开发者目光。这一项目不仅收获了近 1.8 万 star,还被移植到了 iOS、Android 等平台上,从侧面可以看出其质量之高。
那么,Windows 10 计算器究竟高在何处?除了流畅设计和精致的交互效果外,它还支持全键盘操作、科学模式、进制转换、日期推算等,并提供了货币、体积、长度、重量、温度、能量、面积、速度、时间、功率、数据、压力和角度等十余种进制转换工具。如果发布在 App Store 中,至少可以收费 30 元了。(逃
截图和草图
经过数次迭代与重构,在 Windows 10 五月版更新中,系统自带的截图功能已经成为了可与第三方应用一较高下的存在。除了基础的全屏截图、窗口截图外,Windows 10 原生截图还允许你绘制任意形状的截图区域,并占用 PrtSc
键,使用更友好。
截图完成后,自然要标注。点击截图成功的通知后,你就能够进入草图绘制窗口。微软为你准备了铅笔、记号笔、荧光笔和直尺等工具选择,虽然缺失了我们常用的形状、马赛克等工具,但应急使用还是绰绰有余的。
结语
经常上少数派的用户容易养成这样一种习惯:遇到需求,先搜索有没有合适的第三方 App,并愿意为之付费。其实,在很多情况下,系统自带的 App 已经提供了针对性的功能,而且占用内存更低、使用门槛也更简单。下次遇到这种问题,不妨试试给原生应用一次机会,让系统功能物尽其用。
Windows 10 原生搜索不好用?试试这些技巧吧
快速搜索和效率启动,是大多数用户的刚需,为此也诞生了一大波启动器应用,如 macOS 平台的 Alfred、LaunchBar,Windows 平台的 Wox、Listary 等。其实,随着 Windows 10 系统更新,时常被忽略的原生搜索功能也得到了逐步完善,不逊色于第三方工具。
在本文中,我将为大家介绍一些 Windows 10 原生搜索功能的技巧,将它打造为快速启动利器。
多种唤醒方式
要想使用 Windows 10 的搜索功能,最直观的方式,当然是点击任务栏上的「放大镜」图标,随后在搜索框中键入文字。其实,除此之外,微软还准备了数种更方便的唤醒方式,供我们随心挑选。
举例来说,如果你正在使用具有精确式触控板的笔记本电脑,可以使用三根手指点击触控板,搜索窗口便会应声而出。想了解更多关于触控板的小技巧,可以参阅我此前的 这篇文章。
如果你是键盘党,可以按下 Win-S
快捷键,等效于按下任务栏上的搜索按钮。懒得动两根手指按快捷键?直接按 Win
键召唤「开始」菜单,然后输入想要搜索的内容,再使用方向键和回车键选定结果即可。
快速搜索语法
与大多数通用搜索引擎相似,Windows 10 的原生搜索功能也支持使用语法来缩小结果范围,或实现更多功能。举例来说,你可以直接在 Windows 10 搜索框内输入数学表达式,并利用必应搜索直接获得运算结果。
如果你想搜索特定类别的项目,可以使用如下语法:docs:
匹配文档、folders:
匹配文件夹、email:
匹配电子邮件、photos:
匹配照片、music:
匹配音乐、videos:
匹配视频、web:
搜索网络、apps:
搜索本地应用等。
自定义索引范围
总是搜索不到想要的结果?这或许是因为 Windows 并未索引相应文件。让我们打开「设置-搜索」,在「搜索 Windows」板块中,将索引范围由「经典」改为「增强」,再等待 Windows 自动更新索引列表即可。如果你在索引期间使用过电脑,索引速度会减慢,推荐夜间挂机完成操作。
为了进一步提高索引准确性,不妨点击「在此自定义搜索位置」,打开索引选项窗口。你可以使用勾选框选定要索引的本地文件夹,并在高级设置中选择是否索引加密文件、文件属性和内容。
如果你的硬盘中有一些不想为人所知的文件夹,可以在「设置-搜索-搜索 Windows」中添加要排除的文件夹,Windows 索引时便会自动跳过这些项目,保护自己的隐私安全。
权限和云搜索
如果你认为自己已经不再是个宝宝,可以在「设置-搜索-权限和历史记录」中关闭「安全搜索」功能。这样,在使用 Windows 10 搜索在线网页时,部分少儿不宜的内容也会出现在结果中。(虽然必应一般也搜不出来这种东西)
Windows 10 搜索的另一大特性,则是与云端联动。举例来说,打开「Windows 云搜索」选项后,你就可以直接搜索 OneDrive 文件夹和 OneNote 笔记中的内容等,即使未同步至本地也可。此外,你也可以将本地历史记录同步至所有设备中,让搜索结果更懂你。
无法正常工作怎么办
如果你尝试了上述技巧后,还是无法正常搜索到本地硬盘中的文件,本节提供的几种方法或许会有帮助。最简单的方式,是重启电脑检查 Windows 搜索服务状态。让我们从「开始」菜单中找到并打开服务管理器,定位到 Windows Search 服务,右键选择「重新启动」即可。
若启动搜索服务后仍不正常,你可以试试重建 Windows 索引。让我们打开「控制面板-索引选项」,点击下方「高级」按钮,再选择「删除和重建索引」。由于重新索引需要耗费大量时间,建议在空闲时段操作。
被忽视的 Windows 触控板,其实可以这么好用
要问 MacBook 哪方面体验优于 Windows 笔记本,触控板绝对名列前茅,不论是系统本身优化还是硬件综合体验,MacBook 都足以干趴一大波 Windows 厂商。为了弥补这一不足,微软也进行了许多尝试,如果你只用触控板来移动光标,不妨试试本文介绍的手势,或许会有新发现。
一指禅和二指禅
优秀的交互设计应该符合用户的直觉,方便大多数初学者快速上手,触控板也不例外。单指轻扫移动光标、单指点击选择项目(等效于鼠标左键)、双指点击显示更多选项(等效于鼠标右键)、双指滑动滚动页面、双指捏合收缩和拉伸等,都是从鼠标时代就有的习惯延续,在 Windows 和 macOS 上通用,无须多言。
便捷的多窗口管理
同时打开了一堆窗口,如何才能高效管理?答案依然是神奇的触控板手势。你可以通过三指向外轻扫查看所有打开的窗口(等效于 Win-↹Tab
),并向里轻扫以回到桌面(等效于 Win-D
)。如果你想在打开的窗口间切换,可以使用三指向右或向左轻扫,等效于 Alt-↹Tab
。
虚拟桌面好搭档
在 Windows 10 中,微软还为我们带来了原生的虚拟桌面功能,便于将工作和生活应用分区,提高使用效率。尽管我们无法使用触控板快速创建新的虚拟桌面,但可以通过四指向右或向左轻扫切换已打开的虚拟桌面,等效于 Win-Ctrl-→/←
快捷键。
点一点,有惊喜
除了以上触控板手势外,多指点击也被微软赋予了不同功能。你可以用三指点击快速唤起搜索(等效于 Win-S
),并通过四指点击打开操作中心(等效于 Win-A
),至于五根手指一起上,微软似乎还没考虑过。
我的触控板咋不行
如果你的笔记本无法使用上文提到的部分手势,可能是不支持精确式触控板所致。这一概念由微软联合英特尔、Elan 和 Synaptics 三家主流供应商提出,在系统而非第三方驱动层面进行控制,支持多点触控和多种自定义选项,带来近似 macOS 的体验。
为什么早期的 Windows 需要整理碎片
不能在中文目录右键打开 Cygwin 的解决方法
Cygwin 是一个 Windows 下的 Linux POSIX 模拟器,通过它我们可以直接运行一个 Linux 终端,非常好用。
网络上关于如何添加一个 “在当前目录打开 Cygwin” 的右键菜单的教程有很多,但是这些方法都有一个问题,那就是不能在中文目录下正常工作,于是研究了一番,修复了这个问题。

探索
既然英文路径可以但中文不行,我最先想到的是使用 Cygwin 自带的 base64 命令,将 encode(path) 后的非中文字符串传给 Cygwin 之后,再 decode 得到包含中文的路径。然而不行,正确的 base64 传递到 Cygwin 之后 decode 却是乱码。
问题的原因很容易想到,那就是编码的问题。经过几次输出中间变量后验证了这个猜想:Windows 采用的是 GB2312 编码,而 Cygwin 采用的是 UTF-8. Windows 将当前路径作为参数传递给 Cygwin 主程序时,Cygwin 不能正确读取路径。
解决
修改 Windows 或者 Cygwin 的默认编码肯定是下下之策。解决该问题最终还是绕不开编码转换。我最终的思路为:
- 右键点击后,Windows 将当前路径作为参数 1 传递给 run_by_right_click.bat 入口程序
- run_by_right_click.bat 将路径写入 chere.path 文件(GB2312 编码),并运行 Cygwin
- Cygwin 运行后,将 chere.path 转换为 UTF-8 编码,读取后 cd
我的 Cygwin 安装目录为 C:\cygwin64,Shell 为 ZSH,如果你使用的是 Bash,有的地方与我的不同。具体步骤如下:
step1. 创建右键按钮
导入注册表文件 cygwin.reg:
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\Directory\Background\shell\cygwin64_bash] @="打开 Cygwin 终端" "icon"="C:\cygwin64\Cygwin.ico" [HKEY_CLASSES_ROOT\Directory\Background\shell\cygwin64_bash\command] @="C:\cygwin64\run_by_right_click.bat \"%V\""
step2. 编写入口程序
我们的入口程序 C:\cygwin64\run_by_right_click.bat
@echo off SET dir=%1 REM 双引号删除 SET dir=%dir:"=% C: chdir C:\cygwin64 rem del /Q chere.path set /p="%dir%">chere.path bin\zsh.exe -li
bat 代码是真的难写。。。写这段代码我便踩了无数的坑。
step3. 完成目录跳转
在 Cygwin 内编写 ~/.zshrc,在末尾添加目录跳转命令:
if [ -e /chere.path ];then /usr/bin/enca -L zh_CN -x utf-8 /chere.path CPWD=/usr/bin/cat /chere.path
rm /chere.path cd/bin/cygpath "$CPWD"
fi
这里用到了 enca 用于自动编码转换,所以需要在 Cygwin 包管理器中安装这个软件。
over! 现在便可以在中文文件夹中右键打开 Cygwin 了。
为啥我要用 Cygwin
最后最后。你可能会说,为啥都新世纪了,你还在用 Cygwin 这种… 模拟器?原生 Linux/ 虚拟机 不好用嘛?WSL 不香吗?甚至 Powershell 不也不错?
那我还真觉得 Cygwin 秒杀上述所有的方案。首先,我只是想在 Windows 上安装一个代替 cmd 的 Shell 环境用于日常操作,并不需要高性能什么的,所以原生 Linux 系统、虚拟机、Docker 就不是解决同一个问题的东西。
至于 Powershell,虽说是比 cmd 好多了,但毕竟是另一套语法和体系,我不想学它也对它不感兴趣。Bash+GNU tools 那才是世界通用法则。ZSH 作为日常使用的终端也确实美观好用!
而 WSL 这东西确实很吸引人,性能比 Cygwin 强太多,几乎就是原生系统。然而!WSL 运行于内核态,与 Windows 平级,就算有文件系统的映射,WSL 也并不能直接当作 Windows 的 Shell 来使用的。看下面的图你就知道我在说啥了。

图中,npm 和 git 是我在 Windows 中安装的 exe 包,而 ssh、tail、md5sum 是 Cygwin 中提供的 Linux 命令,直接相互调用无压力,这才是 Windows 中我想要的 Shell 的样子。可是 WSL 是不能这么做的,两个系统是隔开的。
利用PowerToys在Windows下实现窗口快速“上下分屏”
Windows虽名叫“窗子”。
可它默认的“窗口分屏”功能却简陋到了异常:
- 将窗口拖到屏幕的左右边缘,只能实现最基本的左右二分屏;
- 屏幕的下边缘由于被任务栏占据,将窗口拖到这里不会触发任何分屏动作,直接浪费一个触发区;
- 而“窗口拖到屏幕上边缘”的动作,已经默认被用于触发“窗口最大化”,又浪费了一个触发区。
——Windows也因此完全没法实现一步“上下二分屏”。
——而三分屏乃至各种花式分屏,属于想都别想。
——因为就连基本的四分屏,都必须借助 Win+方向键
的快捷键才能实现。
在小屏幕+横屏下使用尚能凑合。
可对于带鱼屏/大屏用户,乃至竖了一块24寸屏幕当作副屏的我而言——
仅仅是在竖屏下进行一次“上下分屏”,都需要整整四步+两次快捷键+一次手动调整窗口尺寸的“曲线救国”:
- 将想要分屏的窗口拖到目标屏幕;
- 选中窗口,
win+←
快捷键将窗口分为半屏; - 继续选中窗口,
win+↑
将窗口进一步分为1/4屏; - 拖动窗口右边缘,手动调整大小,直到铺满上半块屏幕。
——这已经完全没法用了。
来自巨硬带着爱
既然系统自带不给力,那就得靠万能的第三方想想办法。
——子曰:“你已经是个成年人了,该学会自己装软件了。”
在试用了一大堆分屏软件后,我最终选择了PowerToys,原因无他:
- 界面美观;
- 配置简单;
- 自定义项丰富;
- 更能无缝整合进Windows,只因它”根苗正红“的“田牌”血统。
——是的,你没看错。
点进软件的Gayhub主页,开发者的名字竟神TM写着“Microsoft”。
来自巨硬带着爱。
——这是一款由微软亲自部署,亲自开发的”合集“性质软件,作用是扩展自家系统的高级功能。
且扩展的功能远不止一个“分屏”,堪称丰富:
- FancyZones / 更强大的屏幕分屏;
- File Explorer Add-ons (Preview Panes) / 让资源管理器支持更多文件的预览(如Markdown);
- Keyboard Manager / 重新分配并自定义windows的默认快捷键;
- PowerRename / 让资源管理器拥有强大的批量重命名功能(支持正则表达式);
- PowerToys Run / 开启一个类似水果Spotlight的快速搜索框;
- Shortcut Guide / 长按win键,以显示当前窗口支持的快捷键列表。
“WTF????”
合着巨硬也TND知道自己那破“窗子”功能残缺,甚至自己做了个合集工具来补全。
还开源在了Gayhub——
——而不是通过Windows更新,直接把这些功能整合进系统??
——成年人如我,面对如此风骚操作,也不得不一脸懵逼。
PowerToys的分屏教程
正文开始之前必须提醒:
- 软件目前只有英文。
- 本文将着重介绍软件内的 “FancyZones / 分屏” 功能。
- 本文将提供“FancyZones / 分屏”功能的部分翻译,并提供育儿级的配置教程。
如果你对软件的其他功能感兴趣,又看不懂鸟语,请参考/对照这篇文章提供的UI翻译,摸索使用。
基础设置
在项目页面下载并安装PowerToys。
打开软件的第一页,这里有每一项扩展功能的总开关。
如果你只需要分屏功能(FancyZones ),那最好将Available PowerToys
下不需要的功能全部关闭。
往下滚动会看到General
项,翻译如图:
推荐照图配置,完成配置后点击右上角的Save
保存。
完成基础设置后,点击左侧列表的FancyZones
,进入分屏功能的相关设置。
分屏设置
FancyZones
的重点功能翻译如图:
推荐照图配置(全部关闭),完成配置后点击右上角的Save
保存。
部分功能请根据自身习惯,酌情开启。
编辑分屏区块
完成以上设置后,回到这一页的顶部。
点击Edit zones
,打开“分屏区块编辑器”窗口配置你的分屏方式,翻译如下:
注意:
- 如果你是多屏用户,这一步请将PowerToys的窗口,拖到你想让PowerToys接管分屏的那块屏幕上,再点击
Edit zones
,这样才能为每块屏幕进行分别的设置。
软件默认提供了五种窗口排列模式。
根据你的自身需求选择,点击Apply
保存即可开始使用。
效果如图:
而PowerToys为每一块屏幕都提供了最多40个的分屏区块:
即是说——
——只要你的屏幕够大,你甚至可以分屏数框框:
哪怕你对自带的窗口排列方案不满意。
也可以进入“分屏区块编辑器”,点击左下角的Edit selected lgyout
进行自定义布局。
就像这样:
可以自由调整每个区块的大小,以及添加/删除区块。
保存即可开始使用。
这里就请各位按照需求,自由发挥了。
PowerToys的分屏教程至此结束。
尾巴
双屏下的使用示例
以我个人为例,需求如下:
- 作为主屏幕的32寸横屏,保持windows的默认分屏方式;
- 只在24寸的竖屏上,使用PowerToys实现“上下分屏”。
所以我在32寸的主显示器上,进行了如下配置:
- 将分屏的区块数调至最小的“1”;
- 窗口排列方式选择“Focus”;
- 接着进入自定义布局;
- 删除仅剩的那个分屏窗口;
- 保存这个自定义配置。
这样在32寸的主屏上拖拽窗口,将不会调用PowerToys分屏,而是windows默认。
至于24寸的副屏,则直接以默认的“Rows”排列方式建立了“上下三分屏”。
最终效果如图:
拖动窗口进目标屏幕即可触发分屏。
而这个“上下三分屏”,实际也并不是单纯的分三个屏幕——
——当你将窗口拖到两个分屏区块之间时,会合并两个区块形成一个2/3屏的大窗口,变成一大一小的上下二分屏。
- 2/3的高度正合适浏览网页;
- 1/3的高度则正合适播放器。
而当进行多窗口的细碎任务时,自然也能进行三分屏。
这个意料之外的功能不仅令人惊喜,更实用到了异常。
——而触发这一切,只需要简单的动动鼠标,一气呵成!
这一刻,我不由得湿了,
眼眶。
- 回想我此前使用bug10自带分屏,反复按快捷键并配合鼠标拖拽才终于实现仅仅一个窗口分屏的操蛋体验;
- 回想我此前试用了一大堆分屏软件,不是ui丑陋,就是触发费劲,堪称一个比一个烂的坑爹设计。
——谁能想到,最终完美解决Windows下竖屏“上下分屏”难题的,居然是Microsoft自身。
只有魔法才能击败魔法。
——也只有巨硬才能完善巨硬本身。
而PowerToys项目附带的功能,早已包括但不限于“分屏”。
引用wiki,项目的定义如下:
Microsoft PowerToys是一组免费的系统工具软件,由微软为Windows操作系统上的高级用户设计。
这些程序为了使生产力达到最高,加入或变更了一些功能,或加入更多自定义选项。
希望未来某天。
PowerToys项目里的实用功能稳定完善,并最终内置进bug10。
毕竟比起印度咖喱翻来覆去为了KPI瞎几把魔改UI,这些真正提高工作效率和使用体验的东西,才是Windows迫切需要的“更新”。
倒杯凉水,坐和放宽。
近期完成了桌面硬件升级的我,现在终于完成了软件上的进化。
——完美解决双屏下分屏难的痛点。
看着屏幕里纸片美少女几乎“等身大”1:1的紧致大腿与丰满胸部。
——不由得嘴角上扬。
“啊!爽到!”
关于桌面硬件”升级“的东西,近期会单独写几篇东西骂街。