Homebrew
Homebrew是一款MacOS平台下的软件包管理工具,拥有安装、卸载、更新、查看、搜索等很多实用的功能。简单的一条指令,就可以实现包管理,而不用你关心各种依赖和文件路径的情况,十分方便快捷。 通常用于Mac系统,也可以安装在Linux系统
注意M1处理器的安装位置(与Intel有所区别): brew的安装位置:/opt/homebrew ,brew安装的所有【软件安装位置】在 /opt/homebrew/Cellar 目录下
安装
官方安装方式
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
但这种方法并不适用国内的Mac用户,因为网络资源的原因,电脑下载是龟速,实在是无法忍受,不信你自己试试就知道了。
报错
curl: (7) Failed to connect to raw.githubusercontent.com port 443 after 25 ms: Connection refused
使用镜像加速方式安装
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
等待下载完成即可
解决下载慢有两个办法:
一是替换镜像源,将下载资源改为国内镜像资源即可(推荐)
二是科学上网,通过全局代理来进行安装,也是解决网络问题的一种方法(不推荐,不爱喝茶)
# 更新
brew update
环境变量
设置环境变了 根据Shell类型来设置,如果不设置环境变量,是无法识别到brew
brew help
zsh: command not found: brew
直接执行命令行提示的这一段命令就可以
切换国内的镜像源
Homebrew 默认使用的是国外的源,在下载时速度可能会比较慢。好在国内的清华大学和中科大提供了 Homebrew 的镜像源,我们可以很轻松的切换源,从而提升我们的下载速度。
中科大源
git -C "$(brew --repo)" remote set-url origin https://mirrors.ustc.edu.cn/brew.git
git -C "$(brew --repo homebrew/core)" remote set-url origin https://mirrors.ustc.edu.cn/homebrew-core.git
git -C "$(brew --repo homebrew/cask)" remote set-url origin https://mirrors.ustc.edu.cn/homebrew-cask.git
brew update
清华大学源
git -C "$(brew --repo)" remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git
git -C "$(brew --repo homebrew/core)" remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-core.git
git -C "$(brew --repo homebrew/cask)" remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-cask.git
brew update
常用命令
- 搜索软件包:
brew search软件包名称 - 安装软件包:
brew install软件包名称 - 更新 Homebrew:
brew update - 更新软件包:
brew upgrade软件包名称 - 卸载软件包:
brew uninstall软件包名称 - 查看已安装软件包:
brew list - 查看已过时软件包:
brew outdated - 查看软件包信息:
brew info软件包名称
卸载Homebrew
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/HomebrewUninstall.sh)"
node版本管理工具 n
n 是一个 Node.js 版本管理工具,用于在同一台计算机上轻松安装、切换和管理不同版本的 Node.js。通过使用 n,可以方便地在不同的项目中使用不同的 Node.js 版本,以确保项目的兼容性和稳定性。
安装
使用刚刚安装的brew来安装
brew install nv
or
npm install -g n
查看可以安装的版本 ,默认20个 --all可查看全部
n lts
安装不同Node版本
n <version>
如果安装很慢就切换镜像源,用node官方的镜像源下载太慢,可以切换成taobao或者其他的镜像。
# 设置环境变量
export N_NODE_MIRROR=https://npm.taobao.org/mirrors/node
# 安装
sudo -E n <version>
报错
Error: sudo required (or change ownership, or define N_PREFIX)
尝试在命令前面加sudo,然后输入密码
选择Node版本
自行执行n以查看下载的版本,并安装选定的版本。
n
node/4.9.1
ο node/8.11.3
node/10.15.0
Use up/down arrow keys to select a version, return key to install, d to delete, q to quit
如果使用node -v查看node版本报错,这是没有安装 Rosetta 2
zsh: bad CPU type in executable: node
执行命令
/usr/sbin/softwareupdate --install-rosetta --agree-to-license
常用命令
列出缓存中的下载版本:
n ls
移除版本
n rm 0.9.4 v0.10.0
正在删除除已安装版本之外的所有缓存版本:
n prune
查看安装位置
# 查看node版本安装位置
n which 11.14.0
/usr/local/n/versions/node/11.14.0/bin/node
Git环境
这里不太过多讲述Git使用问题、常用的命令、合并回滚之类,只讲述在配置新的开发环境时可能需要用到的一些配置。
安装
如果你的电脑又安装Xcode工具时可能已经安装了Git,如果没有安装可以使用brew
brew i git
git --version
配置多个Git账号
如果工作中用的是自己电脑难免会避免要配置两个账号,个人开发用github,在公司需要使用公司gitlab的账号,这时候就要区分一下用户。
默认情况下git使用的是全局配置,也就是git config --golbal user.name/email,个人强烈建议清空一下全局配置,我就曾经在公司使用了个人GitHub账号名称提交代码到公司仓库,后来reviewCode的时候就差找个地缝钻进去。
清空
git config --global --unset user.name
git config --global --unset user.email
然后在每个项目里,单独设置自己的name、email
git config user.name "xxx"
git config user.email "xx@xx.com"
生成ssh-key
接下来就是生成两个ssh-key,如果之前有生成建议删除重新创建,默认生存的密钥文件名是id_ras时间一长容易忘记。
密钥文件存放路径
~/.ssh/
根据邮箱生存密钥,在生成的时候最好添加上名称。注意邮箱要和自己的git账号邮箱一致,不要用公司的账号创建github密钥。
ssh-keygen -t rsa -C "xxx@xxx.com"
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/xx/.ssh/id_rsa):
❗️可别一路回车,不然默认就创建id_ras文件,如果之前有就会覆盖。
在第一步,输入文件名称,用来区分,比如company_id_rsa表示是公司的密钥
Enter file in which to save the key (/Users/xx/.ssh/id_rsa): company_id_rsa
然后就可以一路回车
添加公钥到git账户
此时.ssh文件下会出现两个文件,一个是company_id_rsa和company_id_rsa.hub文件,一个为私钥一个为公钥。将company_id_rsa.hub文件内容复制粘贴到自己的git账户中就可以。
cat company_id_rsa.pub
ssh-rsa asdf+aaa/d+cbblNnvXLBo3VJShA5OkGRjAV09JudfasdfasdfYcI0ReGVK54Bvquzh9UFTpMUvdWRnwpfYPLLZB+2eVo7TzSSKpp0a+fdassfdfas+VMNC0fEKtyI/jdlHbFnFKBcyfFu2v8Ry2RnvhQWr5k1TOWDKCYLNH6aVt8xE6e9I/cbblNnvXLBo3VJShA5OkGRjAV09JudfasdfasdfYcI0ReGVK54Bvquzh9UFTpMUvdWRnwpfYPLLZBHCQrarxxxxxddXa+n0Tnk4VOv6hon7SHtjBI+WDKCYLNH6aEMtbIRPVk+xxxxxxxxxfdsaxxxxx/B12Xyi0aUyBfrotGYwPLlAEIiO74cR/YeYU= xxx@xxx.com
添加到ssh-agent
因为默认只读取了id_rsa,需要让SSH识别新的私钥,使用ssh-add命令添加
ssh-add ~/.ssh/company_id_rsa
Identitiy added: ~/.ssh/company_id_rsa,
由于ssh-agent并不是永久的,只是临时存储,在电脑重启后自然也就会重置,此时进行git操作会报错。
所以每次重新启动电脑都需要添加ssh-agent,我自己的解决办法就是在.zshrc文件中加入命令,每次打开终端就会自动添加
vim ~/.zshrc
# 添加命令
ssh-add ~/.ssh/company_id_rsa
ssh-add ~/.ssh/github_id_rsa
wq保存,这样每次在重启后,只要打开终端就会自动添加
如果觉得这种方式还不满足,可以试试自动化操作的方式,添加自动化命令脚本来解决。
config添加多个ssh-key
在~/.ssh下找到一个config文件,如果没有就新建一个,添加以下配置。
# github
Host git@github.com
HostName https://github.com
User git
IdentityFile ~/.ssh/github_id_rsa
# company
Host git@company.gitlab.com
HostName https://company.gitlab.com #公司gitlab地址
User git
IdentityFile ~/.ssh/company_id_rsa
测试一下,-T后面为上面配置的Host
ssh -T git@github.com
Hi yenian! You've successfully authenticated, but GitHub does not provide shell access.
大功告成🎊
为Git commit添加签名
这个可以查看我之前的文章【维护代码的尊严:GPG签名让你的Git commit不再裸奔】
字体
下载FiraCode或者使用brew
brew tap homebrew/cask-fonts
brew install --cask font-fira-code
安装
打开 tff文件夹,选择字体双击, 点击安装即可
VsCode中配置
打开settings.json配置文件
"editor.fontFamily": "Fira Code",
"editor.fontLigatures": true,
如果没有生效,尝试重启一下VsCode
iterm2
下载iterm2或者使用brew
brew install iterm2
默认是这样,接下来就是美化它。
on-my-zhs
zsh 是一款强大的虚拟终端,既是一个系统的虚拟终端,也可以作为一个脚本语言的交互解析器,运行命令安装。
# via curl
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
# via wget
sh -c "$(wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
如果安装不成功。可以尝试手动安装
# 下载 oh-my-zsh 源码
git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh
# 并且把 .zshrc 配置文件拷贝到根目录下
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
# 让 .zshrc 配置文件生效
source ~/.zshrc
以上两种方式地址很有可能被墙,如果都不行建议手动到github下载
- Download ZIP
- 解压代码
- 移动到
~/.oh-my-zsh目录下 - 复制配置到
~/.zshrc
# 进入 Download 目录 将文件移动到目录
mv ohmyzsh-master ~/.oh-my-zsh
# 复制配置文件
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
# 刷新配置
source ~/.zshrc
重启iterm2,终端就会变,如果重启出现一下代码
[oh-my-zsh] Insecure completion-dependent directories detected:
➜ ~ drwxrwxr-x 21 fanliu staff 672 1 10 04:51 /Users/fanliu/.oh-my-zsh
drwxrwxr-x 6 fanliu staff 192 1 10 20:27 /Users/fanliu/.oh-my-zsh/cache
drwxrwxr-x 319 fanliu staff 10208 1 10 04:51 /Users/fanliu/.oh-my-zsh/plugins
drwxrwxr-x 4 fanliu staff 128 1 10 04:51 /Users/fanliu/.oh-my-zsh/plugins/git
[oh-my-zsh] For safety, we will not load completions from these directories until
[oh-my-zsh] you fix their permissions and ownership and restart zsh.
[oh-my-zsh] See the above list for directories with group or other writability.
[oh-my-zsh] To fix your permissions you can do so by disabling
[oh-my-zsh] the write permission of "group" and "others" and making sure that the
[oh-my-zsh] owner of these directories is either root or your current user.
[oh-my-zsh] The following command may help:
[oh-my-zsh] compaudit | xargs chmod g-w,o-w
[oh-my-zsh] If the above didn't help or you want to skip the verification of
[oh-my-zsh] insecure directories you can set the variable ZSH_DISABLE_COMPFIX to
[oh-my-zsh] "true" before oh-my-zsh is sourced in your zshrc file.
可以尝试执行,然后重启。
# 编辑文件
vim ~/.zshrc
# 如果不会使用vim可以以文件形式打开
open ~/.zshrc
# 在首行加入配置 保存退出
ZSH_DISABLE_COMPFIX=true
# 刷新配置
source ~/.zshrc
主题
oh-my-zhs有很多主题,可以自行前往查看,选择自己喜欢的主题后。修改主题只需要编辑.zshrc文件,修改ZSH_THEME,重新加载source ~/.zshrc。
# example
ZSH_THEME="agnoster" # (this is one of the fancy ones)
# see https://github.com/ohmyzsh/ohmyzsh/wiki/Themes#agnoster
需要使用非oh-my-zhs提供的主题,需要将主题下载到~/.oh-my-zsh/themes目录下。
我自己使用的是spaceship-prompt
配色
如果主题提供的配色不好看,可以使用Iterm2-color-schemes,这里提供了很多花里胡哨的配色方案。
点击下载,然后解压
在目录下打开,执行脚本
# 导入所有配色方案
tools/import-scheme.sh schemes/*
# 导入所有配色方案(详细模式)
tools/import-scheme.sh -v schemes/*
# 导入特定的配色方案
tools/import-scheme.sh 'schemes/SpaceGray Eighties.itermcolors' # by file path
tools/import-scheme.sh 'SpaceGray Eighties' # by scheme name
tools/import-scheme.sh Molokai 'SpaceGray Eighties' # import multiple
退出重新加载,command + ,打开设置,找到以下位置,选择自己喜欢的配色。
插件
git
该插件默认已经开启,如果无法使用请尝试命令
source ~/.oh-my-zsh/oh-my-zsh.sh in your ~/.zshrc
这个插件可以将git命令缩写,比如
gst ==> 'git status'
gp ==> 'git push'
gl ==> 'git pull'
获取所有git命令缩写
cat ~/.oh-my-zsh/plugins/git/git.plugin.zsh
zsh-autosuggestions
zsh-autosuggestions 可以根据历史记录,在输入命令的时候可以给出建议,使用tab可以用选择提示的相关命令,方向键->可以自动补全提示的命令。
# 安装
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
打开~/.zshrc文件,将插件添加到plugins当中
plugins=(
# other plugins...
zsh-autosuggestions
)
zsh-syntax-highlighting
zsh-syntax-highlighting 为shell zsh提供语法高亮显示。当命令在zsh提示符下输入交互式终端时,它可以突出显示命令。这有助于在运行命令之前查看命令,特别是在捕获语法错误方面。
# 执行命令
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
# 在.zshrc中启用插件
plugins=(zsh-syntax-highlighting)
powerline 字体
这里字体可以根据自己喜好,我用的是powerline。
下载字体 powerline字体
# clone
git clone https://github.com/powerline/fonts.git --depth=1
# install
cd fonts
./install.sh
# clean-up a bit
cd ..
rm -rf fonts
打开设置,在Text --> Font下选择已安装的字体
导入导出配置
进入设置,选择配置文件后,保存配置文件到本地,名称随便取。
导入配置一样,点击Import JSON profiles选择JSON文件即可,这里贴一下我的配置文件。
快捷键
标签页和窗口操作:
- 新建标签页:
Cmd + T - 关闭标签页:
Cmd + W - 切换到下一个标签页:
Cmd + ] - 切换到上一个标签页:
Cmd + [ - 切换到指定标签页:
Cmd + 数字键(1-9) - 新建窗口:
Cmd + N - 关闭窗口:
Cmd + Shift + W - 切换全屏模式:
Cmd + Enter
文本编辑和粘贴:
- 复制:
Cmd + C - 剪切:
Cmd + X - 粘贴:
Cmd + V - 选择所有文本:
Cmd + A
移动光标和删除文本:
- 光标移到行首:
Ctrl + A - 光标移到行尾:
Ctrl + E - 光标左移一个单词:
Option + 左箭头 - 光标右移一个单词:
Option + 右箭头 - 删除光标前的字符:
Ctrl + U - 删除光标后的字符:
Ctrl + K
清屏和查找:
- 清屏:
Cmd + K - 查找:
Cmd + F - 查找下一个:
Cmd + G - 查找上一个:
Cmd + Shift + G
其他实用快捷键:
- 切换到下一个会话:
Cmd + Option + 向右箭头 - 切换到上一个会话:
Cmd + Option + 向左箭头 - 切换到上一个会话(选择):
Cmd + Option + 数字键(1-9)
Fig
fig 可以自动补全整合苹果原生 Terminal、iTerm2、VSCode 里的终端,支持 Git、文件夹、NPM、Kubernetes、Docker、AWS 等自动补全,
效果
通过brew安装
brew install fig
下载安装完之后需要mac需要开启辅助功能,然后注册邮箱登陆。
然后点击Set up Autocomplete进行设置
在VsCode中启用
打开终端,如果没有zsh设置为默认shell,需要在设置中设为默认
打开后出现字体错乱,需要将终端字体设置为iterm2中的字体
设置字体
VsCode插件
- Auto Close Tag 自动标签
- Carbon Product Icons 各种文件夹、文件图标icon
- Chinese (Simplified) (简体中文) Language Pack 中文翻译
- Code Runner 可以运行多种语言的代码片段或代码文件
- Code Spell Checker 检查你的单词拼写有没有错误
- CodeSnap 将代码生成截图
- Color Highlight 代码高亮
- Dev Containers docker 开发容器
- Docker
- Document This 快速为函数生成注释
- Draw.io Integration 在vscode里画流程图
- Error Lens 在错误代码后显示错误信息,更快的调试代码
- ESLint
- Fig 配合on-my-zhs使用
- Git History 查看Git历史
- GitLens — Git supercharged 查看每一行代码的更改、信息,追溯代码历史
- JavaScript (ES6) code snippets ES6语法
- JavaScript and TypeScript Nightly TypeScript语法
- LeetCode 在vscode里刷leetCode,摸鱼必备
- Live Server 启动本地开发服务器,为静态和动态页面提供实时重新加载功能。
- open in browser 快速在浏览器打开当前文件
- Path Intellisense 自动补全路径
- Prettier - Code formatter 格式化代码
- Snazzy Operator 颜色主题
- Tabnine AI Autocomplete 通过AI自动完成代码,自动提示代码真的很爽
- Time Master 记录vscode编程活动自动生成的度量、见解和时间跟踪。
- TODO Highlight 在代码中显示TODO、FIXME等注释
- Todo Tree 用树结构显示所有TODO
- Turbo Console Log 快速的在代码中添加console.log
- TypeScript Debugger ts调试
- TypeScript Vue Plugin (Volar) 写Vue3必备
- Vitesse Theme 安东尼fu写的一个主题,个人觉得浅色主题好看
- Vue Language Features (Volar) 写Vue3必备
- Vetur 写Vue2
常用软件
- Obsidian目前使用过笔记软件,之前也使用过
Notion、FlowUs、Wolai之类软件,最后还是放弃了。因为我比较在乎笔记的安全性,这类型软件数据都是存储在云端,而Obsidian完完全全存储在本地,通过插件也可以同步到远端让我放心不少。 - ClashX🪜必备,小巧好用
- Rectangle自动分屏工具,可以更好管理窗口
- PrettvClean 磁盘清理工具,非常小巧,用来清理辣鸡数据,卸载软件很不错,比clearMyMac好用多了
- motrix mac必备的下载工具,支持下载 HTTP、FTP、BT、磁力链接等资源
- Кар 录屏软件,可以制作GIF动图
- Bob 很喜欢的翻译 和OCR软件。
- Alfred 效率神器,支持很多中操作App启动、文件搜索、网络搜索、系统命令... 爱了爱了
- mindNode 脑图软件,淘宝找个店铺买一下就行,个人觉得比Xmind好用
- The Unarchiver Mac上的解压缩软件,主要用于在Mac操作系统上解压各种不同格式的压缩文件。
- Be Focused Pro专注与时间管理的应用程序,采用番茄工作法,也可以当作任务清单,每天coding前会列举需要做的事情并预估工作时间,现在好像要收费,找个破解版就行。
- Postman API测试工具
- Charles抓包必备
- Itsycal 一个小巧的菜单栏日历工具
- CheatSheet 可以快速查看各个软件的快捷键
- 微信读书 微信读书Mac版
- ChatALL 集合了多种LLM语言模型工具如chatGPT、Bing Chat、Open Assistant、360 AI Brain等AI,参与过开源,很是好用。
你用过哪些好用的软件,可以交流分享。