The Complete Backend Engineer The Complete Backend Engineer
首页
  • Java基础

    • JavaScript
  • Java并发编程

    • 《JavaScript教程》
    • 浅谈Java并发安全发布技术
    • 浅谈Java线程池中拒绝策略与流控的艺术
    • 深入源码解析synchronized关键字
    • 浅谈Java并发编程中断的哲学
    • 深入理解Java中的final关键字
    • 深入剖析Java并发编程中的死锁问题
    • 浅谈池化技术的优雅关闭
    • synchronized关键字使用指南
    • 浅谈并发编程等待通知模型
    • 浅谈传统并发编程的优化思路
    • JS设计模式总结
  • JVM相关

    • 从零开始理解JVM的JIT编译机制
    • 简明的Arthas配置及基础运维教程
    • 基于Arthas Idea的JVM故障排查与指令生成
    • 基于arthas量化监控诊断java应用方法论与实践
    • 深入剖析arthas技术原理
  • 计算机组成原理

    • 浅谈CPU流水线的艺术
  • 操作系统

    • Linux性能问题排查最佳实践
    • Linux上IO性能问题的故障排除实践
    • 浅谈Linux权限管理
    • 从操作系统底层浅谈程序栈的高效性
  • CSS
  • 实用技巧与配置

    • Mac常用快捷键与效率插件指南
  • CSS
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

sharkchili

计算机禅修者
首页
  • Java基础

    • JavaScript
  • Java并发编程

    • 《JavaScript教程》
    • 浅谈Java并发安全发布技术
    • 浅谈Java线程池中拒绝策略与流控的艺术
    • 深入源码解析synchronized关键字
    • 浅谈Java并发编程中断的哲学
    • 深入理解Java中的final关键字
    • 深入剖析Java并发编程中的死锁问题
    • 浅谈池化技术的优雅关闭
    • synchronized关键字使用指南
    • 浅谈并发编程等待通知模型
    • 浅谈传统并发编程的优化思路
    • JS设计模式总结
  • JVM相关

    • 从零开始理解JVM的JIT编译机制
    • 简明的Arthas配置及基础运维教程
    • 基于Arthas Idea的JVM故障排查与指令生成
    • 基于arthas量化监控诊断java应用方法论与实践
    • 深入剖析arthas技术原理
  • 计算机组成原理

    • 浅谈CPU流水线的艺术
  • 操作系统

    • Linux性能问题排查最佳实践
    • Linux上IO性能问题的故障排除实践
    • 浅谈Linux权限管理
    • 从操作系统底层浅谈程序栈的高效性
  • CSS
  • 实用技巧与配置

    • Mac常用快捷键与效率插件指南
  • CSS
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 思考

  • 实用技巧

    • Mac常用快捷键与效率插件指南
      • 写在文章开头
      • 详解mac快捷基本配置调整
        • F1~F12功能键标准化配置
        • 键盘键位适配与调整
        • F19虚拟功能键配置
        • 输入法切换配置与输入法配置
      • 详解mac基本快捷键的使用
        • 聚焦搜索
        • 文件与文本的复制剪切操作
        • 应用程序窗口管理与alt-tab插件
        • 终端快捷操作指南
        • 浏览器常用快捷键
        • 文本编辑器常用快捷键
        • Finder文件管理快捷键与qspace
        • 基本文件操作快捷键
        • 文件路径快速复制
        • 终端环境快捷配置
        • 系统锁屏快捷键
        • 系统截图快捷键
      • 基于espanso实现文本扩展
      • 第三方应用启动器配置
      • 小结
      • 参考
    • 一行代码“黑”掉任意网站
  • 友情链接
  • 更多
  • 实用技巧
sharkchili
2025-11-17
目录

Mac常用快捷键与效率插件指南

# 写在文章开头

macOS无论是使用理念还是配置上都和win有所区别,而本文将针对macOS一些快捷键的配置和实用插件使用进行详细的说明和演示,希望对你有帮助。

你好,我是 SharkChili ,禅与计算机程序设计艺术布道者,希望我的理念对您有所启发。

📝 我的公众号:写代码的SharkChili
在这里,我会分享技术干货、编程思考与开源项目实践。

🚀 我的开源项目:mini-redis
一个用于教学理解的 Redis 精简实现,欢迎 Star & Contribute:
https://github.com/shark-ctrl/mini-redis (opens new window)

