macOS 环境安装和配置
又是一波接一波的骚操作把系统搞崩的一天,为了节省今后重装系统配置环境的时间,把各种环境的安装和配置做个记录吧……
Xcode
安装
当然是去 App Store 下载了,之后的 Homebrew 等都要依赖它。
Homebrew
macOS 缺失的软件包的管理器
算是强迫症必备吧
安装
1 | /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" |
Homebrew Cask
"To install, drag this icon…" no more!
同上
安装
1 | brew tap caskroom/cask |
这里还安装了 cask-repair,用于添加新的 Cask 或者更新 Cask,详见 How To Contribute
配置
使用 cask-repair 提交新的 Cask 或者更新时,会默认使用系统的文本编辑器打开 Cask 的信息文件 *.rb
,一般都默认为 TextEdit.app,可以在 ~/.bash_profile
中修改 Homebrew 使用的文本编辑器
1 | export HOMEBREW_EDITOR=code |
code
表示将 Homebrew 使用的文本编辑器改为 Visual Studio Code
Python
为了方便不同版本的 Python 共存,并且隔离多个 Python 环境,使用 Conda 进行管理。
Conda 是 Python、R、Ruby 等多种语言的包、依赖和环境管理
Conda 有多个不同的发行版,比如 Anaconda 和 Miniconda 等,前者包含了许多科学计算的包,因此安装包体积很大,为了节省安装时间和占用空间,就使用 Miniconda。
安装
1 | brew cask install miniconda |
配置
安装好以后需要将 Conda 的路径加入环境变量,在 ~/.bash_profile
中加入
1 | export PATH=${PATH}:/usr/local/miniconda3/bin |
使用
列出所有环境(默认环境为 base)
1
conda env list
创建新的环境
1
conda create --name <name> python=<version>
从已有环境复制一个环境
1
conda create --name <new name> --clone <old name>
进入 & 退出环境
1
2conda activate <name> # 进入名为 name 的环境,或者使用 source activate <name>
conda deactivate # 退出当前环境,或者使用 source deactivate安装包(默认安装到当前环境,如果没有进入任何环境,则安装到 base 中)
1
conda install <package>
LaTeX
配置 LaTeX 的环境是最头疼的……经过我的多次尝(作)试(死),总算摸索出正确的姿势……那就是用 Docker。首先 Homebrew 安装 Docker
1 | brew cask install docker |
镜像可以使用 shoujiaxin/texlive,此镜像基于 Debian 且安装了 TeXLive 2019。
1 | docker pull shoujiaxin/texlive:latest |
带有 latest
tag 的镜像会安装最新版本的 TeXLive;带有 cjk
tag 的镜像中用于配置特殊中文字体,目前加入了隶书
使用时可以用类似下面的命令创建可执行文件,将命令重定向至 Docker 镜像。以 xelatex
命令为例,创建文件 xelatex
并写入
1 | !/bin/sh |
给予文件执行权限
1 | sudo chmod +x ./xelatex |
将文件所在路径加入 ~/.zshrc
即可。
Zsh
macOS 的默认终端是 Bash,相比 Zsh 功能和可定制性有限,本着生命在于折腾的原则,换!
切换默认 Shell
终端输入
1 | chsh -s /bin/zsh |
输入管理员密码,重启终端即可将默认的 Shell 切换到 Zsh,如需切换回来,执行
1 | chsh -s /bin/bash |
Zsh 的配置位于 ~/.zshrc
,需要继续使用 Bash 的配置可以在末尾添加
1 | source ~/.bash_profile |
安装和配置 Oh My Zsh
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...
终端执行
1 | sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)" |
安装完成后 Oh My Zsh 的配置文件位于 ~/.oh-my-zsh
。
更换主题和背景
Oh My Zsh 的主题不是很喜欢,故换成 Powerlevel9k,Install the Powerlevel9k Theme 介绍了各种安装主题的方法,这里使用安装到 Oh My Zsh 的方法。
执行
1 | git clone https://github.com/bhilburn/powerlevel9k.git ~/.oh-my-zsh/custom/themes/powerlevel9k |
可以将主题安装到 ~/.oh-my-zsh/custom/themes/
中,修改 ~/.zshrc
1 | ZSH_THEME="powerlevel9k/powerlevel9k" |
即可更换主题为 Powerlevel9k。
Powerlevel9k 依赖 Powerline 字体,否则终端中会有乱码,Install a Powerline Font 介绍了几种安装 Powerline 字体的方法,经过多次尝试,这里使用最便捷的方法,即安装 Nerd 字体,执行
1 | brew tap caskroom/fonts |
目前 (2019-02-27) 如果按照官方的安装步骤,tap 了 caskroom/fonts,在执行 brew update
时会报错,猜测是因为 Homebrew 更新后 Homebrew Cask 已经包含了各种字体,所以可以直接安装,也可以在安装完成以后 untap 一下。
字体安装完成修改 ~/.zshrc
1 | POWERLEVEL9K_MODE='nerdfont-complete' |
可以完成字体配置和各种自定义。其中,POWERLEVEL9K_LEFT_PROMPT_ELEMENTS
控制终端左侧显示内容:dir
显示当前路径、dir_writable
在当前路径没有写权限时会显示一个 🔒、vcs
则是显示版本控制;POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS
控制终端右侧显示内容:status
命令返回的状态、history
历史记录数以及 time
时间等;设置 DEFAULT_USER
可以隐藏登录该用户时终端左侧显示的用户名。
安装插件
zsh-autosuggestions 终端输入
1
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
将 zsh-autosuggestions 的源码 clone 到
~/.oh-my-zsh/custom/plugins
。打开~/.zshrc
,将zsh-autosuggestions
添加到plugins=()
行的括号中,多个插件用空格分隔。-
1
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
将 zsh-syntax-highlighting 的源码 clone 到
~/.oh-my-zsh/custom/plugins
。打开~/.zshrc
,将zsh-syntax-highlighting
添加到plugins=()
行的括号中,多个插件用空格分隔。