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,参与过开源,很是好用。
你用过哪些好用的软件,可以交流分享。