👥 欢迎加入读者群
关注公众号,回复 【加群】 即可获取联系方式,期待与你交流技术、共同成长!

# 详解mac快捷基本配置调整

# F1~F12功能键标准化配置

默认情况下,mac book对应的F1~F12对应的是灯光、音量等操作的调整,作为开发我们常见的快捷操作都依赖于这些键位(如F5刷新、F12开发者工具等),所以我们需要将其设置为标准功能,而要想执行特殊功能(如调节音量、亮度)则需要配合fn键位。所以在正式演示macOS快捷操作之前,我们需要先针对F1~F12进行配置调整。

对此我们需要打开系统设置->键盘,然后选择"功能键"选项进行键盘基本配置:

对应的我们找到功能键,将下图选项勾选,此时对应的F1~F12对应的就是标准功能,而特殊功能则需要配合fn键才能使用:

# 键盘键位适配与调整

我们先来说说内置键盘的调整,与win系统不同的是mac os输入法快捷键为ctrl+空格,在内置键盘布局上ctrl卡在fn键右边,这使得切换的时候位置控制的不是很精准,所以笔者拿到最新的macos的时候,都会将fn和ctrl键功能进行互换。对应的设置步骤为:

  1. 打开系统设置
  2. 找到键盘设置
  3. 通过Karabiner-Elements将fn键和control键的功能互换

默认情况下,市面上大部分外接键盘都以win系统的键位进行摆放,所以为了保证键位的一致性,将外接键盘接入mac之后,我们还是需要针对这些键盘的键位做出调整才能保证功能键的适配,我们从功能的角度出发,对应win和mac系统键位的映射关系为:

  1. 对应mac上的⌥键本质就是win的alt键
  2. 对应mac上的⌘键本质就是win的win键

结合键盘的布局不难看出,两者键盘上的区别无非是这两个键位的位置颠倒了而已,所以我们可以通过Karabiner-Elements将win键盘的布局改为mac的即可,所以对应的调整思路为:

  1. 将win键盘alt键映射为mac的⌘键
  2. 将win上的win键映射为mac的⌥键

有了这个思路之后,我们打开键盘快捷键配置选项通过usb key board选项这对外接键盘进行直接调整:

将Command键与option键位映射直接调整后即可实现外接键盘与macos系统键位兼容:

除了上述配置键盘快捷键的方式以外,笔者参考网上资料了解到一款名为Karabiner-Elements的插件,对应的安装指令如下:

brew install --cask karabiner-elements
1

在按照提示完成必要的安装之后,首次启动Karabiner-Elements时需要在系统设置中授予辅助功能权限。安装完成后,我们就可以呼出Karabiner-Elements对应的Simple Modifications选项设置键盘快捷键映射(需要补充说明一点,Karabiner-Elements安装后会覆盖原有系统设置的快捷键映射,所以读者如果使用Karabiner-Elements那就将键盘映射配置全部委托给Karabiner-Elements),将fn和control键位置进行交换,方便后续快捷键的快速切换(快捷键切换用的是control+空格):

同理为了让外接键盘和mac 自带键盘保持一致,笔者也将左边的⌥和⌘键位置进行交换,同时让右边的alt键变为⌘键:

# F19虚拟功能键配置

F19并非一个实际的物理快捷键,它是由多个组合键(⌘+control+⌥+shift)组合构成的一个虚拟功能键,设计目的是为了避免与其他按键冲突。通过构建出这种快捷键,我们可以衍生出更多的快捷键组合方案,特别适合用于自定义全局快捷键。

对应的配置步骤为:

  1. 打开Karabiner-Elements,选择complex modifications,选择add predefined rule
  2. 选择 change caps_lock to ⌘+control+⌥+shift让内置的F19键配置生效
  3. 步骤2配置生效之后,如果需要将右⌘键映射为F19键,可以点击edit修改配置:

注意:在Karabiner-Elements的Complex Modifications中启用规则后,可能需要点击"Reload"按钮使配置生效。如果配置后右⌘键没有响应,可以检查Karabiner-Elements的状态图标是否为绿色。

对应完整配置信息配置如下图:

