首先,Raycast是什么?
Raycast是一个macOS上的快速启动器应用,由Raycast Technologies开发,启发于mac系统自带的启动器Spotlight,但是功能远比它的前辈丰富
我们可以通过纯键盘操作,直接在Raycast输入框中调用各种各样的功能,包括但不限于:
- 一键访问常用网址链接
- 运行自定义脚本
- 快速复制粘贴常用文本
- 检索Clipboard粘贴板
同时,Raycast还支持自定义快捷键绑定不同操作,让上述的功能调用变得更加便捷
名称解释
Raycast这个名字可以分成两部分来理解:
- ray:射线,光束;通常我们常听到的x射线的英文名就是x-ray
- cast:召唤,投掷;Zeus can cast thunder(宙斯神可以召唤雷电)
连在一起的Raycast就是“射线召唤器”,很中二,也符合它作为提效工具的本质
下载启动
-
支持通过Homebrew安装,也可前往官网直接下载安装包:www.raycast.com/,系统版本要求:macOS 12+
-
默认启动快捷键为:
Option + Space
核心功能
1. Quicklink: 快速启动链接
1.1 通过别名快速查找+访问常用网址
工作中总会有那么几个需要经常用的网页,通常我们可以将这些链接收藏在浏览器的书签中方便下次访问,但是收藏的书签多了再去查找也很麻烦
而且就算有了书签,有时因为页面的交互逻辑,还需要手动执行多次点击链接等操作才能看到想要的内容,实际上很多时候我们只要改下URL中的参数就能到达目标网页,而Raycast的Quicklink功能可以有效解决这个问题
使用方法如下:
- 首先通过
Create quicklink创建一个Quicklink - 再将需要常访问的链接保存到Link属性中
- 然后设置一个别名:Name
- 点击
Save quicklink完成 - 再次访问时就不需要专门到打开浏览器里去点击书签,直接在Raycast中搜索别名检索,然后按下Enter键就可在浏览器中打开链接
Quicklink还支持设置打开链接的浏览器,不改动就使用默认浏览器
1.2 对访问链接设置动态参数
有时我们可能需要访问同个网页的不同分支页面,这些页面的URL基本相同只是部分参数有区别,这种情况下再去创建多个Quicklink就显得有些没必要,我们可以使用Quicklink的参数功能在每次访问时手动输入参数来动态地更新链接
比如,现在我们要访问一个后台日志的网站,它通过URL中的env参数分别区分不同环境
那么我们创建Quicklink时可以只创建一个对象,在link属性中通过花括号插入env参数即可
Quicklink的动态参数还支持设置默认值:{argument:defaultVal}
1.3 在其他应用中访问URL
Quicklink不仅可以在浏览器中打开URL,还能通过Open With属性指定打开URL的应用实现更多操作,如:在预览中打开本地PDF
2. Snippet: 快速文本生成器
除了经常访问的链接,我们工作中需要重复输入的文本也不少,比如经常访问的域名,复制粘贴的代码块,相似的git commit命令等等,与其每次都花时间自己手动输入重复文本,不如尝试用Raycast的Snippet功能来替我们自动完成
在Raycast中创建Snippet的步骤如下:
- 选中
Create Snippet打开创建界面 - 像之前
Quicklink一样设置一个别名Name - 把需要重复输入的文本加入到
Snippet一栏 - 设置一个
Keyword如!hh或者^hh,这样在任意位置输入Keyword组合键,它都会自动展开变成Snippet中的文本
和Quicklink一样,Snippet同样支持设置参数, 还可以插入日期,设置鼠标光标输入位置等等功能
我个人常用的一个Snippet功能就是用它代替git命令, 一般push代码到GitHub上之前总避免不了这三个命令
git add .
git commit -m 'feat: ###'
git push
其实没必要每次都完整地输入这三行代码,我们可以把这三个git命令通过&&合并到一行,然后在Snippet中设置一个msg参数,需要commit和push的时候根据设置好的Keyword输入!gcm即可
git add . && git commit -m "feat: {argument name="msg"}" && git push
3. Script Command: 一键脚本
纯文本很明显不能满足研发工作中的全部需求,有时候我们需要写脚本来执行更复杂的逻辑,Raycast同样可以帮我们实现这一目标,Script Command可以创建一键脚本
- 搜索
Create Script command创建脚本 - 进入创建脚本页面
Template中可以选择脚本语言:包括Bash, Swift, Python,Node.js等Mode用来设置运行脚本在Raycast中的结果窗口展示方式Title代表脚本别名,很关键,决定了如何在Raycast输入框中检索脚本- 勾选
With argument选项,可以在运行脚本时传入参数
- 点击
Create Script后会在本地生成对应脚本,之后我们就可以用IDE来进行编辑,初次生成的脚本内容如下所示,步骤2中的参数均可以修改
#!/bin/bash
# Required parameters:
# @raycast.schemaVersion 1
# @raycast.title MyScript
# @raycast.mode fullOutput
# Optional parameters:
# @raycast.icon 🤖
# @raycast.argument1 { "type": "text", "placeholder": "Placeholder" }
# @raycast.packageName DevPackage
# Documentation:
# @raycast.description First Raycast Script
# @raycast.author tztztz
# @raycast.authorURL https://raycast.com/tztztz
echo "Hello World! Argument1 value: "$1""
- 再次打开Raycast输入刚刚定义的
Title脚本名称进行检索,按Enter键运行脚本
个人对Script command的应用:通过shell脚本生成最近15min的日志系统链接,并且自动在浏览器中打开
- 由于日志系统的时间参数需要传入两个参数值:
start_time和end_time,并且只支持timestamp,相比起Quicklink,这里用脚本计算时间后生成日志链接打开更加方便
# Calculate timestamps in milliseconds
current=$(date +%s%3N)
fifteen_min_ago=$((current - 900000))
# Get the first command line argument ($1), which corresponds to process.argv.slice(2)[0] in Node.js
region=$1
# Generate the URL
url="https://web-project.com/log?limit=500&start_time=${fifteen_min_ago}&end_time=${current}"
# Output the URL
echo "Generated URL: $url"
# Open the URL in the default browser
# For macOS:
open "$url"
4. 快捷键设置
快捷键设置是Raycast的提效核心,Raycast本身也是靠快捷键来启动的: Option + Space
通过快捷键组合,本来需要多次交互才能实现的操作现在通过一次按键就能完成
前面提到的Quicklink, Script Command功能都支持设置快捷键,做到无需打开Raycast就能执行
4.1 Quicklink快捷键应用
我们可以将Quicklink与常用的搜索引擎URL相互结合,这样需要进行搜索时无需手动打开网站,一个快捷键即可随时随地进行搜索操作
具体实现步骤如下:
-
打开Raycast设置界面(
Cmd + ,),选中Extenstions/Quicklinks -
在界面右侧的
Quick Search中,勾选Pass selected text as argument选项- 这样每次使用快捷键调用
Quicklink时,Raycast就会将选中的文字自动用做Quicklink的参数
- 这样每次使用快捷键调用
-
为
Search Google设置快键键: 选中Record Hotkey再在键盘上按下Cmd + Shift + G- 这里不一定要选Google,可以改成任何你想用的搜索引擎,比如百度,必应,快捷键组合也可以自定义
https://www.baidu.com/s?&wd={word} https://www.bing.com/search?q={query} -
设置完成!试试选中任何文字后再按
Cmd + Shift + G,搜索页面会自动在浏览器中打开,丝滑无比
4.2 Script Command脚本快捷键应用
之前提到的日志脚本,通过Script Command创建完之后需要打开Raycast然后输入脚本名检索,然后才能运行
通过设置快捷键,我们只要按下^ + Option + D就能一步完成自动运行~
5. Calculator: 多功能计算器
Raycast自带的输入框计算器功能极为强大,除了支持基础的加减乘除,还提供很多其他有用的功能,如时区,汇率,计量单位的换算
5.1 加减乘除
5.2 不同时区时间转换:如当前东京地区的时间
5.3 货币汇率: 如以太坊经典人民币汇率
5.4 计量单位转换:如1磅等于多少kg?
5.5 日期倒计时: 距离下一个假期还有...
6. Clipboard History: 访问剪贴板历史
工作中需要进行多个不同文本的复制操作时,反复选中然后Ctrl+C/Ctrl+V真的很恶心,好在有Clipboard Histroy可以看到过往的复制对象,按下Enter键即可一键复制
别忘了我们还有Snippet功能,可以在Clipboard Histroy这里直接将常用的文本转换成Snippet方便后续继续使用
7. Search screenshots: 访问截屏历史
Mac截屏工具固然好用,但是截屏多了在Finder中查找过往截屏也很让人头疼,Raycast同样可以帮我们解决这个问题
通过Search screenshots即可在Raycast窗口中一目了然看到当前所有截屏的缩略图,也支持按下Enter键进行一键复制
8. Window Management: 窗口管理
轻松改变当前窗口大小,实现一键分屏,功能包括但不限于:
Left Half/Right Half/Top Half/Bottom Half: 左半/右半/上半/下半
Maximize/Almsot Maximize/Maximize Width/Maximize Height: 全屏/伪全屏/全宽/全高
- 还有很多其他的窗口管理功能,比如左上1/4,1/6,不一一列举了
个人比较常用的是全屏,左半和右半这三个功能,配置上对应的快捷键,需要时一键即可进行分屏
- 全屏:
Option + Cmd + M - 左半:
Option + Cmd + ← - 右半:
Option + Cmd + →
9. Confetti: 屏幕礼花
Confetti是Raycast提供的一个有趣的娱乐功能,能在屏幕上播放礼花动画,支持通过内置Deeplink来运行
同样支持设置快捷键,试试设置完成后连续按下快捷键,满屏都是礼花颇为壮观
我开发时会将confetti的deeplink加入到post-commit的Git钩子中,这样每次完成commit都会播放一次礼花动画,为自己的每一份小成就喝彩也很有意义
#!/bin/sh
open raycast://extensions/raycast/raycast/confetti
插件推荐
除了上面分享过的功能,Raycast还有一个丰富的插件生态系统来进一步提升其可用性,以下为我个人常用的优秀插件推荐
1. Kill Process: 一键关闭进程
显示后台所有运行的进程列表,包括进程CPU和内存的占用比例,按Enter键即可Kill进程,不需要再点点点去找任务管理器了
2. Visual Studio Code
VSCode编辑器的专属插件,功能包括:
2.1 展示最近运行过的项目列表
支持查找在VSCode中打开过的项目,同样按Enter键直接在VS Code中打开
2.2 管理VS Code插件
无需打开VS Code即可搜索并安装插件,还可查看IDE当前已安装的插件并执行卸载操作
Show Installed ExtensionsInstall Extension
- 可以给
Open with Visual Studio Code设置快捷键:Option + Cmd + V,将选中文件直接在VSCode中打开
3. ray.so: 一键生成代码块
优美的代码当然需要优美的包装,ray.so可以直接将选中的代码转换成有窗口背景的代码图片,支持自定义窗口背景和主题颜色,
4. Color Picker: 一键获取hex color code
前端开发必备!通过鼠标点击需要识别颜色的区域即可获取对应color code,Color Picker可以直接识别颜色并将color code复制到粘贴板上
5. Honorable Mention - Year in Progress: 年进度
顾名思义,展示今年的进度条,可以在Raycast窗口和Mac菜单栏上显示年进度
由Raycast CEO: Thomas Paul Mann开发,Thomas本人也在使用
总结
在当今快节奏的工作环境中,效率是成功的关键。Raycast的功能逻辑虽然简单,却能极大地加速我们的日常工作
想象一下,那些原本需要多次点击才能完成的任务,现在按下一个组合键,只需不到一秒钟即可完成。这种转变不仅仅是操作上的便利,更是时间管理上的巨大飞跃
单次操作节省的时间看似微不足道,但当这些操作累积到成百上千次时,Raycast所节省的时间就变得非常可观
通过减少在繁琐任务上的时间消耗,我们能够将更多的精力投入到真正有价值的工作中
Raycast可以帮助我们重塑工作方式,让我们能够更聪明而不是更辛苦地工作。无论是个人还是团队,都能从中受益。它是一个值得每个人尝试的工具