{"id":14638039,"url":"https://github.com/shockerli/mac-initialize","last_synced_at":"2025-04-09T16:19:33.600Z","repository":{"id":47077418,"uuid":"430563401","full_name":"shockerli/mac-initialize","owner":"shockerli","description":"💻 Mac 开光指南（V2），为你的新 Mac 系统提供一份快速食用方法","archived":false,"fork":false,"pushed_at":"2023-11-06T14:18:05.000Z","size":1575,"stargazers_count":273,"open_issues_count":2,"forks_count":25,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-04-09T16:19:26.617Z","etag":null,"topics":["homebrew","iterm2","java","mac","macbook","macos","zsh"],"latest_commit_sha":null,"homepage":"https://shockerli.net/post/mac-initialize/","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/shockerli.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-11-22T04:35:10.000Z","updated_at":"2025-03-31T03:10:50.000Z","dependencies_parsed_at":"2024-12-25T09:11:27.277Z","dependency_job_id":"44ad3372-7548-4f08-8ad1-334eda95db6f","html_url":"https://github.com/shockerli/mac-initialize","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shockerli%2Fmac-initialize","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shockerli%2Fmac-initialize/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shockerli%2Fmac-initialize/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shockerli%2Fmac-initialize/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shockerli","download_url":"https://codeload.github.com/shockerli/mac-initialize/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248065281,"owners_count":21041872,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["homebrew","iterm2","java","mac","macbook","macos","zsh"],"created_at":"2024-09-10T02:01:33.903Z","updated_at":"2025-04-09T16:19:33.570Z","avatar_url":"https://github.com/shockerli.png","language":null,"readme":"# Mac 开光指南（V2）\n💻 一份新 macOS 快速食用方法，普适新 Mac 或重装系统。\n\n\u003e 本指南基于 MBP 14寸 12.5 系统（**主**）和 MBP 13寸 11.4 系统。\n\u003e\n\u003e 系统和软件的更新频繁，本项目不一定及时更新，故操作界面或步骤会略有差别，但影响不大。\n\u003e\n\u003e 本指南涉及内容较广，请选择适合自己的操作。\n\u003e \n\u003e 请善用 TOC 目录导航内容，GitHub 中 `README.md` 左侧的按钮更方便。\n\u003e\n\u003e 本指南遵循许可协议 [CC BY-NC-ND 4.0](https://creativecommons.org/licenses/by-nc-nd/4.0/deed.zh)（请看[转载要求](https://shockerli.net/reprint-protocol)）\n\u003e\n\u003e 博客原文地址: https://shockerli.net/post/mac-initialize\n\u003e\n\u003e 长期更新地址: https://github.com/shockerli/mac-initialize\n\u003e\n\u003e 最后更新于 `2023-11-06`\n\n\n## 应用安装\n### 安装软件\n\n### 软件下载途径\n- App Store 搜索或排行榜\n- 软件的官网，都会提供下载\n- 第三方网站（不一定安全，需自行甄别）\n\n有一些软件，是没有上架应用商店（如搜狗输入法）、或应用商店里的是阉割版本（如柠檬清理），就需要去官网下载。\n\n下载软件时，尽量选择与架构匹配的，不要选 `Universal`，因为 `Universal` 会同时包含两个架构的软件包，体积更大但却没啥用。以下图 VSCode 为例，如果是 M1/M2 等苹果芯片则选 `Apple Silicon`，反之则选 `Intel Chip`。\n\n![vscode-select-mac-platform](assets/select-app-platform.jpg)\n\n当然，目前绝大多数的软件是不支持这么选择的，也就是只提供了一个 `Universal` 通用版本，那安装后，电脑里就会多一个架构的软件，可以使用[柠檬清理](https://lemon.qq.com)进行查找清理掉，不影响正常使用。\n\n\n### 桌面上的安装包图标怎么去除？\n- 方法①：桌面上右键安装包图标，选择「推出“XXX”」。\n\n![移除桌面安装包镜像图标](assets/remove-desktop-icon.png)\n\n- 方法②：Finder（访达）左栏的「位置」处也有对应安装包，点按应用名称右侧的推出图标即可。\n\n- 方法③：重启系统后，安装包镜像会自动取消，对应的图标也会自动消失。\n\n\n### 关闭软件更新\n为何要关闭软件更新？因为默认会自动下载更新，也就会偷偷跑流量，而苹果系统更新都是几个G起步。不信看看 `/Library/Updates` 目录有多大。\n\n关闭自动更新：\n- `系统偏好设置 → 软件更新 → 自动保持我的 Mac 运行最新版本（取消勾选）`\n- `系统偏好设置 → 软件更新 → 高级... → 取消所有勾选`（主要是**下载可用的更新**）\n- `App Store → 偏好设置 → 自动更新（取消勾选）、自动下载站其他设备上购买的App（取消勾选）`\n\n删除已下载的文件：\n- 关闭 `SIP`、删除目录 `/Library/Updates` 下的内容、再开启 `SIP`。\n\n进程 `nsurlsessiond` 会偷偷跑流量，有几个原因：\n- 正在下载系统或软件更新文件\n- iCloud 正在同步数据\n\n\n\n## 键盘符号与快捷键\n### 符号映射\n| 符号 | 按键 |\n| --- | --- |\n| ⌘ | Command |\n| ⇧ | Shift |\n| ⇪ | Caps Lock |\n| ⌥ | Option = Alt |\n| ⌃ | Control |\n| Fn | 功能键 |\n| ↩ | Enter |\n| ⌫ | Delete |\n| ⌦ | Fn + Delete |\n| ↑ | 上箭头 |\n| ↓ | 下箭头 |\n| ← | 左箭头 |\n| → | 右箭头 |\n| ⇞ | Fn + ↑ = Page Up |\n| ⇟ | Fn + ↓ = Page Down |\n| Home | Fn + ← |\n| End | Fn + → |\n| ⇥ | Tab = 右制表符 |\n| ⇤ | Shift + Tab = 左制表符 |\n| ⎋ | Esc = Escape |\n| ⏏ | 电源开关键 |\n| ` | 反引号（ESC 下面） |\n\n\n\n一定要熟记前 5 个符号的按键位置！！！\n\n\n### 常用快捷键\n大部分情况下，Command 键等同于 Windows 的 Ctrl 键，以下仅列出部分常用或与 Windows 不一样的快捷键，更多参考官方 [Mac 键盘快捷键](https://support.apple.com/zh-cn/HT201236) 以及对应软件的快捷键。\n\n| 快捷键 | 说明 |\n| --- | --- |\n| Command + Z | 撤销，`Shift + Command + Z`：重做 |\n| Command + 逗号 (`,`) | 打开当前窗口应用的**偏好设置** |\n| Control + Command + Q | 立即锁定屏幕 |\n| Command + D | 复制所选文件 |\n| Option + Command + D | 显示或隐藏“程序坞” |\n| Control + Command + D | 显示或隐藏所选字词的定义 |\n| Control + A | 移至行或段落的开头 |\n| Control + E | 移至行或段落的末尾 |\n| Control + U | 终端软件里，直接清除行 |\n| Control + 空格 | 切换输入法 |\n| Command + Q | 退出当前应用 |\n\n- 访达\n\n| 快捷键 | 说明 |\n| --- | --- |\n| Command + 上箭头 | 打开包含当前文件夹的文件夹 |\n| Command + 左中括号 (`[`) | 前往上一文件夹 |\n| Command + 右中括号 (`]`) | 前往下一个文件夹 |\n| Command + Delete | 将所选项移到废纸篓 |\n| Option + Command + C | 复制当前目录的全路径 |\n\n- 窗口\n\n| 快捷键 | 说明 |\n| --- | --- |\n| Command + Tab | 在多个打开的 App 之间切换到**下一个**最近使用的 App |\n| Command + Shift + Tab | 在多个打开的 App 之间切换到**上一个**最近使用的 App |\n| Command + `（反引号） | 同一个应用的不同窗口间切换，已被最小化的窗口无法恢复 |\n| Command + M | 最小化当前窗口，但无法通过快捷键切换回来，只能手动去菜单栏或程序坞重新打开 |\n| Command + H | 隐藏当前应用，即该应用的所有窗口，可通过快捷键切换回来 |\n| Command + Option + H | 隐藏其他应用 |\n| F3 | 显示当前桌面的所有已打开窗口（不含最小化或已隐藏） |\n| Control + 上箭头 | 同上 |\n| 触控板：四指向上轻扫 | 同上（如已设置`触控板 → 更多手势 → 调度中心`） |\n| Control + 下箭头 | 显示当前应用的所有已打开窗口（不含最小化或已隐藏） |\n| 触控板：四指向下轻扫 | 同上（如已设置`触控板 → 更多手势 → App Expose`） |\n\n- 桌面\n\n| 快捷键 | 说明 |\n| --- | --- |\n| Control + 右箭头 | 向右切换桌面 |\n| 触控板：四指向右轻扫 | 同上 |\n| Control + 左箭头 | 向左切换桌面 |\n| 触控板：四指向左轻扫 | 同上 |\n\n\n其他快捷键：选取苹果菜单 \u003e “系统偏好设置”，点按“键盘”，然后点按“快捷键”。\n\n\n## 基础设置\n\n### 触控板设置\n触控板的设置及使用教程，可查看 `系统偏好设置 \u003e 触控板`。\n\n\u003e 让你的触控板变的跟鼠标不同，治疗你的手指关节炎😄\n\n- `系统偏好设置 \u003e 触控板 \u003e 光标与点按`\n    * `轻点来点按（勾选）`\n    * \u003cu\u003e可单指轻点=鼠标左键点击，可双指轻点=鼠标右键点击\u003c/u\u003e\n\n- `系统偏好设置 \u003e 触控板 \u003e 光标与点按`\n    * `查询与数据检测器（勾选）`\n    * `三指轻点`\n    * \u003cu\u003e对着词汇三指轻点，直接调用Mac自带词典查询，与右键中的「查询」一样\u003c/u\u003e\n\n- `系统偏好设置 \u003e 触控板 \u003e 更多手势`\n    * `App Expose（勾选）`\n    * `在全屏幕显示的App之间轻扫（四指左右轻扫）`\n    * \u003cu\u003e以上两个选项，将三指操作改为四指操作，是为了给「三指拖移」让路\u003c/u\u003e\n\n- `系统偏好设置 \u003e 辅助功能 \u003e 指针控制 \u003e 鼠标与触控板 \u003e 触控板选项`\n    * `启动拖移（勾选）\u003e 三指拖移`\n    * \u003cu\u003e与鼠标左键按住拖动一样，三个手指同时在触控板滑动，可拖动任何窗口的菜单栏进行移动，也可以选择范围内容\u003c/u\u003e\n\n学习触控板设置中的各个手势操作示范视频，别再跟鼠标一样用触控板啦。\n\n\n### 开启任何来源\n为何要「任何来源」权限？因为不开启就无法安装 `App Store` 以外的软件，比如从网站直接下载的 dmg 安装包。\n\n`被认可的开发者` 指的是购买了苹果企业证书对应用进行签名、且提交给苹果审核通过的软件。而大部分免费开源的应用是不会去购买此证书的。另外，破解应用因为会修改应用的文件从而导致签名失效而无法运行。所以，想安装第三方应用，需要开启 `任何来源` 这个权限。\n\n`macOS` 默认隐藏了 `任何来源` 选项，需要在终端执行以下命令显示此选项：\n\n```shell\nsudo spctl --master-disable\n```\n\n然后在 `系统偏好设置 \u003e 安全性与隐私 \u003e 通用 \u003e 任何来源` 打开：\n\n![install-any-source-app](assets/install-any-source-app.jpg)\n\n\n\n### 修改主机名\n\u003e 就是为了好看点，默认的太丑，隔空投送的显示名字和终端都会用到\n\n参考文章: https://shockerli.net/post/macos-hostname-scutil/\n\n设置路径：`系统偏好设置 \u003e 共享` =\u003e 修改`电脑名称`、编辑`本地主机名`\n\n也可通过命令修改：\n\n```shell\n# 修改主机名\nsudo scutil --set HostName 自定义主机名\n\n# 修改电脑名称\nsudo scutil --set ComputerName 自定义电脑名\n```\n\n\n### 拼写辅助\n当你输入英文单词时，默认会提示你更正首字母为大写，烦人的很。\n\n`系统偏好设置 \u003e 键盘 \u003e 文本 \u003e 自动大写字词的首字母（取消勾选）`\n\n同理，如果不想「自动纠正拼写」或其他输入相关的功能，也可在此面板一并调整。\n\n\n### 程序坞（Dock）\n![mac-icon-dock](assets/mac-icon-dock.png)\n\n`程序坞(Dock)` 是 macOS 桌面上日常 APP 和功能的便利管理，与 `Windows` 任务栏类似。\n\n`系统偏好设置 \u003e 程序坞与菜单栏 \u003e 程序坞`\n    - `\u003e 将窗口最小化至应用程序图标（勾选）`\n    - `\u003e 在程序坞中显示最近使用的应用程序（取消勾选）`\n\n\n从程序坞中挨个移除你不行要的应用图标，以及添加你希望常驻的图标。\n\n**移除**：`右键程序坞中应用图标 \u003e 选项 \u003e 从程序坞中移除`\n\n或者将程序坞中的图标拖到废纸篓中也能删除图标。\n\n![移除程序坞图标](assets/remove-dock-icon.png)\n\n**添加**：从启动台（应用全列表）拖动图标到程序坞指定位置\n\n\n### 显示器\n\n#### 夜览\n夜览与 [f.lux](https://justgetflux.com) 功能类似，根据时间来自动调节显示器色温的护眼程序。不过系统自带夜览只支持内置显示器，外接显示器不会生效，此时可关闭夜览并使用 `f.lux`。\n\n```\n系统偏好设置 \u003e 显示器 \u003e 夜览... \u003e 设定时间 \u003e 日落到日出\n```\n\n\n### 菜单栏\n![mac-icon-menu](assets/mac-icon-menu.png)\n\n菜单栏中的系统图标尽量少一点，多留空间给应用图标，尤其是小屏、刘海屏。\n\n#### 时钟\n默认时间格式太长，去除不必要的。\n\n```\n系统偏好设置 \u003e 程序坞与菜单栏 \u003e 时钟 \u003e 显示日期（取消勾选）、显示星期（取消勾选）、在时间中显示秒钟（勾选）\n```\n\n#### 聚焦\n不需要在菜单栏展示，有快捷键 `⌘ + 空格`。\n\n```\n系统偏好设置 \u003e 程序坞与菜单栏 \u003e 聚焦 \u003e 在菜单栏中显示（取消勾选）\n```\n\n#### Siri\n不需要在菜单栏展示，可配置快捷键或语音指令。\n\n`系统偏好设置 \u003e Siri`，自行配置「听取“嘿Siri”」、快捷键等。\n\n\n### 访达（Finder）\n![mac-icon-finder](assets/mac-icon-finder.png)\n\n`访达(Finder)` 是 macOS 中文件可视化管理程序。\n- `访达 → 偏好设置 → 通用 → 开启新“访达”窗口时打开：「下载」`\n\n    设置一个访达启动时的默认打开目录。\n\n- `访达 → 偏好设置 → 通用 → 在标签页中打开文件夹（勾选）`\n\n    开启多标签页功能。\n    （旧版系统不支持，可自行安装 `Path Finder` 或 `TotalFinder` 以使用该功能）\n\n- `访达 → 偏好设置 → 高级 → 执行搜索时：「搜索当前文件夹」`\n\n    默认是搜全电脑文件，但绝大多数我们期望的是搜索当前文件夹下的文件。\n\n- 开启 `退出访达` 功能\n\n    一般都应用都能退出（`⌘ + Q`），但访达默认是不行的，需手动开启。\n    \n    ```shell\n    defaults write com.apple.finder QuitMenuItem -bool true\n    \n    killall Finder\n    ```\n\n- 显示目录全路径\n\n    `Finder` 顶栏默认显示的是当前目录的名称，如需跟 Windows 一样显示全路径，需手动开启。\n\n    ```shell\n    defaults write com.apple.finder _FXShowPosixPathInTitle -bool true\n    \n    killall Finder\n    ```\n    \n\n### 服务\n`服务` 是 macOS 中服务提供者程序为服务请求者程序提供的便捷服务（便捷入口、且支持设置快捷键）。\n\n例如，`iTerm` 就在 `Finder`\n\n```\n系统偏好设置 → 键盘 → 快捷键 → 服务\n```\n\n可开启所需服务，及设置其快捷键。\n\n\n### 密码长度限制\nmacOS 10.14 后不允许设置 4 位数以下的密码。下面的命令可关闭这个策略的限制：\n\n```shell\npwpolicy -clearaccountpolicies\n```\n\n\n### 开机自启管理\n用户级别的开机自启应用管理，可在 `系统偏好设置 → 用户与群组 → 登录项` 列表中查看和开关。\n\n系统级别的，比如 `Docker`，可用 `柠檬清理` 等系统工具进行管理。\n\n如果是通过 `Homebrew` 安装的服务，那可用 `brew services` 命令管理。\n\n也可以通过命令 `launchctl` 进行管理。\n\n\n### 关闭输入法切换时的提示图标\n\u003e 自 macOS 14 Sonoma 开始，默认会在切换输入法时，光标处有个提示图标。\n\u003e \n\u003e 在终端类软件中，执行以下指令，并按提示输入电脑密码，然后重启电脑后关闭该提示。\n\n```shell\nsudo defaults write /Library/Preferences/FeatureFlags/Domain/UIKit.plist redesigned_text_cursor -dict-add Enabled -bool NO\n```\n\n\n### 关于 SIP\nSIP（`System Integrity Protection`，系统完整性保护）是 macOS 所采用的一项安全技术，能够帮助防止潜在恶意软件修改 macOS 上受保护的文件和文件夹。系统完整性保护可以限制 `root` 用户帐户，以及 `root` 用户能够在 macOS 的受保护部分完成的操作。\n\n为了安全，**强烈不建议**关闭 `SIP` 保护。\n\n如果一个应用需要关闭 SIP 才可运行，这意味着此应用本身也不安全，可直接放弃。\n\n如果是临时性的需要（如上文提到的删除系统更新文件），可以先关闭、操作完后再立即开启。\n\n\n\n## 基础设施\n### Xcode Command Line Tools\n\u003e macOS 系统很多软件都需要用到的依赖工具，不安装的话连 Git 都没法用🙄\n\n```shell\nxcode-select --install\n```\n\n同意协议后会全程自动下载安装，文件比较大，需要等待一会。\n\n![install-xcode-select](assets/install-xcode-select.png)\n\n\n### Homebrew\n开源免费、强大易用的软件安装管理器。\n\n官网: https://brew.sh\n\nGitHub: https://github.com/Homebrew/brew\n\n\n因国内访问 GitHub 不稳定，可以直接参考清华大学镜像站的安装教程，简单快速、此处不做复述。\n\n清华大学开源软件镜像站及安装、镜像教程: https://mirrors.tuna.tsinghua.edu.cn/help/homebrew/\n\n\n\n### iTerm2\n开源免费、美观高效的最强终端工具。\n\n官网下载: https://www.iterm2.com\n\n或 `brew install --cask iterm2`\n\n\n#### 颜色配置\n颜色列表: https://iterm2colorschemes.com\n\n颜色选择: `Profiles -\u003e Colors -\u003e Color Presets` 选择 `Solarized Dark`\n\n\n#### 背景图\n`Profiles → Default → Window → Background Image → Enabled（勾选，会弹窗让选择图片`\n\n还可调节透明度、缩放模式。\n\n\n#### Profiles Command\n`Profiles` 用于配置新建 Tab 的默认行为，而 `Profiles` 中的 Command 则可用于配置新建 Tab 时自动执行的命令，一般用于 SSH 远程连接的场景较多。\n\nProfiles Command 配置：\n\n![iTerm2 Profiles Command 配置](assets/iterm-profile-setting.jpg)\n\n注意：自定义的 Profile 会继承 `Default` 的配置，故自定义的 Profile 无需重复去配置颜色、主题、快捷键等。\n\nProfiles 使用及快捷键：\n\n![iTerm2 Profiles 使用及快捷键](assets/iterm-profile-usage.jpg)\n\n\n#### Status Bar\n\n\n#### 配置左右键前后单词跳转\n\u003e 按住 `option + → or ←` 键，在命令的开始和结尾跳转切换\n\n`Profiles → Default → Keys → Key Mappings`，点击 `+`：\n\n`Keyboard shortcut`: `option + →`\n`Action`: `Send Escape Sequence`\n`Esc + f`\n\n`Keyboard shortcut`: `option + ←`\n`Action`: `Send Escape Sequence`\n`Esc + b`\n\n\n#### iTerm2 快速隐藏和显示\n`Keys → Hotkey`，勾选 `Show/hide all windows with a system-wide hotkey`，并设置快捷键，比如 `⌥ + ⌘ + .`（`option + command + 句点`）。\n\n\n#### 在 Finder 中打开当前目录\n在终端中使用 `open` 命令即可：\n```shell\nopen .\n```\n\n#### 粘贴自动转义\n从剪切板粘贴 URL 到 iTerm2 时会被转义。参考官方 [Wiki](https://github.com/ohmyzsh/ohmyzsh/wiki/Settings#disable_magic_functions)。打开配置文件 `~/.zshrc`：\n```ini\nDISABLE_MAGIC_FUNCTIONS=true\n```\n\n#### Finder 中使用 iTerm 打开当前目录\n可在 Finder 中快捷的使用 iTerm 打开当前目录，避免手动的在 iTerm 中输入路径。\n\n```\nFinder → 文件右键 → 服务 → New iTerm2 Tab Here\n```\n\n\n### Oh My Zsh\n`Oh My Zsh` 让 `zsh` 变得更好用、配置更简单。（macOS 10.15 后已使用 `zsh` 作为默认 Shell）\n\nGitHub: https://github.com/ohmyzsh/ohmyzsh\n\n- 通过`curl`安装\n\n```shell\nsh -c \"$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)\"\n```\n\n- 设置 `zsh` 为当前用户的默认 `Shell`\n\n```shell\nchsh -s /bin/zsh\n```\n\n- 配置文件\n\n```shell\n.zshenv 中存放的环境变量配置项在任何场景下都能被读取，这里通常把$PATH等变量写在这里，这样无论是在交互 shell，或者运行程序都会读取此文件\n\n.zshrc 主要用在交互 shell，上篇文章中就是对这个文件进行修改。对终端交互shell有用。\n\n.zlogin 在 login shell 的时候读取，比如系统启动的时候会读取此文件\n\n.zprofile 是.zlogin的替代品，如果使用了 .zlogin 就不必再关心此文件\n\n.zlogout退出终端的时候读取，用于做一些清理工作\n\n读取顺序\n.zshenv → [.zprofile if login] → [.zshrc if interactive] → [.zlogin if login] → [.zlogout sometimes]\n```\n\n\n#### 配置\n- 禁用自动更新\n\n    默认会每次新开 Tab 时检查更新，编辑 `~/.zshrc`，取消该行内容的注释：\n    \n    ```shell\n    zstyle ':omz:update' mode disabled\n    ```\n\n#### 插件\n\n##### zsh-autosuggestions\n\u003e 输入命令时可提示自动补全（灰色部分），按键 `→` 即可补全\n\u003e \n\u003e https://github.com/zsh-users/zsh-autosuggestions\n\n通过 Brew 安装：\n```shell\nbrew install zsh-autosuggestions\n```\n\n安装完后，根据提示，打开 `~/.zshrc` 添加：\n```shell\n// 以下内容可能 Homebrew 版本不一样，以 brew 的提示为准\n// 比如以前是 /usr/local/share/xxx\n// 可直接用 brew info zsh-autosuggestions 查看\nsource /opt/homebrew/share/zsh-autosuggestions/zsh-autosuggestions.zsh\n```\n\n\n##### zsh-syntax-highlighting\n\u003e 日常用的命令会高亮显示，命令错误显示红色\n\u003e \n\u003e https://github.com/zsh-users/zsh-syntax-highlighting\n\n通过 Brew 安装：\n```shell\nbrew install zsh-syntax-highlighting\n```\n\n安装完后，根据提示，打开 `~/.zshrc` 添加：\n```shell\n// 以下内容可能 Homebrew 版本不一样，以 brew 的提示为准\n// 比如以前是 /usr/local/share/xxx\n// 可直接用 brew info zsh-syntax-highlighting 查看\nsource /opt/homebrew/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh\n```\n\n##### autojump\n\u003e 实现目录间快速跳转，想去哪个目录直接 `j + 目录名`\n\u003e \n\u003e https://github.com/wting/autojump\n\n通过 Brew 安装：\n```shell\nbrew install autojump\n```\n\n安装完后，根据提示，打开 `~/.zshrc` 添加：\n```shell\n[ -f /opt/homebrew/etc/profile.d/autojump.sh ] \u0026\u0026 . /opt/homebrew/etc/profile.d/autojump.sh\n```\n\n\n#### 主题\n主题列表: https://github.com/ohmyzsh/ohmyzsh/wiki/Themes\n\n内置主题: `$ZSH/themes`（`$HOME/.oh-my-zsh/themes`）\n\n修改 `~/.zshrc` 配置文件：\n\n```shell\nZSH_THEME=\"robbyrussell\"\n```\n\n可在 `$ZSH/custom/themes` 下自定义主题。\n\n\n### Git\n#### GitHub 配置 SSH\n终端执行命令 `ssh-keygen`，一路回车，生成密钥。\n\n读取并拷贝密钥文本。\n```shell\ncat ~/.ssh/id_rsa.pub\n```\n\n打开 [GitHub](https://github.com/settings/ssh/new) SSH key 配置页面（`个人头像 \u003e Settings \u003e Access \u003e SSH and GPG keys \u003e New SSH Key`），将拷贝的 `ssh-rsa` 密钥内容添加到 GitHub。\n\n\n#### Git 配置 user\n终端执行命令 `git config --global -e` 打开 Git 全局配置文件，修改或添加 `[user]` 内容：\n```ini\n[user]\n    name = jioby\n    email = jioby@example.com\n```\n\n或者使用命令行方式：\n```shell\ngit config --global user.name \"jioby\"\ngit config --global user.email \"jioby@example.com\"\n```\n\n\n#### 设置 lg 别名\n`git config --global -e` 打开配置文件：\n```ini\n[alias]\n    lg = log --graph --pretty=format:'%Cred%h%Creset | %ad | %Cblue%d%Creset %s %Cgreen(%an)%Creset' --abbrev-commit --date=short\n```\n\n或者使用命令行方式：\n```shell\ngit config --global alias.lg \"log --graph --pretty=format:'%Cred%h%Creset | %ad | %Cblue%d%Creset %s %Cgreen(%an)%Creset' --abbrev-commit --date=short\"\n```\n\n接着可使用 `git lg` 清爽看日志：\n```shell\n* 5864617 | 2022-07-31 |  (HEAD -\u003e master, origin/master, origin/HEAD) update license to CC 4.0 (Jioby)\n* 3d8de53 | 2022-07-31 |  关闭自动更新，解决nsurlsessiond偷偷跑流量 (shockerli)\n* a0c313e | 2022-07-30 |  vscode install code command (shockerli)\n* 8ebffa3 | 2022-07-30 |  全新指南，支持macOS 12.x系统 (shockerli)\n```\n\n#### 默认分支\n设置 Git 项目初始化时的默认分支，一般为 `master` 或 `main`。\n\n```shell\ngit config --global init.defaultBranch \u003cname\u003e\n```\n\n\n### Vim\n在 macOS 上 `Vim` 使用较浅，故配置够用即可，不装扩展。直接 `vim ~/.vimrc`：\n\n```vim\n\" 推荐设置\ncolorscheme desert  \" 颜色显示方案\nsyntax on           \" 打开语法高亮\nset tabstop=4       \" TAB 字符的显示宽度\n\n\" 以下自选\nset nocompatible    \" 不兼容 Vi\nset nu              \" 显示行号\nset showmatch       \" 自动高亮匹配括号\nset cursorline      \" 高亮光标所在行\nset hlsearch        \" 高亮搜索匹配结果\nset incsearch       \" 跟随输入，即时搜索\nset ignorecase      \" 搜索忽略大小写\nset history=1000    \" 历史操作记录次数\nset autoread        \" 文件发生外部变更时提示\nset wildmenu        \" 命令模式，底部按 Tab 自动补全\nset smartindent     \" 智能缩进\nset expandtab       \" 按 Tab 键时，使用空格替代制表符（不影响已有制表符）\nset shiftwidth=4    \" 自动缩进时，缩进长度\nset softtabstop=-1  \" Tab 转为多少空格，负数表示与shiftwidth一致\nset laststatus=2    \" 是否显示状态栏, 0:不显示, 1:多窗口时显示, 2:显示\nset ruler           \" 这状态栏显示光标的当前位置（行数\u0026列数）\nset wrap            \" 自动换行\n```\n\n`colorscheme` 可选项在 `/usr/share/vim/vim*/colors` 目录下，自己选。\n\n\n\n## 系统工具\n\n### 柠檬清理\n\u003e 腾讯出品**开源免费**的清理、卸载、流量、监控、磁盘空间分析、开机启动管理等系统工具。\n\n官网下载: https://lemon.qq.com\n\n开源地址: https://github.com/Tencent/lemon-cleaner\n\n最值得使用的功能，莫过于**清理与当前芯片不同版本的二进制文件**：\n![lemon-clean-rosetta](assets/lemon-clean-rosetta.jpg)\n\n\n### 输入法\n拼音输入法推荐 `搜狗输入法`，简单易用、词库齐全、安装即用。\n\n官网下载: https://pinyin.sogou.com/mac/\n\n输入法配置：`系统偏好设置 \u003e 键盘 \u003e 输入法`：删除无用的输入法（`ABC` 别删）\n\n同步原配置：`偏好设置 \u003e 登录账户 \u003e 同步 \u003e 配置同步 \u003e 下载配置`\n\n\n### Chrome\n官网下载: https://www.google.cn/intl/zh-CN/chrome/\n\n#### 扩展\n- [Infinity New Tab Pro](http://cn.infinitynewtab.com): 新标签页\n- [iTab New Tab](https://www.itab.link): 新标签页\n- [FeHelper](https://www.baidufe.com/fehelper): 前端工具集（内含 JSON 美化对比、时间转换、编码转换等十几个小工具）\n- [Adblock Plus](https://adblockplus.org): 广告净化\n- [SimpRead](http://ksria.com/simpread): 最佳阅读体验\n- [Tampermonkey](https://www.tampermonkey.net): 油猴脚本管理\n- [ImageAssistant](http://www.pullywood.com/ImageAssistant): 图片助手，网页图片提取下载\n- [SourceGraph](https://sourcegraph.com): GitHub 源码浏览神器\n\n\n#### 油猴脚本\n油猴脚本（用户脚本）是一段代码，它们能够优化您的网页浏览体验。安装之后，有些脚本能为网站添加新的功能，有些能使网站的界面更加易用，有些则能隐藏网站上烦人的部分内容。\n\n[Tampermonkey](https://www.tampermonkey.net) 是一个可运行在 Chrome、Firefox、Safari、Edge 等浏览器的用户脚本管理扩展。\n\n[Greasy Fork](https://greasyfork.org) 则是一个油猴脚本免费商店，绝大部分用户脚本都在上面有发布，方便查找、安装使用。\n\n**安装方式**：\n- 从 Greasy Fork 安装\n    例如 [CSDNGreener](https://greasyfork.org/zh-CN/scripts/378351)，打开后会显示安装按钮和界面\n- 从 URL 安装\n    例如 Bilibili-Evolved 的脚本 URL 是 https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/dist/bilibili-evolved.user.js\n    直接在 Tampermonkey `管理面板 \u003e 实用工具 \u003e 从 URL 安装`，粘贴脚本 URL，点击安装即可\n\n**推荐脚本**：\n- [Bilibili-Evolved](https://github.com/the1812/Bilibili-Evolved) - B站增强 [[脚本 URL]](https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/dist/bilibili-evolved.user.js)\n- [CSDNGreener](https://github.com/adlered/CSDNGreener) - CSDN 网站绿化 [[Greasy Fork]](https://greasyfork.org/zh-CN/scripts/378351)\n\n\n\n### Alfred\n效率工具神器，可以快速的搜索本地应用、搜索本地文件、执行终端命令、浏览器搜索、打开网址、剪切板管理、翻译、文件管理、音乐控制等，也可以自定义工作流，与其他软件深度配合。\n\n软件小巧、性能强悍、高级功能需付费，配置同步可用 iCloud 或 Git 或自己想办法。\n\n官网: https://www.alfredapp.com\n\n#### 常用配置\n- `Features` \u003e `Web Search` \u003e 新增自定义搜索、关闭不需要的搜索\n- `Features` \u003e `Default Results` \u003e `Setup fallback results` \u003e 设置使用搜索方式\n- `Features` \u003e `Clipboard History` \u003e 勾选需要剪贴板存储的内容（文本、图片、文件）及保留时间\n- `Appearance` \u003e 选择 `Alfred macOS` 切换主题样式，也可以自定义\n- `Appearance` \u003e `Options` \u003e `Show Alfred on`：选择 `active screen` 或 `mouse screen`，因为默认为 `default screen` 即在默认显示屏打开 Alfred 窗口，多屏或多显示器时默认设置不够贴心。\n\n#### Workflows\n可参考下面两个收藏集合内的配置：\n- [learn-anything/alfred-workflows](https://github.com/learn-anything/alfred-workflows)\n- [zenorocha/alfred-workflows](https://github.com/zenorocha/alfred-workflows)\n\n\n\n### Shell Alias\n以下是常用命令，设置别名，使用更方便。添加到 `~/.zshrc`。\n```shell\nalias ll='ls -Alh'\nalias al='ls | sed \"s:^:`pwd`/:\"'\nalias egrep='ps -ef | grep'\nalias grep='grep --color=auto --exclude-dir={.bzr,CVS,.git,.hg,.svn}'\n```\n\n\n\n### autossh\n\u003e 一个简单管理远程 SSH 账号的脚本工具\n\n- 安装\n```shell\ncurl -o /usr/local/bin/autossh https://raw.githubusercontent.com/FeeiCN/autossh/master/autossh\nchmod +x /usr/local/bin/autossh\n```\n\n- 配置\n```shell\n$ cat ~/.autosshrc\nserver_name|192.168.1.110|root|password|port|is_bastion\n```\n\n### 开发软件\n- `SourceTree`: Git 可视化（免费）\n- `Navicat Premium`: 多种数据库管理工具\n- `Sourcetrail`: 源码阅读神器（[开源](https://github.com/CoatiSoftware/Sourcetrail)）\n- `Jetbrains IDE 系列`\n- `Postman`: 接口调试（免费）\n- `htop`: 增强版 `top` 命令（[开源](https://github.com/htop-dev/htop)）\n- `Visual Studio Code`: 强大的编辑器（[开源](https://code.visualstudio.com)）\n- `Proxyman`: 代理抓包工具（免费）\n\n\n#### Visual Studio Code\n官网下载: https://code.visualstudio.com\n\n\n##### 配置终端 code 快捷打开\n安装 `code` 命令，支持在终端快捷打开 `VSCode`。\n\n快捷键 `⌘ + ⇧ + P` 打开命令面板，输入 `shell`，选择 `Shell Command: Install 'code' command in PATH`。\n\n![install-code-command-in-path](assets/install-code-in-path.jpg)\n\n然后在终端输入 `code .` 或者 `code [path]` 直接在 `VSCode` 打开文件或目录。\n\n\n##### 扩展\n| 扩展 | 说明 |\n| --- | --- |\n| `Chinese Language Pack for Visual Studio Code` | 中文语言包 | \n| `IntelliJ IDEA Keybindings` | IntelliJ IDEA 快捷键绑定 |\n| `Code Runner` | 快捷运行代码文件 |\n| `EditorConfig for VS Code` | `EditorConfig` 配置扩展，根据配置统一格式化风格 |\n| `PPZ` | 关系型数据库图形管理 |\n\n\n#### Sublime Text\n安装 `Package Control`: https://packagecontrol.io/installation\n\n中文插件: `ChineseLocalizations`\n\n- 配置 `subl` 命令行打开文件\n\n\u003e 在 `~/.zshrc` 添加如下配置:\n\n```shell\nalias subl=\"'/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl'\"\n```\n\n然后就可以使用 `subl [path]` 快捷打开文件或目录。\n\n\n### 其他软件\n- [`f.lux`](https://justgetflux.com)：自动调整屏幕色温的护眼程序（免费）\n- `MonitorControl`：[`开源`](https://github.com/MonitorControl/MonitorControl) 显示器亮度、音量控制，支持外接显示器\n- `万年历`：日历（免费）\n- `网易有道词典`：翻译（免费）\n- `iShot`：截图、长截图、录屏（基础免费）\n- `嘀嗒清单`：时间与日程管理（基础免费）\n- `MWeb` / `Typora` / `FSNotes`：Markdown 笔记管理\n- `FastZip/MacZip`：解压缩（免费）\n- `NTFS Disk by Omi`：免费的 NTFS 磁盘读写管理器（支持 M1）\n- `OmniGraffle Pro`：图表/流程图等矢量图绘制\n- `Reeder`：RSS 订阅\n- `IINA`：[`开源`](https://github.com/iina/iina)音视频播放器\n- `Beyond Compare`：文件/文本对比\n- `Rectangle` - [`开源`](https://github.com/rxhanson/Rectangle)窗口整理/分屏\n- `uTools`：类似 Alfred 的效率工具，跨平台（免费）\n- `Brave Browser`：基于 `Chromium` 的[`开源`](https://github.com/brave/brave-browser)浏览器，号称能更好的保护隐私\n- `Bitwarden`：[`开源`](https://github.com/bitwarden/clients) 密码管理器\n- `Maccy`：[`开源`](https://github.com/p0deje/Maccy)剪切板管理工具\n- [`FlyKey`](https://www.better365.cn/FlyKey.html) - 应用快捷键展示（免费）\n- `Parallels Desktop` - 虚拟机\n- `AlDente` - 电源管理，让电池更耐用（基础免费）\n- [warp](https://github.com/warpdotdev/Warp) - 号称下一代终端神器（免费）\n- `Bartender` - 菜单栏图标管理\n\n还有很多优秀软件没有推荐，后续单开一个专门介绍。\n\n\n## 开发环境\n\n### Java\n#### JDK\n- `JVM`：`Java Virtual Machine`\n- `JRE`：`Java Runtime Environment`\n- `JDK`：`Java SE Development Kit`\n- `SDK`：`Software Development Kit`\n\n```\n  ┌─    ┌──────────────────────────────────┐\n  │     │     Compiler, debugger, etc.     │\n  │     └──────────────────────────────────┘\n JDK ┌─ ┌──────────────────────────────────┐\n  │  │  │                                  │\n  │ JRE │      JVM + Runtime Library       │\n  │  │  │                                  │\n  └─ └─ └──────────────────────────────────┘\n        ┌───────┐┌───────┐┌───────┐┌───────┐\n        │Windows││ Linux ││ macOS ││others │\n        └───────┘└───────┘└───────┘└───────┘\n\n图源自：https://www.liaoxuefeng.com/wiki/1252599548343744/1255876875896416\n```\n\n##### OracleJDK\n\u003e 仅 JDK 17 及以上版本才支持 Apple Silicon。\n\u003e \n\u003e JDK 8 需登录 Oracle 账户才能下载，且没有 ARM 版本。（虽然 x64 版本也可以安装使用，但不清楚是否存在问题）\n\u003e \n\u003e 不是很推荐使用 OracleJDK，因为其协议已改为 [OTN](https://www.oracle.com/java/technologies/javase/jdk-faqs.html)\n\n下载地址: https://www.oracle.com/java/technologies/downloads\n\n根据 CPU 选择包：\n- **Intel**: `x64 DMG Installer`\n- **Apple Silicon**: `Arm 64 DMG Installer`\n\n下载安装，然后验证：\n```shell\n➜  ~ java -version\njava version \"1.8.0_311\"\nJava(TM) SE Runtime Environment (build 1.8.0_311-b11)\nJava HotSpot(TM) 64-Bit Server VM (build 25.311-b11, mixed mode)\n```\n\n配置 `JAVA_HOME` 环境变量：\n```shell\nexport JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_311.jdk/Contents/Home\n```\n\n##### OpenJDK\nOpenJDK 是 Sun 在 2006 年开源的 Java SE 免费开源版本，采用 `GPLv2+CE` 许可协议。该项目由 Oracle 主导，IBM、红帽、微软等均有参与。\n\n官网: https://openjdk.org\n\n- Homebrew 安装\n```shell\n// 搜索\nbrew search openjdk\n\n// 安装\n// 苹果芯片不一定支持老版本，失败则可考虑安装 Zulu 版本\nbrew install openjdk@8\n\n// 配置\nsudo ln -sfn /opt/homebrew/opt/openjdk@8/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-8.jdk\n```\n\n- Zulu 安装\n\n下载对应版本: https://www.azul.com/downloads/?version=java-8-lts\u0026os=macos\u0026architecture=arm-64-bit\u0026package=jdk\n\n对应的安装教程: https://docs.azul.com/core/zulu-openjdk/install/macos\n\n```shell\n➜ java -version\nopenjdk version \"1.8.0_342\"\nOpenJDK Runtime Environment (Zulu 8.64.0.15-CA-macos-aarch64) (build 1.8.0_342-b07)\nOpenJDK 64-Bit Server VM (Zulu 8.64.0.15-CA-macos-aarch64) (build 25.342-b07, mixed mode)\n```\n\n对应的 `JAVA_HOME` 在 `/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home`\n\n\n##### SDKMAN\n一个专门安装、管理 SKD 的跨平台 Shell 脚本软件，支持几乎所有厂商的 JDK 及常用 SDK。\n\n官网及教程: https://sdkman.io\n\n以 JDK 为例，其他 SDK 类似。\n\n- 安装 SDKMAN\n\n```shell\ncurl -s \"https://get.sdkman.io\" | bash\nsource \"$HOME/.sdkman/bin/sdkman-init.sh\"\n```\n\n安装目录 `$HOME/.sdkman`\n\n- 查看支持的 JDK 版本列表\n\n```shell\n\n================================================================================\nAvailable Java Versions for macOS ARM 64bit\n================================================================================\n Vendor        | Use | Version      | Dist    | Status     | Identifier\n--------------------------------------------------------------------------------\n Java.net      |     | 20.ea.9      | open    |            | 20.ea.9-open\n               |     | 20.ea.8      | open    |            | 20.ea.8-open\n               |     | 19.ea.34     | open    |            | 19.ea.34-open\n               |     | 19.ea.33     | open    |            | 19.ea.33-open\n               |     | 18.0.2       | open    |            | 18.0.2-open\n               |     | 18.0.1.1     | open    |            | 18.0.1.1-open\n Microsoft     |     | 17.0.4       | ms      |            | 17.0.4-ms\n               |     | 17.0.3       | ms      |            | 17.0.3-ms\n               |     | 11.0.16      | ms      |            | 11.0.16-ms\n               |     | 11.0.15      | ms      |            | 11.0.15-ms\n Oracle        |     | 18.0.2       | oracle  |            | 18.0.2-oracle\n               |     | 18.0.1       | oracle  |            | 18.0.1-oracle\n               |     | 17.0.4       | oracle  |            | 17.0.4-oracle\n               |     | 17.0.3       | oracle  |            | 17.0.3-oracle\n```\n\n\n- 安装 JDK\n\n```shell\n// OracleJDK\nsdk install java x.y.z-oracle\n\n// OpenJDK\nsdk install java x.y.z-open\n```\n\n- 查看切换默认 JDK 版本\n\n```shell\n// 查看当前版本\nsdk current java\n\n// 切换默认版本\nsdk default java x.y.z-open\n```\n\n##### IDEA\n`IntelliJ IDEA` 提供了 JDK 管理功能，可添加已存在的 JDK，也可代为下载安装所需 JDK。\n\n操作步骤：`MenuBar` → `File` → `Project Structure...`(`⌘ + ;`) → `SDKs` → `+` → `Download JDK`\n\n![idea-jdk-download](assets/idea-jdk-download.jpg)\n\n\n\n##### JAVA_HOME\n查看已安装版本的 `JAVA_HOME`：\n```shell\n/usr/libexec/java_home\n\n/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home\n/Library/Java/JavaVirtualMachines/zulu-11.jdk/Contents/Home\n```\n\n查看指定版本的 `JAVA_HOME`：\n```shell\n/usr/libexec/java_home -v8\n\n/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home\n```\n\n单个版本配置（`~/.zshrc`）：\n```shell\nexport JAVA_HOME=$(/usr/libexec/java_home -v8)\n```\n\n多版本配置：\n```shell\n# Java Home\nexport JAVA_HOME=$(/usr/libexec/java_home -v11)\nexport JAVA_8_HOME=$(/usr/libexec/java_home -v8)\nexport JAVA_11_HOME=$(/usr/libexec/java_home -v11)\n\nalias java8='export JAVA_HOME=$JAVA_8_HOME'\nalias java11='export JAVA_HOME=$JAVA_11_HOME'\n\n# 默认为 Java 8\njava8\n```\n\n\n#### Maven\n- 安装\n\n```shell\nbrew install maven\n```\n\n\u003e 如果只使用 `IDEA`，可无需安装，直接使用 IDE 内置的 Maven 即可。\n\n- 国内镜像配置\n\n以 [阿里云 Maven](https://developer.aliyun.com/mvn/guide) 为例。打开或创建配置文件：`$HOME/.m2/settings.xml`，并修改：\n\n```xml\n\u003c?xml version=\"1.0\" encoding=\"UTF-8\"?\u003e\n\u003csettings xmlns=\"http://maven.apache.org/SETTINGS/1.0.0\"\n          xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n          xsi:schemaLocation=\"http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd\"\u003e\n    \u003cmirrors\u003e\n        \u003cmirror\u003e\n            \u003c!-- 文档: https://developer.aliyun.com/mvn/guide --\u003e\n            \u003cid\u003ealiyunmaven\u003c/id\u003e\n            \u003cmirrorOf\u003e*\u003c/mirrorOf\u003e\n            \u003cname\u003e阿里云公共仓库\u003c/name\u003e\n            \u003curl\u003ehttps://maven.aliyun.com/repository/public\u003c/url\u003e\n        \u003c/mirror\u003e\n    \u003c/mirrors\u003e\n\u003c/settings\u003e\n```\n\n\n### PHP\n#### 安装\n\n- 第三方源\n\u003e 由于官方维护的 PHP 版本都是最新的几个，对于比较老的版本，无法直接安装，如果需要可 Tap 第三方源\n\n强烈推荐: [shivammathur/php](https://github.com/shivammathur/homebrew-php)\n\n\u003e 添加 Tap\n```shell\nbrew tap shivammathur/php\n```\n\n- 安装 PHP\n\n\u003e 此处示例安装 `PHP 7.4`\n```shell\nbrew install php@7.4\n```\n\n\u003e 将此版本替换为命令行默认版本\n```shell\nbrew link --overwrite --force php@7.4\n```\n\n\u003e 添加到 PATH\n```shell\necho 'export PATH=\"/opt/homebrew/opt/php@7.4/bin:$PATH\"' \u003e\u003e ~/.zshrc\necho 'export PATH=\"/opt/homebrew/opt/php@7.4/sbin:$PATH\"' \u003e\u003e ~/.zshrc\n```\n\n- 配置\n\n\u003e 打开配置文件修改默认时区\n```ini\ndate.timezone = PRC\n```\n\n\n#### Composer\n- 安装\n\n通过 brew 安装：\n```shell\nbrew install composer\n```\n\n或者手动安装：\n```shell\ncurl -o composer https://getcomposer.org/download/latest-stable/composer.phar\nchmod +x composer\n[ ! -d \"/usr/local/bin\" ] \u0026\u0026 sudo mkdir /usr/local/bin\nsudo mv composer /usr/local/bin\n```\n\n- 降级\n\n如果一些老项目不支持 Composer V2，那么需要回退到 V1 版本\n```shell\ncomposer self-update --1\n```\n\n- 镜像\n```shell\n// 设置镜像\ncomposer config -g repo.packagist composer [mirrors-url]\n\n// 取消镜像\ncomposer config -g --unset repos.packagist\n```\n\n```\n// 阿里云\n官网: https://developer.aliyun.com/composer\n镜像: https://mirrors.aliyun.com/composer/\n\n// 腾讯云\n// 出现过composer.lock文件中dist.reference与dist.url下载不一致的情况\n// 即reference是最新commit，但镜像url下载的包却不非最新\n官网: https://mirrors.cloud.tencent.com/help/composer.html\n镜像: https://mirrors.cloud.tencent.com/composer/\n```\n\n其他镜像不是很稳定、或不是很全（一些下载量小的会 `404`），如有问题，轮换着试试。\n\n\n### Go\n#### 安装\n安装最新版本\n```shell\nbrew install go\n```\n\n或者指定版本\n```shell\nbrew install go@1.13\n```\n\n非最新版本，需要建立个链接，这样才能用到 Go 命令\n```shell\nbrew link --overwrite --force go@1.13\n```\n\n\n#### 配置\n- 环境变量\n\n```shell\nexport GO111MODULE=on\nexport GOPATH=/Users/jioby/gowork\nexport PATH=\"$GOPATH/bin:$PATH\"\nexport GOPROXY=https://goproxy.cn,https://goproxy.io,direct\nexport GOPRIVATE=*.your-private-git.com\n```\n\n- 私有仓库\n\n终端运行命令 `git config --global -e`，添加如下类似配置并保持：\n```shell\n[url \"ssh://git@git.example.com:8182/\"]\n        insteadOf = https://git.example.com/\n```\n\n\n","funding_links":[],"categories":["Others"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshockerli%2Fmac-initialize","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshockerli%2Fmac-initialize","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshockerli%2Fmac-initialize/lists"}