install wsl2

参照官方文档

install oh-my-zsh

先安装 zsh

sudo apt install zsh

zsh --version

which zsh

# $ZSH_PATH 是 which zsh 的值
chsh -s $ZSH_PATH

安装 oh-my-zsh

sh -c "$(wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

# or

sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

此时你的根目录下应该有一个 .oh-my-zsh 目录 image.png

plugins 目录是存放插件的地方,themes 是存放主题的地方

现在让我们来试着修改主题

vim ~/.zshrc

找到 ZSH_THEME= 这一行,修改为 ys,然后在 bash 中运行 source ~/.zshrc

你也可以先花一些时间在这里找到你喜欢的主题

接下来我们搞一些常用插件

vim ~/.zshrc

# 找到 plugins=(...) 这一行

# 我目前只使用了这些插件
plugins=(cp themes git git-open z zsh-autosuggestions zsh-syntax-highlighting)

你可以在这里找到 oh-my-zsh 自带插件的用法

下面示范一下如何安装第三方插件,以 zsh-autosuggestionszsh-syntax-highlighting 举例

cd ~/.oh-my-zsh/plugins
git clone https://github.com/zsh-users/zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git

# zsh-syntax-highlighting 这个插件需要处于 plugins=(...) 的末尾

vim ~/.zshrc

# 在.zshrc 中添加下面一行
source ~/.oh-my-zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh

install node

我们使用 nvs 来管理 node 的版本

安装按照官方文档一把梭就行

export NVS_HOME="$HOME/.nvs"
git clone https://github.com/jasongin/nvs "$NVS_HOME"
. "$NVS_HOME/nvs.sh" install

# 安装最新的 LTS 版本
nvs add lts

# 配置为默认版本
nvs link lts

# 安装其他版本尝尝鲜
nvs add 12

# 查看已安装的版本
nvs ls

# 在当前 Shell 切换版本
nvs use 12

Node 版本大于等于 16.9.0 之后默认安装 corepack,相当于包管理器的管理器

corepack enable

yarn -v
which yarn

pnpm -v
which pnpm

使用 nvs 时,默认的 prefix 是当前激活的 Node.js 版本的安装路径。

带来一个问题是:切换版本之后,之前安装全局命令模块需要重新安装,非常不方便。

解决方案是配置统一的全局模块安装路径到 ~/.npm-global,如下:

mkdir -p ~/.npm-global
npm config set prefix ~/.npm-global

还需要配置环境变量到 ~/.zshrc

echo "export PATH=~/.npm-global/bin:$PATH" >> ~/.zshrc
source ~/.zshrc

ok,这样我们已经得到一个基本可用的开发环境了


2021-1-8 更新

代理设置

windows: clash

google clash for windows 即可

wsl2: proxychains

sudo apt install proxychains

mkdir ~/.proxychains

sudo cp /etc/proxychains.conf ~/.proxychains/proxychains.conf

vim ~/.zshrc

.zshrc中添加以下代码

windows_ip=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}')
sed -i '/socks5/d' $HOME/.proxychains/proxychains.conf
# '$windows_ip' 1080' 请将 1080 改为你自己的代理端口
sed -i '$a socks5 '$windows_ip' 1080' $HOME/.proxychains/proxychains.conf

alias ss='proxychains'

于是我们可以 ss git clone xxx

如果 proxychains 连接 windows 代理超时,请关闭防火墙