Mac环境配置和优化
此文记录 Mac 的上手和常备软件等事宜… 仅供参考
0x00. 前言
首先看看全览图, 有个基本认识, 参考自网络:
为了简化描述, 后文快捷键中如果出现 cmd
标识的都是 command
的缩写, 然后 MacOS 版本基于 10.15
, 后续本质没有太大差别, 但是 ARM 和 11.x 后对不少小众软件存在兼容和适配的问题 (不过参考 macwk 网站会有相关兼容提示), 注意确认
0x01. 系统配置
A. 触控板
- 开启“轻点点按”, 修改查询数据为“三指轻点”(可以快速启用内置翻译)
- 是否关闭自然滚动看你个人习惯
B. Apple服务
- 注册 iCloud 账号, 开启 iCloud 云盘, 这样很多配置你至少有一份备份和同步
- 开启触控 ID 指纹登录, 这样各种验证解锁快很多 (有些时候密码要求十几位)
C. 优化设置
option + cmd + p
打开文件管理器 Finder 中默认的全路径显示, 用cmd + 上/下
可前/后切换目录层级.- 取消设置-安全性隐私中的分析与改进“共享数据”, 以及勾选广告选项里的“限制广告跟踪”. 关闭定位服务
- 跳过文件验证和第三方 APP 这个就自行考虑了 (前者我打算保留)
- 设置的 “键盘快捷键” 中设置 Tab 切换聚焦, 这样可以更好的用键盘控制窗口
- 电池电量显示百分比 (双击电池), 然后选项里设置电池供电时优化视频/推送, 并关闭电源供电时磁盘休眠/睡眠
- 设置中开启“夜览”, 我时间设置的是晚 6 点~早上 9 点. 再配合定时休息提醒软件即可.
- Finder 中
cmd + shift + .
可显示/关闭隐藏文件和扩展名, 设置里修改侧边栏(增加 Home 等), 去掉不常用的标签.
D. 按键 & 快捷键
首先熟悉 Win
的同学肯定需要一段时间来适应, 因为有几个重大的设定键位的改变,肌肉记忆需要时间来调整,熟悉最大的自然就是 Alt
—> command(cmd)
, 然后导致绝大部分的快捷键都会改变,说几个最主要的:
- 快速搜索:
command + 空格
(活动监视器/任务管理器调出方式) - 全屏最大化:
control + command +f
(full) - 缩小到后台随时唤醒:
command + h
- 跳到行尾/行头(
command + ← / →
), 加上shift
后可以快速选中操作 - 跳到左右一个单词
option + ← / →
, 加上 shift 后快速选中单词 - 同理, command + 上/下可以平滑的向上/向下翻页, 加上 shift 后选中整体
- 删除当前光标后文字:
control + k
- 锁屏:
control + command + q
- 复制 Finder 中的文件路径:
option + command + c
- 删除文件:
cmd + 回退键
(Win 上的 Delete 没用, 简易 Key 插件替换, 见后文) ctrl + ↑
可以快速显示当前所有窗口 (等同“三指上滑”)- Finder 中没提供直接的剪切项, 而是统一先复制, 然后
cmd + opt + v
剪切.
特别注意, Win 键盘中的 Home 和 End 键位在 Mac 中基本失效或者不合适,如果用外接键盘, 建议下个 KEY 软件修改工具调整为期望的效果, 其他全面的快捷键查看可以参考 Apple 官方文档, 或者使用快捷键提示的应用.
E. 输入法
首先我不太建议使用自带输入法, 因为并不好用, 也少了很多功能, 中文下使用英文标点都不支持, 选中某狗/Du还是其他三方输入法看大家喜好, 但是有几个必备功能我觉得有和没有差别很大, 建议开启:
- 中文输入时使用英文标点
- 中英文前后自动加入空格 (数字符号也加更好)
- 自动切换到英文输入 (指定 App)
然后, 如果使用其他输入法后, 基于方便切换的考虑, 建议至少删去自带的中文输入法 (En 版看个人喜好可保留)
删除系统内置中/英输入法并不那么简单, 需要单独处理, 步骤如下:
1 | # 1. 重启系统 |
然后下面是几个可能遇到的问题:
- 输入法提示框没有了, 可能是触发了 bug, 解决办法就是
cmd + space
打开活动监视器杀掉对应输入法的进程就好了 - Windows 上的 mspaint (画图) 在 Mac 上是预览来代替了, 它的使用看看说明就能上手, 简易的做图没什么问题, 合并剪切图不如画图顺手, 我目前也没找到特别简易的画图工具.. (望推荐)
ctrl + cmd + space
快速输入Mac 上的表情, 特殊符号和箭头等 (比如⌘/⌥/⌃/⌫/↓
)- 智能输入单/双引号
""
是斜体版本, 容易造成大坑 (在键盘–>文本–>智能引号那可以修改为正常的)
0x02. 网络配置
科学上网意义不用多说, 后续的下载环境也需要它, 否则会寸步难行么, 建议自行配置好先 (公司内可走 pac/vpn
方式)
0. 科学上网
这部分单独参考之前の文章, 或自有资源.
1. 配置 Github 等 host 映射
由于不可知的原因, 类似 github 这类没有被 ban, 但是 DNS 经常被污染或者影响的网站, 会很影响日常使用开发, 两个思路解决:
- 使用科学上网方式
- 使用 DNS 优化方式 (推荐)
安装完成后, 新建一个专门针对 Github 的规则: (参考原文)
- 方案名:GitHub Latest IP (可自命名)
- 类型:远程
- URL 地址:https://cdn.jsdelivr.net/gh/ineo6/hosts/hosts 或 https://github.com/521xueweihan/GitHub520
- 自动更新:1小时
配置完后稍等一会就会看到自动拉取了最新的 IP 地址, 然后你可以ping domain
看看时延和显示 IP 就知道是否生效了, 浏览器如果没有自己清一下缓存, 另外这样你可以很方便的给 hosts 分组定制开关, 如图所示:
2. 防火墙
网络配置OK, 从 Github 下载或者是 homebrew
安装应该有 1MB/s
以上下载速度 (不设置几十 KB 完全没法用)
然后为了网络相关安全, 我建议配置一下开源的轻量级防火墙, 控制软件的网络使用等同于从根本控制了 OS 安全, 这部分移至[0x04](#0x04. 系统插件)开头
0x03. 开发环境
说完了系统内置的环境和网络, 再说一下系统未自带, 但是实际会经常用到的组件/工具, 也很有必要配置一下.
0. 基本配置
首先就是包管理工具 Homebrew, 安装后软件管理会方便许多, 但是你网络如果不配置好, 它基本是不可能一次下载成功的, 也不建议使用各种野路子手动装, 个人推荐直接用国内源. 参考下面的方法二: (科学上网等全局配置好可以用方法1)
1 | # (首选) 官方方式安装一下包管理工具Homebrew |
1. IDEA 配置
- 首先官网下载最新稳定版的 IDEA 专业版, 然后配合你自己觉得简单的方式激活. (crack or edu)
- (可选) 导入以前使用过的 IDEA 配置, 避免大量操作 (在之前电脑上提前导出为 jar 包, 可参考此文)
- 关闭你暂时不用的所有插件, 按需开启 (包括 Spring/Kotlin/Android/Go 等)
- 代码风格 (code style) 也可以单独导出文件保存
- 新版的 IDEA 可以代替大部分场景的 Postman 发送 HTTP 请求了, 还能关联代码. 详细可看官方文档. (简略可参考此篇 )
2. iTerm2 配置 (待独立)
命令行环境自然是 Unix 类必备的核心工具之一, 包括不限于配置 bash, 命令行工具等. 虽然有付费的工具, 但大家一般推荐 iTerm2 , 我觉得也的确够用了, 但是要注意大量**优化配置才会好用许多, 首先开启默认的 vim 高亮:
1 | cp /usr/share/vim/vimrc ~/.vimrc && vi ~/.vimrc |
然后主题和后续各种配置, 我参考的 Github 的文档, 首先下载了还挺好看的一个主题, 然后配置 zsh
及其衍生插件, 配置好后, 命令行 的使用效率和优雅度会高得多, 可以更高效的匹配和查找, 也有更好的自动化辅助, 步骤如下:
1 | # 0. 这几年的 Mac 都自带了zsh, 不过还是推荐用 brew 管理升级方便 |
上述配置完就把 zsh 和相关插件大部分搞定了, 接下来是一些我自己设置的优化和提醒: (仅供参考)
首先 iTerm2的全局可简单分为这三: Window —> Tab —> Session
, 一般我就用后面两个, 然后同一类窗口放一个 Tab 下:
修改切换窗口的快捷键
option/cmd + ←/→
, 这个易误操作, 默认选中复制是中键粘贴 (注意不是 Win 中的右键)然后 Vim 中快捷键默认并不通用:
shift + ←/→
代表单词跳转,fn + ←/→
代表行头/尾, 定制修改参考StackOverflow, 很多国内博客互相 copy 全是错的或不通用的….下面是我验证可用的方式:1
2
3
4
5
6
7
8
9
10
11
12# 1.首选 profiles -> Keys --> Presets --> Nature Text Editing
# iTerm 首选项 -> Keys -> 修改快捷键
# 1. 修改 cmd + ←/→ 与其他保持一致
cmd + ← --> 改为 sent escape code: [1~ # hex code: 0x01 # vim中无效
cmd + → --> 改为 sent escape code: [4~ # hex code: 0x05 # 同上
# 2.修改 option + ←/→ 保持一致
# - 先删去已有设定, Profiles -> Keys删掉
# - 再修改, 否则会提示冲突
# - escape code 下
option + ← --> 改为 sent hex code: 0x1b 0x62 # escape code: [1;5D
option + → --> 改为 sent escape code: [1;5C # 其它写法有误或无法在 vim 中生效快捷键设置取消
cmd + w
和cmd + q
关闭/退出当前 session, 很容易误按, 有跳板机时不能一键恢复很蛋疼.快捷键
F1~Fn
设置发送字符串, 存储常用字符串(密码)/操作等. (高频, 通 Xshell 发送字符串)Apperance --> Dimming
中取消模糊非活动窗口 (常需要同时观察)Advanced 中开启
Scroll wheel sends arrow keys when in alternate screen mode
, 允许滚轮查看日志 (棒)View
中开启Show cursor guide
,Auto cmd complete
, 至于时间戳是否开看你屏幕大小 (zsh插件自带)Session
中提供快捷键可以显示最近的命令/目录等Toolbelt
可以显示一个快速命令/历史栏, 这个看个人需要在会话里也可以使用全局搜索, 然后通过 Tab 键组合可以快速复制对应的字符串
总之直接参考开源的方案, 只要网络环境配置好了, 整体下来还是很快的, 之后就可以愉快的使用 iTerm2 来交互了. 你会发现的确是全新, 令人舒适的 bash
使用体验, 推荐试试.
如果希望配置更多的个性化设置, 包括别名, 可参考博主的 env.sh , 后续想深度查看其他 zsh 的插件, 可参考汇总, 或者了解具体的使用配置等, 简单列举几个好用的特性:
- git 插件自带大量好用的缩写, 在
~/.oh-my-zsh/plugins/git/git.plugin.zsh
中, 分支时间信息也都全了. - 所有命令的二级提示, 也都可用自动提示补全, 不用去
--help
, 然后命令正确/错误显示颜色不同. (错误红, 正确绿) ↑ / →
键可从历史输出中自动补全可能的命令,ctrl + t
可以全 PC 快速搜索, 很好用- 跳转目录无需输入
cd
,ctrl + r
全面优化 - 输入
j + 部分path
可以快速跳转全路径 (很好用, 可试试)
以上只是我简单了解后发现的, 其他包括未安装的插件大家可以根据自己需要了解, 对使用 terminal 效率提升挺大, 用起来也舒服得多.
另外有个常见的需要是是配置上传/下载文件, scp 没有 rz/sz 好用, 但是iTerm
上需要单独配置一下, 不能直接使用:
- 自行在本地安装
brew install lzrsz
- 下载两个脚本丢环境变量
/usr/local/bin
下, 给可执行权限, 为之后触发动作使用 - iTerm2 中设置 Trigger, 然后测试生效.
另外推荐在常用服务端机器配置 iTerm2 Integration, iTerm 官方出品, 可以拖拽上传下载, 安装成功后有三角箭头, 附带其他增强功能, 也挺不错.
高亮 cat
这里参考菩提前辈的高亮和使用方法, 很好解决 cat 默认没有高亮的问题, linux 上可直接使用, mac 上需要安装一下包:
1 | # 优先使用 pip3 而不是 brew |
然后就可以优雅的使用 cat 而无需在 vim 中复制粘贴了, 建议开启.
PS: 鉴于 iTerm2可定制化的地方非常多, 而且大部分都很好用, 之后会单独分拆为一篇 iTerm2定制指南来单独说.
3. Typora 配置
除了代码之外, 文档的流畅编写自然也是非常重要的, 首选 Typora 就不多说了, 主要是调整同步一下配置, 最主要的就是设置图床, Mac 上的选中有三:
- iPic (限Mac, 部分收费)
- uPic (限Mac, 开源免费)
- PicGo (跨平台, 开源免费, 暂不原生支持 M1)
那到底选中哪个呢? 首先时间来说, uPic 是最晚出的, 用原生 swift 编写, 然后全部免费开源, 并且作者之前也用过其他两个, 更像是后起之秀, 所以我更倾向选中它. 详细安装配置参考官方文档, 不再复述, 配置简单且图形化完善, 完成后可以达到粘贴截图到 typora 中自动上传到图床的效果.
注: 这几个软件目前有一个问题是不能动态监控文件夹, 比如监控 img
文件夹, 存入一个图片, 就自动上传获取地址的效果. 如果只是从剪切板粘贴, 本地就缺少备份, 或需要保存再手动上传一次, 所以建议配合截图工具来使用 (例如 iShot 等)
0x04. 系统插件
Mac 上有许多好用的工具软件, 我也是一直比较中意见, 包括画图类的 Sketch ,效率类的等, 那么就需要一些 crack 的网站地址, 不然可能很多都是收费的, 就比如上面修改系统 plist
文件都需要, 以下是几个可能还行的网站, 有自检测, 可以禁止联网等, 仅供参考, 大家自行甄别细节:
然后选择了你自己相对可信的站点后, 你就可以开始配置一些很强大的软件/插件了, 建议最先装上开源的防火墙控制禁止不必要的 App 联网.
A. 网络防火墙
因为 Mac 本身系统权限控制严格, 轻易访问不了磁盘或者其他核心组件, 用了 crack 后的 Mac 软件后最需要注意的就是禁止工具类软件联网, 这样就避免了不少后门和发送数据的可能了. 然后防火墙这里正好可使用开源的, 也是最小信任原则的体现
那么有一款出自 Defcon
安全研究员的 LuLu 就比较推荐, 而且一直在维护更新, 安装好之后可以很简单的设置允许/禁止网络通讯 & 实时查看, 个人觉得已经足矣, 有网络请求会弹出提示, 简洁好用:
B. 截图和 GIF
首先自带的图床工具都非常强大好用了, 但是唯一的不足就是截图上传没有自己设置文件名, 只是生成随机的名字保存, 这样不太合理, 也没有本地备份, 加之偶尔也有录制 GIF 的需求, 所以最好是有一款单独的截图 + 录制整合的工具来帮忙完成这些, 例如收费的 CleanShot, 但是目前 crack 版暂时没有可信的. 所以我们还是选传统的 Xnip
或者 iShot
了. 因为前者有收费, 所以目前就选中免费的 iShot, 有收费的激活码还是推荐 CleanShot 一点. 重点说一下iShot 的几个优点:
- 支持常见的截图标记, 支持高亮显示某个区域
- 截屏有提示, 支持多快捷键
- 支持 GIF 动图录制, 并且还算挺方便, 也可以控制大小分辨率
因为 uPic 或类似工具也不支持监视某个图片文件夹的功能, 所以以前那种把截图丢在特定文件夹的自动监视做法就行不通了, 直接剪贴板上传简单但是本地没有备份… 可能是因为这样需要文件读取磁盘的权限, 风险比较大吧推测
C. 压缩软件
Mac 自带的解压软件平常也倒够用, 但是我没找到加密压缩的地方, 用起来还是蛋疼. 然后大文件压缩速度也远不如专门的软件, 所以换一款还是需要的. (比如性能很好的 MyZip Pro, 免费的 MacZip), 看了下评测选中 MyZip Pro
, 支持极限压缩 + 7z
的固实压缩,,测试 200MB
的数据压缩到了仅有 2MB
(对比 zip 极限也有22MB) ,让我也是大为吃惊.. 发现 iShot
也是它家的
N. 效率软件Alfred (TODO)
Mac 上的独占工作流软件 Alfred 的名声早在 N 年前就很大了, 自然还是想试试看神奇在哪, 不过这里稍微繁杂一些, 之后列在 TODO 里有空单独来说吧.
X. Sketch 画图
偶然从Dravebess的文章中发现如此统一美观的画图风格, 想也有一套自己的统一风格画图, 苦于 Win 并没有Sketch 使用, 现在换了 Mac 必须安排上, 这里是 V71.1下载, 如果遇到不稳定, 建议降级到评论区说的稳定版本, 无需追新. 我们来关注一下如何使用它来画技术图片, 当然也有不少同学推荐使用 Figma 代替 Sketch, 降低上手成本, 后续可以关注.
对我来说, 目前它们两也都还挺重, processon 或免费的 draw.io 就比较够用了 (虽然不够系统统一)
Y. 鼠标滚动
如果你是使用外置的鼠标, 默认滚动效果比原生丝滑顺畅差不少, 可以试试这款开源的Mos. 能让你的鼠标滚动也丝滑起来
1 | brew install mos --cask |
0x05. 其他
A. 可选系统优化
1. 去除系统设置的更新小红点
需要注意的是, 重启之后这个可能还会出现, 不过鉴于 Mac 不升级基本也不重启, 所以值得去除红点干扰, 根本做法是底部不显示设置:
1 | # 处理方式就是设置然后重启dock进程 |
2. 外接键盘优化 (建议)
如果外接了一个机械键盘, 一般都是 Win 布局, 有两个问题:
一些键位 Win 和 Mac不一样, 放着不习惯还占位置
F1~Fn 可能不符合自己需要, Home/End/Delete 也不够好用, 或没启用
这些问题, 就特别适合用神器 Karabiner 来实现, 如果 “权限 - 键盘监视” 中少了一个软件需要的, 就手动加入即可. 否则会一直弹出权限不足提示. 然后推荐以下配置:
- F6设置为静音, 默认似乎没有功能
- 其他 F1~Fn 根据自己需要调整
除了单按键调整, 更重要好用的映射多键位(Complex mod), 并且官方已经帮你都提供好了一键的方案, 非常贴心, 首先下载官方设定好的模板, 然后我选中了以下:
- Home/End 键设置为跳到行前/尾, 命令行下挺好用的. (但在 vim 中似乎不生效)
- Shift + Insert 视为粘贴
- Cmd + E 打开电脑 (Finder)
- Delete 设置为 FInder 中直接删除
- Option/cmd + L 锁屏 (后者可一键黑屏, 更省电)
- Backspace 设置为回到上一级 (仅在 Finder 中有效)
- PrintScreen 键设置为全屏截图
- Control + v/x/z/y 设置为 粘贴/剪切/撤销 (可选, 注意 ctrl + c 最好别设置, 易冲突)
F1 ~ F12
使用原始对应, 否则它会自动识别为Fn + F1, 在(Function keys 中, 最下面勾选Use all as standard
)即可.
其他绝大部分的转换类快捷键我都不太推荐设定, 还可能有冲突, 设置的主要是 Mac 没有但是实际也比较好用的.
3. 护眼注意
因为每天看屏幕的时间平均超过10h, 所以护眼相关的措施必不可少, 而且它是潜移默化长期影响的, 并且休息时间也应该走动, 站/坐切换一下.
自动定时提醒休息的软件有个break for eyes, 配合系统自动的色温调节(“夜览”)大致够用, 其他单独色温调节之后考虑.
B. 可选软件替代
这里的是有些替代系统原有不够好用的软件, 比如 Finder 可能很多同学上手有点费解, 因为它的快捷键比较复杂, 而且不太兼容, 我个人是建议先使用上面提到的 Karabiner 来切换为你习惯的模式, 然后熟悉核心的快捷键, 人总是要敢于跳出舒适区的.
1. WeChat-Extention
默认的 WeChat 客户端显然是很不好用的, 也缺乏很多定制化操作, 好在有前辈开源的功能很强大的版本, 详见标题 Github 链接, 这里不再重复文档内已有内容, 不过要注意更新和官方的屏蔽等.
2. Others
然后, 偶然也看到单独的分享来讲 Mac 上使用的软件之类的, 详见此slide, 后续此文也会不断更新, 站在前辈的肩膀上, 力求打造一个更舒适的体验. (也欢迎大家反馈觉得简洁好用的配置或软件, thanks)
3. 压缩软件
考虑到稳定性, 多线程压缩/解压和是否免费, 目前选择的是 FastZip, 可以直接从 app store 安装即可. 默认自带的压缩解压效率的确太低, 有些必要的格式和功能支持也太弱了.
参考资料: