macOS
本文所写的内容全部基于macOS Big Sur 11.1
作为一个用了N年Windows的人,对于mac那是一直非常馋的,但是由于对峡谷的热爱和囊中羞涩,一直到了去年年底才入手了第一台mbp。
拿到手那肯定是要开始折腾了,于是就开始了没有尽头的踩坑之路。所以一直计划着写一篇包括了设置系统、装软件、配路径等等内容包含在内的一篇文章,来帮助自己再买新电脑的时候如果time machine没法用,还有的参考。
系统设置
初次开机踩的坑
开机设置其实没什么难的,跟着引导一步步操作就好,这里只有一个坑点需要稍微注意一下。在进入系统之前,==单指轻触是没有开的!!!==所以你要用力按下去才是点击。GXX在初始化设置的时候卡在这里可能得有一个小时- -
进入桌面以后如果对单指轻触有需求,从左上角的系统偏好设置触摸板进行修改。
同时也建议花上几分钟在这个设置里面学习一下。
时间机器(Time machine)
时间机器可以说是macOS的一个非常有标志的特色了,它可以帮助你快速的把系统恢复到一个你保存过的状态。是的,听起来就像是虚拟机恢复快照一样。
所以开机后第一件事最好就是找一块移动硬盘做一次全量的备份,这样后面折腾一些东西崩了的时候还有机会恢复到最纯净的状态(重装当然也可以,只不过这样比较快)
时间机器的问题就在系统偏好设置时间机器
启动台
启动台里的应用图标默认是5行8列的大图标,显示的内容是比较少的,如果不想分组归类的话也可以通过命令进行设置,命令如下:
# 设置列数
defaults write com.apple.dock springboard-columns -int 9
# 设置行数
defaults write com.apple.dock springboard-rows -int 6
# 重启 Dock 生效
killall Dock
设置完成以后的显示效果看起来好了不少
如果你想恢复默认的话可以使用下面的命令。恢复默认的配置:
# 恢复默认的列数和行数
defaults write com.apple.dock springboard-rows Default
defaults write com.apple.dock springboard-columns Default
# 重启 Dock 生效
killall Dock
Dock栏
Dock栏的设置总的来说就是移除一些基本在国内不会用到的Apple的应用,然后根据用途把图标放在一起。这里gxx推荐把dock放在侧边,可以有效的利用屏幕空间。
终端设置
用上了mac,就无可避免的会用的终端,下面就记录一下对命令行和终端应用的优化与配置。
Terminal
Terminal(终端)是macOS自带的命令行终端,可通过点击Dock图标、Command+空格搜索、在启动台-实用工具中打开。
终端的偏好设置没有特别多的可以设置的地方,可以在描述文件里面更改一下主题,默认主题看的时间长了感觉有点刺眼。
Homebrew
Homebrew 是一款自由及开放源代码的软件包管理系统,用以简化macOS系统上的软件安装过程
后面许多安装都可以依靠homebrew,可以说大部分免费的软件只有你想不到,没有它装不了,因此首先在terminal里安装homebrew
原始安装
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
# 给 homebrew 文件夹的写入权限
sudo chown -R $(whoami) /usr/local/*
# 更换源(可选)
echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles' >> ~/.zshrc
source ~/.zshrc
# 再更新一下试试看效果 注意网速 应该可以跑满
brew update
国内安装
无法🔬上网的国内安装可以使用如下脚本,会自动写入清华源
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
重置brew
初次接触包管理器的话很容易就把自己玩儿崩了,不过不要慌,利用如下命令重置即可,然后再手动删除在zshrc中的源即可。如果是利用cunkai大佬脚本安装的,再执行一次就重置了
重置brew.git:
cd "$(brew --repo)"
git remote set-url origin https://github.com/Homebrew/brew.git
重置homebrew-core.git:
cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
git remote set-url origin https://github.com/Homebrew/homebrew-core.git
再删除掉zshrc中与brew有关的内容
brew clean up
brew update
重启中断
软件备份
brew bundle dump --describe --force --file="~/Desktop/Brewfile"
批量更新
brew update && brew upgrade
##cask
brew tap caskroom/cask
brew tap buo/cask-upgrade
brew cu -a
##mas
brew install mas
mas upgrade
iTerm2
iTerm2 is a replacement for Terminal and the successor to iTerm. It works on Macs with macOS 10.12 or newer. iTerm2 brings the terminal into the modern age with features you never knew you always wanted.
官方下载地址:https://iterm2.com
也可以使用brew 进行安装:brew install iterm2
上来先展示最终优化的效果
启动页美化
screenfetch
是一款可以用来生成那些漂亮的终端主题信息和用 ASCII 构成的发行版标志,它可以自动检测你的发行版并显示 ASCII 版的发行版标志,并且在右边显示一些有价值的信息。
mac下安装:
#Install screenfetch
brew install screenfetch
#run screenfetch on macOS big Sur
screenfetc -D 'Mac OS X'
安装完成之只需要在Preferences->Profiles->General->Command
里面输入screenfetch
就可以
标签页位置调整
标签页的位置在上面容易误关,在下面又不好点击,于是乎它就来到了左边。在Preferences->Appearance-General
里面将Tab bar location
选择为left
即可。
顺便如果你选择激活Status bar location
建议选择Bottom
放在下面。
字体设置
在Preferences->Profiles->Text->Font
里面可以选择字体字号,这里选用的是Monaco
。需要注意的是在下文中所提及的某些ohmyzsh的主题可能会对字体有特殊的要求。
设置完字体以后还需要对字符编码进行一下设置,不然会很奇妙的乱码,在Preferences->Profiles->Terminal->Ternimal Emulation
中选择Character encoding:Unicode(UTF-8)
即可
窗体设置
窗体的设置可以按照下面标注的自行设置成自己喜欢的感觉就好。
热键呼出iTerm2
有时候在浏览网页做一些配置的时候,频繁的切换应用很麻烦,分屏显示又很丑,这个时候就可以用上这招了。在Preferences->Keys->Hotkey
里面选择Create a Dedicated Hotkey Window
在设置里面首先选择启动方式,这里推荐Double-tap key
防止热键莫名的冲突。最后如果你想在全屏模式下依然能够唤醒iTerm2的话勾选上Floating window
实用热键设置
以单词为单位前进后退,在
Preferences->Keys->Key Bindings
里面选择左下角的➕新建快捷键,Keyboard Shortcut
自行决定,Action
选择Send Escape Sequence
,Esc+
选择填入f
和b
。在当前目录打开新标签页/窗口,在系统偏好设置键盘快捷键服务里,找到
New iTerm2 Tab/Window Here
自行设定即可
实用命令
允许App的来源
当我们安装第三方软件经常会需要系统偏好设置安全性与隐私通用里要选择允许从任何来源下载的App,但是最新的系统这个选项默认都是隐藏的,因此需要在终端输入以下命令来显示选项。# APP安装开启任何来源 sudo spctl --master-disabl
修改主机名/共享名称
# 修改主机名 sudo scutil --set HostName xxxxx # 修改共享名称 sudo scutil --set ComputerName xxxxx
安装xcode工具
Command Line Tools 是在 Xcode 中的一款工具,macOS 下不少开发工具都会依赖这个,所以我们手动安装一下,后面安装其他工具可以省下不少麻烦#安装 xcode 命令行工具 xcode-select --install
关闭SIP(可选的)
后面不关闭SIP的话类似于proxychains-ng
这种代理神器就无法使用。重启Mac,按住Option
键进入启动盘选择模式,按⌘
+R
进入 Recovery 模式。「菜单栏」 ->「 实用工具(Utilities)」-> 「终端(Terminal)」:# 关闭SIP csrutil disable # 开启SIP csrutil enable # 查看SIP状态 csrutil status System Integrity Protection status: disabled.(表明关闭成功)
计算文件hash
md5 file_name shasum -a 1/256 file_name
命令行代理
🔬上网以后,命令行默认是不走代理的,因此我们需要一些工具或者环境变量的设置
proxychains
终端命令行下代理神器,可以让指定的命令走设置好的代理,内网渗透、科学上网必备工具
# 安装
brew install proxychains-ng
# 配置文件
vim /usr/local/etc/proxychains.conf
# 将结尾的 socks4 127.0.0.1 9095改为你代理的端口
socks5 127.0.0.1 xxxx
环境变量法
使用proxychains的话需要关闭SIP,对于不想关闭的同学的话也可以使用环境变量法
export http_proxy=http://127.0.0.1:1087;export https_proxy=http://127.0.0.1:1087;
这会临时在当前终端的 shell 环境生成一个 http 与 https 代理,想要永久代理的话就将这两条命令写入到 .zshrc 的配置文件即可,再补充一个使用 socks5 代理的命令:
export all_proxy="socks5://127.0.0.1:1086"
这种方法更便捷的一种实现方式,也是最像proxychains的方式就是利用alias设置别名开关
proxy='export all_proxy=socks5://127.0.0.1:1081'
unproxy='unset all_proxy'
ZSH & ohmyzsh
Z shell(Zsh)是一款可用作交互式登录的shell及脚本编写的命令解释器。Zsh对Bourne shell做出了大量改进,同时加入了Bash、ksh及tcsh的某些功能。
简而言之,Zsh就是很好用的shell,自2019年起,macOS的默认Shell已从Bash改为Zsh。由于Zsh的配置略显繁琐,所以这里引入了一个开源的框架
ohmyzsh
。
Oh My Zsh is a delightful, open source, community-driven framework for managing your Zsh configuration. It comes bundled with thousands of helpful functions, helpers, plugins, themes, and a few things that make you shout…
根据官方所形容的,ohmyzsh是一个拥有大量功能、插件、主题等等优秀功能的框架来帮助我们使用Zsh,当然事实也是如此。那么如何使用ohmyzsh呢?
安装Zsh&ohmyzsh
- 首先检查一下默认的shell是不是Zsh。如果是进入步骤4,如果不是进入步骤2.
echo $SHELL #如果默认shell是zsh则会输出以下结果 #/bin/zsh
- 检查系统里有没有安装Zsh,如果有进入步骤4,如果没有进入步骤3
cat /etc/shells #如果系统中存在zsh则输出结果中会出现zsh # List of acceptable shells for chpass(1). # Ftpd will not allow users to connect who are not using # one of these shells. /bin/bash /bin/csh /bin/dash /bin/ksh /bin/sh /bin/tcsh /bin/zsh
- 安装Zsh
brew install zsh
- 将默认shell修改为Zsh
#Recent Mac OS versions chsh -s /usr/local/bin/zsh #Mac OS High Sierra and before chsh -s /bin/zsh
- 安装ohmyzsh
# 可选命令:全局代理(速度更快) proxychains4 -q /bin/bash # 或者这样添加一个临时代理(速度更快) export ALL_PROXY=socks5://127.0.0.1:1086 # curl安装 sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)" #没有代理的也可以用国内gitee安装 sh -c "$(curl -fsSL https://gitee.com/mirrors/oh-my-zsh/blob/master/tools/install.sh)"
- 相关报错解决
# 如果输入zsh命令有如下报错 [oh-my-zsh] Insecure completion-dependent directories detected: ... # 修改目录权限即可解决 chmod 755 /usr/local/share/zsh chmod 755 /usr/local/share/zsh/site-functions
主题和插件
ohmyzsh是有很多默认主题和第三方主题的,这里的,在.zshrc文件里面修改即可,自带主题的效果可以在github查看 https://github.com/ohmyzsh/ohmyzsh/wiki/Themes
# 修改配置文件
vim ~/.zshrc
ZSH_THEME="theunraveler"
插件推荐三个必不可少的,剩下的就看个人需求
- autojump
#macOS 安装 brew install autojump #配置.zshrc plugins=(autojump) # 第一次 cd 进入某个目录 ~ cd Documents/Hexo Hexo cd ~ # 后面就可以直接通过 j 命令跳转到那个目录 ~ j hexo
- zsh-autosuggestions
#macOS 安装 # 拷贝到 plugins 目录下 git clone git://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions #配置.zshrc plugins=(autojump zsh-autosuggestions)
- zsh-syntax-highlighting
#macOS 安装 #拷贝到 plugins 目录下 git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting #配置.zshrc plugins=(autojump zsh-autosuggestions zsh-syntax-highlighting)
别名(alias)设置
别名是一种给常用命令起别称的做法,可以极大提高我们的效率,例如可以设置alias la='ls- la'
这样我们只需要敲入la即可完成想要的命令
下面给出几个GXX常用的别名,大家可以自行设置:
cls=clear
sz='source ~/.zshrc'
vz='open /Applications/Visual\ Studio\ Code.app/ ~/.zshrc'
Git
配置socks5代理
git的环境配置主要是由于网路限制的问题,因此需要走代理才能更方便的pull/push,配置方法如下
# 我这里习惯用1086端口 具体根据自己的配置来灵活设置
git config --global http.proxy 'socks5://127.0.0.1:1086'
git config --global https.proxy 'socks5://127.0.0.1:1086'
# 取消git代理
git config --global --unset http.proxy
git config --global --unset https.proxy
# 查看 git 配置
cat ~/.gitconfig
# 或者这样也可以查看git的配置
git config -l
配置邮箱和用户名
GitHub会根据配置文件里的邮箱显示对应的commit记录的头像,如果不配置就会没有头像(ps:如果用Fork提交就不用配置了)
# 配置邮箱
git config --global user.email "[email protected]"
# 配置用户名
git config --global user.name "xxx"
Git-client
这里推荐一下老毛子开发的Git-Fork这个图形化客户端,非常方便进行git的各种操作。下载地址:https://git-fork.com/
这里用一张官网的图展示一下
很方便的commit、pull、push、branch。
还可以轻松调用你喜欢的工具
别名设置
在终端中输入alias
命令,可以看到大量的git命令的别名,大家可以采用记忆或者设置自己喜欢的别名
Vim
macOS自带vim命令,这里简单做一些美化,至于vim的学习使用,后续会再做介绍
# 查看 vim 版本
vim --version
# 这样查看版本号也可以
ls /usr/share/vim/
# 查看自带的配色方案 vim80 当前vim 的版本号(macOS Mojave)
ls /usr/share/vim/vim80/colors
对于vim进行配置需要首先新建一个vim的配置文件
vim ~/.vimrc
内容如下
set nu "显示行号
colorscheme desert "颜色方案显示
syntax on "打开语法高亮
参考链接