关于为什么写这篇博客
最初想到要写这篇文章是在两个月前配置新系统的时候。当时受到 6.NULL 课上老师的启发,在环境配置方面作出了重大改进。虽然这一次相对于以前来说,对于命令行的了解更加深入完备,配置环境的时间从一周缩短到一天;但在具体环境配置时,仍然不时感到有些迷惑。因此想在相对有空的时候抽出时间来写这样一篇博客,记录一下在新机器拿到手后我是怎样进行相应环境的配置的。这样以后进行环境配置时可以有一个相对系统的参考;而对于其他人来说也可以查阅并获取有用的信息。
本文适用范围
使用Unix
系统的用户可以全盘参考本篇指南。本人的新机器为macOS
;若为Linux
用户,则可以在注意部分软件包安装方式区别的前提下安全使用本篇指南。
对于Windows
用户:本篇指南大部分内容可能不适合,但部分跨平台软件(如Alacritty
等)可供参考
在你拿到新机器之后
作为程序员每天都要面对的生产力工具,电脑有一个自己所习惯、高效且美观的生产环境是尤为重要的。此外还有一些工具在使用时需要进行额外的配置才能较好地适应国内的互联网环境。因此,十分有必要对默认的系统进行一番环境配置。
终端配置
对于开发者(尤其是 Unix 用户)来说,终端将是一个重要的工作环境。而不论是哪一个平台,默认的终端实在是难称得上美观(个人感觉当前最好的居然是 Windows Terminal 真是奇了怪了^~^)。这样一来,终端界面优化与增强就显得尤为重要。
之前本人用的是iTerm 2
+Solarized Dark
主题,当初选用的理由是觉得Solarized Dark
挺帅的。然而随着终端使用的频率不断提升,我愈发觉得选用非纯黑的主题真是对眼睛的一种折磨。因此在进行新环境的配置时我开始寻找起了替代品。
解决方案同样是来源于 6.NULL 。新方案采用了Alacritty
+ Powerlevel10k
的搭配。
Alacritty
Alacritty 是一个新型的终端模拟器,其特点在于:1. 基于OpenGL
打造,支持 GPU 加速,个人感觉比 iTerm 2 响应快得多;2. 横跨BSD
、Linux
、macOS
以及Windows
等主流平台,无需担心平台独占带来的工具体验差异;3. 配置文件以yml
格式给出,方便进行备份、移动、共享以及还原等操作(这一点真的超级赞好不好,方便和其他配置文件统一放在一个dotfiles
文件夹里然后上传到 repo 进行备份同步)。
Powerlevel10k
Powerlevel10k 是一个已经超过 23.8K star 的 Zsh 主题。在使用之前需要设置用户的默认 Shell 为 Zsh
,并且安装好 Oh My Zsh
。具体安装使用教程可参考 Powerlevel10k 的 GitHub主页。Powerlevel10k 在第一次启动时会自动弹出交互式配置界面,此时只需要根据自己的喜好进行一系列问题的回答即可将主题设定为最佳形态。
推荐安装顺序及注意事项
由于Powerlevel10k
以及其他终端方面的配置(甚至包括Anaconda
和Homebrew
)修改需要用到.zshrc
文件,因此推荐先更改默认终端为zsh
并安装好Oh My Zsh
(因为在安装完Oh My Zsh
后,.zshrc
文件会备份为.zshrc.pre-oh-my-zsh
并重置,因此需要先安装Oh My Zsh
)
随后便可依次安装Alacritty
和Powerlevel10k
。需要注意的是,在安装好Alacritty
后可能会遇到诸如退格键无法正常使用等问题。这是由于没有正确设置terminfo
所导致的。具体解决方案可参考 这里 (可能需要科学上网以正常打开该网页)。对于因为种种原因无法科学上网的同学们,简要的做法是:下载该文件,并在该文件所处的目录里打开终端,执行以下命令即可。sudo tic -xe alacritty,alacritty-direct alacritty.info
如果遇到本机可以正常使用退格键;但进行ssh
远程连接时,连上远程服务器后无法正常使用退格键的情况,需要将上述alacritty.info
文件拷贝至远程服务器,并重复上述操作即可解决问题。
此外,可能需要对tmux
以及Vim
进行相应的兼容性配置,详情请参考 这里 Step 2
中的后半段。
关于Alacritty
的设置,可以参考 6.NULL 的两位助教:Jon 和 Jose。两位助教的配置文件都有相应注释,可以根据需要进行选取。也可以参考本人的配置。需要注意的是,Alacritty
本身并不会自动创建配置文件。因此需要在~/.config/alacritty/
下创建一个新的alacritty.yml
文件来进行相应的配置。
一些常用的软件镜像源替换
由于大家都清楚的原因,在国内访问GitHub
、Anaconda
等网站时十分缓慢,而pip
、conda
以及Vim
插件的下载也十分缓慢,因此需要进行相应软件镜像源的更换等方式以加速资源下载。下面将列出各个网站对应的下载加速方式(截止到2021年12月21日有效)。
GitHub
Homebrew
Anaconda
Pip
Vim-Plug