{
    "manipulators": [
        {
            "description": "Change right_⌘ to ⌘+control+⌥+shift.",
            "from": {
                "key_code": "right_⌘",
                "modifiers": { "optional": ["any"] }
            },
            "to": [
                {
                    "key_code": "left_shift",
                    "modifiers": ["left_⌘", "left_control", "left_⌥"]
                }
            ],
            "to_if_alone": [{ "key_code": "f19" }],
            "type": "basic"
        }
    ]
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

对应F19配置配可参考:https://bbs.huaweicloud.com/blogs/421390 (opens new window)

# 输入法切换配置与输入法配置

默认情况下,我们使用快捷键执行输入法切换的时候就会出现输入法下图所示的切换提示:

但是在笔者长期使用mac os的来说,有时该输入法会偶发出现不提示,这使得我们在进行输入法切换时不得不关注一下左上角的输入法切换logo,对于该问题笔者查阅网上相关资料终于发现了问题。

在mac os系统下,默认会内置一个cursoruiviewservice提示光标段,当切换输入法不键入任何内容时会偶发出现卡顿无响应,进而导致输入法提示标识不出现:

cursoruiviewservice 是显示新文本字段光标的进程。这是当您打开 Caps Lock 或当前输入语言指示器时出现的微小向上箭头图标。用户表示,此过程有时会消耗大量 CPU 和 RAM 内存并且变得无响应。当使用 Caps Lock 键或仅选中文本字段而不键入任何内容时,可能会发生这种情况。

修复 cursoruiviewservice 滞后的最简单方法是使用 Terminal 禁用该进程

所以对应的解决方法也很简单,一旦出现上述情况,我们直接打开mac内置的活动监视器将其强制杀死即可。

考虑到macOS默认输入法对于词库管理的欠缺,为了提升编码和日常码文的效率,笔者这里推荐读者安装如下两个插件:

  1. 搜狗输入法切换助手
  2. 搜狗输入法

然后选择搜狗输入法切换输入法配置默认输入法,同时将一些常用的编码工具设置为默认英文确保打开IDE即可直接开始编码工作减少输入法校验这一步,从而提升日常工作的效率:

# 详解mac基本快捷键的使用

# 聚焦搜索

对应mac而言,⌘(以下缩写为cmd)配合其他键位构建出无数的快捷指令,我们可以将其类比为windows中的ctrl键。

mac的理念是尽可能对用户屏蔽细节,让用户更专注于自己要关注的事情,例如文件搜索,在mac系统下,它弱化了文件分区分类,所以我们很少像使用Windows逻辑盘符那样去定位文件。一般情况下,我们都是通过聚焦搜索的方式进行文件或者程序定位。

例如笔者现在希望定位到之前关于maven安装的文档,此时我们就可以直接通过⌘+space也就是空格键将其呼出:

然后在聚焦搜索栏中输入自己要定位的文件或者程序,以笔者为例,对应搜索的就是unix系下的maven安装文档,直接输入文件名,即可直接快速定位到该文件:

# 文件与文本的复制剪切操作

复制粘贴功能是大部分Windows用户转mac后最头痛的一点,实际上理解了mac os的使用理念之后,复制粘贴功能也会使用的很顺手,上文说过mac系统下的cmd可以类比于windows下的ctrl,所以对于常见的文字的复制和粘贴也可以等价的使用⌘+c和⌘+v,这里笔者就不多做赘述了。

这里我们着重说明一下剪切功能,在windows操作系统下,无论是文字还是文件,剪切和粘贴对应的步骤都是:

  1. ctrl+x选择要剪切的文件
  2. ctrl+v直接粘贴文件,旧有文件夹文件消失

在mac系统下,文字的剪切和粘贴是可以通过这种方式完成剪切和粘贴的,但是对于文件而言就需要特殊处理一下了,在mac系统的理念下,文件的剪切不过是一种特殊的粘贴,所以对于粘贴也应该是一种特殊的快捷键,整体步骤为:

  1. ⌘+c复制文件
  2. ⌘+⌥+v以粘贴的姿态将文件剪切移动到目标文件夹

当然,这种操作也是可以撤销的,和windows一样,mac的撤销操作是等价的⌘+z完成的。

# 应用程序窗口管理与alt-tab插件

与widnow直接点击x不同,mac对于进程的关闭有着不同的理解,对于mac系统而言,关闭有着3种姿态:

  1. 关闭窗口标签页
  2. 最小化窗口
  3. 关闭进程

我们先来说说关闭窗口标签页这个操作,对应safari或者访达的多标签页来说,点击⌘+w就会将当前的标签页关闭,对于这个键位mac本质上也做了语义化的处理,即可⌘+w命令操作窗口,所以对于该操作如果需要恢复窗口则需要重新打开。

而对应最小化窗口则是将当前程序直接挂到dock程序坞下,即键入⌘+m可以理解为通过命令将程序最小化minimize,所以对于最小化的程序直接通过dock打开即可直接继续使用了。

最后一种也就是我们的关闭程序了,直接执行⌘+q即通过命令退出quit进程,这也就是我们常说的退出进程了。

对于进程的切换,和windows一样不同的进程mac也是通过⌘+tab切换,对于相同的进程,例如笔者打开两个idea希望在两个idea中切换,mac上支持通过`⌘+完成同一个进程来回切换。

需要补充说明的是,与Windows系统有所不同,mac os的⌘+tab切换存在如下局限性:

  1. 对于最小化的进程,即使⌘+tab可以看到,也无法将其打开
  2. ⌘+tab无法显示线程执行详情,如下图:

  1. ⌘+tab无法切换多开应用,例如我们打开两个idea,⌘+tab就无法做到在两个idea之间切换

所以,笔者建议初次拿到mac系统的用户安装一个窗口管理工具alt-tab,这款开源工具将Windows上高效的Alt+Tab体验完美移植到macOS,对应homebrew安装指令如下:

brew install --cask alt-tab
1

完成后,打开工具选择控制,将快捷键1改为⌘+tab替代mac os原生窗口管理:

然后选择外观,将窗口显示样式改为缩略图,可以明确感知当前进程处于最小化窗口还是后台挂起状态,自此我们就可以愉快的使用这款强大的窗口管理工具了:

# 终端快捷操作指南

mac的理念是通过组合键的方式执行不同的指令从而减少键帽的数量从而保持键盘的简洁,这也是一种少即是多的哲学,所以对于terminal而言它并没有像windows系统那样通过home和end执行指令首位跳转,取而代之的如下几种组合:

  1. 移动光标至行首和行尾:对应ctrl+a/e
  2. 向左或者向右移动一个单词:esc +b/f,这里对应的b和f我们可以直接理解为back和forword
  3. 删除光标前一个单词:ctrl+w
  4. 查看终端的上一条指令和下一条指令:ctrl+p/n,这里我们可以直接理解为pageup和pagedown

macos默认情况下的terminal左右单词跳转快捷键比较反人类,初次设置时我们可以进行相应的调整适配通用的快捷键即⌥+左/右,对应的设置步骤为:

  1. 打开 Terminal > 设置 > 描述文件 > 键盘
  2. 勾选 "将 Option 键用作 Meta 键"

同理,有使用scrt的读者也可以通过类似的操作完成设置,只不过默认情况下scrt的快捷键仅针对当前session有效,设置步骤稍微麻烦一点:

# 浏览器常用快捷键

作为开发者,我们经常需要在浏览器中进行调试和测试。以下是在Safari、Chrome、Firefox等主流浏览器中通用的快捷键:

  1. 标签页管理:

    • ⌘ + T - 打开新标签页
    • ⌘ + W - 关闭当前标签页
    • ⇧ + ⌘ + T - 重新打开最近关闭的标签页
    • ⌘ + ⇧ + ]/ [ - 切换到下一个/上一个标签页
    • ⌘ + 数字键 - 切换到指定位置的标签页(1-9)
  2. 窗口管理:

    • ⌘ + N - 打开新窗口
    • ⌘ + M - 最小化窗口
    • ⌘ + H - 隐藏浏览器窗口
  3. 导航操作:

    • ⌘ + L - 定位到地址栏
    • ⌘ + R - 刷新页面
    • ⇧ + ⌘ + R - 强制刷新页面(忽略缓存)
    • ⌘ + [ - 返回上一页
    • ⌘ + ] - 前进到下一页
    • ⌘ + D - 将当前页面添加到书签
  4. 开发者工具:

    • ⌥ + ⌘ + I - 打开开发者工具
    • ⌥ + ⌘ + J - 打开JavaScript控制台
    • ⌥ + ⌘ + C - 打开元素检查器
  5. 查找与选择:

    • ⌘ + F - 在页面中查找
    • ⌘ + G - 查找下一个匹配项
    • ⇧ + ⌘ + G - 查找上一个匹配项
    • ⌘ + A - 选择页面所有内容

# 文本编辑器常用快捷键

在日常开发中,除了终端操作,文本编辑器中的快捷键同样重要。以下是一些在大多数macOS文本编辑器(包括Xcode、VS Code、IntelliJ IDEA等)中通用的快捷键:

  1. 文本选择:

    • ⇧ + ⌘ + →/← - 逐词选择
    • ⇧ + ⌘ + ↑/↓ - 选择到行首/行尾
    • ⌘ + A - 全选文本
  2. 文本导航:

    • ⌘ + →/← - 移动到行首/行尾
    • ⌥ + →/← - 逐词移动光标
    • ⌘ + ↑/↓ - 移动到文档首/尾
  3. 文本编辑:

    • ⌘ + Z - 撤销
    • ⇧ + ⌘ + Z - 重做
    • ⌥ + Delete - 删除前一个单词
    • Fn + Delete - 删除后一个字符(在没有Fn键的键盘上使用⌫)
  4. 多光标操作(适用于VS Code、Sublime Text等):

    • ⌘ + D - 选择下一个相同单词
    • ⇧ + ⌘ + L - 为每一行添加光标
    • ⌥ + 鼠标点击 - 在点击位置添加光标
  5. 菜单栏找到configure->default session

  1. 找到mapper key选项,输入⌥+左

此时,终端工具就会弹出对应的快捷键选项,我们告知send string为\033b即可,同理⌥+右设置为\033f:

最后选择全局生效:

# Finder文件管理快捷键与qspace

访达是mac对于日常应用或者程序管理中最常见的程序了,为了更好的管理和定位访达页面下的文件,mac os内置了多种快捷方式调整图标视图。

如果我们希望以图标的方式展开文件,那么我们直接执行⌘+1即,对应的展示界面如下所示:

某些情况下,文件夹的文件很多,并且文件夹的命名方式是有迹可循的,为了更好的展现更多文件和快速定位特定文件,我们也可以通过⌘+2将访达页面变为列表界面:

最后一种的文件夹有着多层的嵌套,我们希望通过层级的方式定位和查找文件,对应的我们就可以通过⌘+3将访达设置为分栏的方式显示,就如下图所示:

同时,我们也可以通过⌘+t的方式在访达上新增一个标签页进行文件管理操作,在不需要的时间直接通过⌘+w销毁即可,这个操作也同样适用于safari浏览器:

传统Finder不支持多文件夹管理,以及传统剪切和粘贴操作和文件创建等诸多不便,所以笔者这里还是推荐一个比较强大的文件管理工具qspace,完成安装后对应界面如下,此时我们就可以通过4个窗口管理我们日常的文件:

同时,笔者这里也给出qspace pro一些配置,提升日常工作生产力,首先点击左下角设置选择使用习惯将delete键变为删除操作:

还是选择使用习惯,将双击空白处回到上层文件夹选项也勾选:

选择使用习惯,将隐藏DS_Store选项关闭,确保我们可以精准管控所有文件夹所有文件:

新建文件添加md格式,确保qspace可以通过右键创建md文件:

最后选择默认管理方式为qspace替代掉finder,自此大功告成:

# 基本文件操作快捷键

和windows理念类似,mac的全选也是通过⌘+a即命令全选当前所有(all)的内容。而文件删除也是类似,唯一与windows的区别是需要配合⌘键,例如我们需要删除访达文件夹下的某个文件,直接通过⌘+del即完成。

# 文件路径快速复制

默认情况下,mac对应文件右键看到的都是针对文件纬度的拷贝操作:

有时我们因为配置环境变量等原因需要针对复制文件路径,对应的我们就可以在右键后键入键盘的⌥,此时拷贝就会变成复制文件路径,选中后直接得到文件的路径。

# 终端环境快捷配置

1. 在vscode打开当前目录:

当前路径下快速呼出vscode:windows系统默认情况下在文件夹下通过终端命令code .即可呼出vscode,而mac则需要手动配置一下,对应的配置步骤也很简单:

  1. 打开vscode 键入shift+⌘+p唤起命令窗口(无法唤起则考虑是快捷键冲突,直接点击vscode 左下方的设置找到⌘ palette)
  2. 键入install code找到 install 'code' ⌘ in path
  3. 点击回车执行该指令

此时,我们就可以通过终端定位到项目的目录,然后输入 code . 将当前目录的项目在vscode中打开

2. 创建随机临时目录:

mktemp 是一个创建临时文件或者目录的指令,所以笔者经常用-d选项创建一个临时目录存储临时文件目录存放一些日常开发的临时文件,确保即时完成测试后系统能够定期清除,而笔者常用下面这段指令随机生成笔者笔名开头-随机字符串的临时目录并进入:

cd `mktemp -d /tmp/sharkchili-XXXXXX`
1

因为这段指令比较常用,所以笔者希望针对这个指令生成一个快捷命令,对应的配置步骤为:

  1. 基于vim ~/.zshrc编辑zsh配置文件
  2. 追加alias mcdtmp="cd mktemp -d /tmp/sharkchili-XXXXXX"设置这条指令的快捷指令为mcdtmp
  3. 执行source ~/.zshrc使之生效

后续,如果我们想创建临时目录并进入,只需mcdtmp即可完成。

3. 生成git配置快捷指令

同理,因为笔者日常开发项目涉及公司和个人开发项目,为做好区分笔者个人的开源项目会设置个人笔名和邮箱等信息,所以经常会用到git config指令更改当前项目等配置用户信息:

git  config user.name "sharkchili"
git  config user.email "xxx@qq.com"
1
2

对应的也是在.zshrc文件中键入如下配置生成对应的快捷键gitname和gitemail:

alias gitname="git  config user.name "sharkchili""
alias gitemail="git  config user.email "xxx@qq.com""
1
2

4. 自定义快捷指令

同样的基于.zshrc我们也可以自定义各种快捷指令,例如:我们平时喜欢创建文件夹后再进入该文件夹,再没有定义快捷指令的情况下,对应的执行步骤为:

  1. 基于mkdir创建文件夹
  2. 基于cd指令进入文件夹

基于.zshrc的配置,我们可以通过自定函数快速完成这两步操作,对应的我们还是编辑.zshrc并在其内部添加如下函数,基于传入的第一个参数执行mkdir和cd复合操作,这样一来,如果我们希望进入test目录就可以直接mcd test:

function mcd{
# 创建传入的文件夹并进入
	mkdir $1 && cd $1
}
1
2
3
4

我们都知道mac终端支持通过open . 打开终端正在处理的目录,同理如果我们希望在终端看到finder正在使用的目录也可以通过自定义函数实现,对应的函数如下,完成后到终端直接键入pfd即可直接进入:

pfd() {
    local finder_path
    finder_path=$(osascript -e 'tell app "Finder" to POSIX path of (insertion location as alias)')
    if [ -n "$finder_path" ]; then
        cd "$finder_path"
        pwd
    else
        echo "Failed to get Finder path"
        return 1
    fi
}
1
2
3
4
5
6
7
8
9
10
11

# 系统锁屏快捷键

和Windows的win+lock有所区别,mac对应的锁屏键位是Control + Command + Q,所以在使用Mac os之初的读者需要特别注意这一点。当然,如果读者安装utool也可以直接像笔者这样,通过⌘+space唤起终端,键入lock即可定位到锁屏选项,点击回车即可:

# 系统截图快捷键

作为开发者,经常需要进行截图操作来记录问题或分享信息。macOS内置了多种截图快捷键:

  1. 全屏截图:⇧ + ⌘ + 3 - 截取整个屏幕
  2. 区域截图:⇧ + ⌘ + 4 - 选择区域进行截图
  3. 窗口截图:⇧ + ⌘ + 4然后按空格键 - 选择特定窗口截图
  4. 截图并录屏:⇧ + ⌘ + 5 - 打开截图和录屏工具栏

提示:默认情况下截图保存在桌面上,可以通过截图工具栏或终端命令defaults write com.apple.screencapture location [路径]来更改保存位置。

# 基于espanso实现文本扩展

对于一些经常要输入到特殊文字,我们可以通过espanso配置一些特殊符号实现快速呼出,例如:

  1. 输入;mobi快速输出个人电话号码
  2. 输入;cmd快速生成⌘键位的logo即⌘
  3. 输入;date快速输出当前日期
  4. 输入;time快速输出当前时间
  5. 输入;email快速输出个人邮箱
  6. 输入;sign快速输出签名文本

对应的配置步骤如下:

首先完成espanso的安装:

brew install --cask espanso
1

安装完成后,创建espanso配置目录:

mkdir -p ~/.config/espanso
1

然后创建配置文件 ~/.config/espanso/match/base.yml 并添加以下内容:

# espanso match file

# For a complete introduction, visit the official docs at: https://espanso.org/docs/

# You can use this file to define the base matches (aka snippets)
# that will be available in every application when using espanso.

# Matches are substitution rules: when you type the "trigger" string
# it gets replaced by the "replace" string.
matches:
  # Simple text replacement
  - trigger: ":espanso"
    replace: "Hi there!"

  # NOTE: espanso uses YAML to define matches, so pay attention to the indentation!

  # But matches can also be dynamic:

  # Print the current date
  - trigger: ":date"
    replace: "{{mydate}}"
    vars:
      - name: mydate
        type: date
        params:
          format: "%m/%d/%Y"

  # Print the current time
  - trigger: ":time"
    replace: "{{mytime}}"
    vars:
      - name: mytime
        type: date
        params:
          format: "%H:%M"

  # Print email
  - trigger: ":email"
    replace: "your@email.com"

  # Print signature
  - trigger: ":sign"
    replace: |
      Best regards,
      Your Name

  # Print the output of a shell command
  - trigger: ":shell"
    replace: "{{output}}"
    vars:
      - name: output
        type: shell
        params:
          cmd: "echo 'Hello from your shell'"

  # And much more! For more information, visit the docs: https://espanso.org/docs/
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56

配置完成后,注册并启动espanso服务:

espanso service register
espanso service start
1
2

如果遇到启动问题,可以尝试以非托管模式启动:

espanso service start --unmanaged
1

启动成功后,可以验证配置是否生效:

espanso match list
1

输出应该包含我们配置的替换规则:

:espanso - Hi there!
:date - {{mydate}}
:time - {{mytime}}
:email - your@email.com
:sign - Best regards, Your Name 
:shell - {{output}}
1
2
3
4
5
6

现在可以在任何文本编辑器中测试这些快捷方式,比如输入 :date 然后按空格或标点符号,它就会被替换为当前日期。后续更改配置,只需执行下述指令即可重启生效:

espanso service restart 
1

需要补充说明的是espanso默认情况下呼出快捷键为⌥ +空格如果读者希望修改这个配置则需要编辑

-- 编辑配置文件,追加search_shortcut: off
vim /Users/sharkchili/.config/espanso/config/default.yml
-- 重启使之生效
espanso service restart 
1
2
3
4

# 第三方应用启动器配置

Thor是一款免费的MAC应用程序开启 /切换工具。通过它,给应用程序设定快捷键,即可使用快捷键迅速打开或切换应用。当你同时运行很多应用程序时,比起多次点按 ⌘ - tab 键,Thor一步到位,更高效。

在app store完成程序安装之后,我们就可以直接完成程序快捷呼出、关闭的配置了,以笔者为例,基于上述步骤配置的F19键配合应用程序的首字母构成各种快捷呼出:

# 小结

我们来简单小结一下本文的内容:

  1. 键盘基础配置:

    • F1~F12功能键标准化配置
    • 键盘键位适配与调整(内置键盘和外接键盘)
    • F19虚拟功能键配置
  2. 系统级快捷操作:

    • 聚焦搜索快捷键
    • 系统锁屏快捷键
    • 系统截图快捷键
    • 输入法切换提示失效问题解决
  3. 文件与应用程序管理:

    • 文件与文本的复制剪切操作
    • 应用程序窗口管理(关闭、最小化、退出)
    • Finder文件管理快捷键
    • 基本文件操作快捷键(全选、删除等)
    • 文件路径快速复制
  4. 开发工具快捷操作:

    • 终端快捷操作指南
    • 文本编辑器常用快捷键
    • 终端环境快捷配置(VS Code、临时目录、Git配置等)
  5. 效率工具配置:

    • 基于espanso实现文本扩展
    • Alfred快捷操作(应用程序快速启动、文件查找、网络搜索)
    • 第三方应用启动器配置(Thor)
    • 窗口布局管理工具(Rectangle)

本文作为macOS下Java开发者的系统配置指南,涵盖了从基础键盘设置到高级效率工具的全面配置说明。建议在系统重装后按照本文档逐步配置,以快速恢复高效的开发环境。笔者也会在日常使用中不断迭代更新这篇文章,希望对你有帮助。

你好,我是 SharkChili ,禅与计算机程序设计艺术布道者,希望我的理念对您有所启发。

📝 我的公众号:写代码的SharkChili
在这里,我会分享技术干货、编程思考与开源项目实践。

🚀 我的开源项目:mini-redis
一个用于教学理解的 Redis 精简实现,欢迎 Star & Contribute:
https://github.com/shark-ctrl/mini-redis (opens new window)

👥 欢迎加入读者群
关注公众号,回复 【加群】 即可获取联系方式,期待与你交流技术、共同成长!

# 参考

mac快捷键教程:https://www.bilibili.com/video/BV1mW421w7Jw?spm_id_from=333.788.videopod.sections&vd_source=bf04f9a485aa892c0242fbfdfca25589 (opens new window)

mac锁屏:https://jingyan.baidu.com/article/91f5db1b51fb625d7f05e3ba.html (opens new window)

mac复制文件路径:https://www.sysgeek.cn/macos-copy-file-path/ (opens new window)

求问 Mac 原生输入法在切换时光标旁边的小图标不见,怎么能在不重启的情况下修复:https://www.v2ex.com/t/1124217 (opens new window)

Mac 终端光标在单词之间移动的快键:https://blog.csdn.net/jane1229/article/details/82944435 (opens new window)

Mac外接USB键盘修饰键设置 Option 和 Command 替换:https://blog.csdn.net/liuwei0376/article/details/124155195 (opens new window)

Mac效率神器Alfred系列教程---Alfred概述:https://zhuanlan.zhihu.com/p/33199992 (opens new window)

F19键:https://bbs.huaweicloud.com/blogs/421390 (opens new window)

Mac电脑高效办公必备武器——雷神Thor:https://zhuanlan.zhihu.com/p/146885772 (opens new window)

espanso官网:https://espanso.org/docs/configuration/options/ (opens new window)

Mac效率神器Alfred系列教程---Alfred概述:https://zhuanlan.zhihu.com/p/33199992 (opens new window)

Mac 多任务切换的坑:为什么 Command+Tab 有时不好用 :https://www.bilibili.com/video/BV1x6WTzkEbt/?buvid=Y942A991A168E31D4296B54F9D22E6B8C782&from_spmid=tm.recommend.0.0&is_story_h5=false&mid=3URzpfGDRykbWghI4MoSYg%3D%3D&plat_id=116&share_from=ugc&share_medium=iphone&share_plat=ios&share_session_id=E9F5514C-4056-42D4-9CCF-AB7D55F4A42A&share_source=WEIXIN&share_tag=s_i&spmid=united.player-video-detail.0.0&timestamp=1759119525&unique_k=Pm8SeYv&up_id=348402900&vd_source=bf04f9a485aa892c0242fbfdfca25589 (opens new window)

终于找到macOS窗口管理的完美解决方案! :https://www.bilibili.com/video/BV1jH4y1w7Yr/?spm_id_from=333.337.search-card.all.click&vd_source=bf04f9a485aa892c0242fbfdfca25589 (opens new window)

用了就回不去的Mac App!QSpace这10个功能真的绝了! :https://www.bilibili.com/video/BV1bTxUzAEHE/?buvid=Y942A991A168E31D4296B54F9D22E6B8C782&from_spmid=tm.recommend.0.0&is_story_h5=false&mid=3URzpfGDRykbWghI4MoSYg%3D%3D&plat_id=116&share_from=ugc&share_medium=iphone&share_plat=ios&share_session_id=435C5977-C8FE-4E19-8F99-53BC8DF9CFE7&share_source=WEIXIN&share_tag=s_i&spmid=united.player-video-detail.0.0&timestamp=1759982931&unique_k=QiYt8hy&up_id=3546882471102972&vd_source=bf04f9a485aa892c0242fbfdfca25589 (opens new window)

让 Mac 像 Windows 一样使用 Alt + Tab 切换窗口--AltTab :https://zhuanlan.zhihu.com/p/684720445 (opens new window)

编辑 (opens new window)
上次更新: 2025/12/29, 09:29:42
搜索引擎使用技巧
一行代码“黑”掉任意网站

← 搜索引擎使用技巧 一行代码“黑”掉任意网站→

最近更新
01
从操作系统底层浅谈程序栈的高效性
01-07
02
从零开始理解JVM的JIT编译机制
01-06
03
浅谈Linux权限管理
12-26
更多文章>
Theme by Vdoing | Copyright © 2025-2026 Evan Xu | MIT License | 桂ICP备2024034950号 | 桂公网安备45142202000030
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式
×
×