WSL 演示 NeoVim 配置安装
B 站视频【WSL + NeoVim】WSL 演示 NeoVim 配置安装中的演示文稿。
- ArchWSL,两种方式下载:
- Windows Terminal: Microsoft Store 里搜索、安装就行
Win+R,输入 optionalfeatures.exe,回车,勾选“适用于 Linux 的 Windows 子系统”,点击“确定”。
不一定要是 ArchWSL,只不过我比较习惯用 ArchLinux。
在 PowerShell 里:
1
2
3
| arch.exe # 初始化 ArchWSL
wsl -l -v # 查看 ArchWSL 信息
wsl # 进入 ArchWSL
|
备用命令
1
2
| wsl --set-version arch 2 # 设置 ArchWSL 的 WSL 版本
wsl --set-default arch # 设置 WSL 的默认发行版为 ArchWSL
|
进入了 ArchWSL:
配置 pacman:
安装 zsh,配置用户:
1
2
3
4
5
6
7
8
| passwd # 设置 root 密码
pacman -S archlinuxcn-keyring # archlinuxcn 签名
pacman -Syyu # 更新软件
pacman -S zsh # 安装 zsh
echo "%wheel ALL=(ALL) ALL" > /etc/sudoers.d/wheel # 使 wheel 组的用户能使用 sudo
useradd {username} -m -G wheel -s /usr/bin/zsh # 添加用户
passwd {username} # 设置新用户密码
exit # 退出 WSL
|
回到了 PowerShell:
1
| Arch.exe config --default-user {username} # 设置默认用户
|
1
| sudo pacman -S git # 安装 Git
|
创建可执行文件:
1
2
3
4
| echo "export PATH=\$PATH:\$HOME/.local/bin" >> ~/.zshrc
mkdir -p ~/.local/bin
touch ~/.local/bin/pxy
chmod +x ~/.local/bin/pxy
|
将以下内容写入 ~/.local/bin/pxy
(或其他 PATH
目录下的文件):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
| #!/usr/bin/env zsh
hostip=$(cat /etc/resolv.conf | grep nameserver | awk '{ print $2 }')
protocol='socks5' # 这里可以换成其他协议
port=10808 # 这里可以换成其他端口号
PROXY_HTTP="${protocol}://${hostip}:${port}"
set_proxy(){
export http_proxy="${PROXY_HTTP}"
export HTTP_PROXY="${PROXY_HTTP}"
export https_proxy="${PROXY_HTTP}"
export HTTPS_PROXY="${PROXY_HTTP}"
git config --global http.proxy ${PROXY_HTTP}
git config --global https.proxy ${PROXY_HTTP}
# 使用 proxychains 的话,取消下面这行的注释
# sudo sed /etc/proxychains.conf -i -e "s/^socks.*$/${protocol}:\/\/${hostip}:${port}/"
}
unset_proxy(){
unset http_proxy
unset HTTP_PROXY
unset https_proxy
unset HTTPS_PROXY
git config --global --unset http.proxy
git config --global --unset https.proxy
}
if [ "$1" = "set" ]
then
set_proxy
elif [ "$1" = "unset" ]
then
unset_proxy
else
echo "Unsupported arguments."
fi
|
然后就可以通过 pxy set
和 pxy unset
设置和取消设置 proxy。
1
| sudo pacman -S neovim # 安装 NeoVim
|
安装配置:https://github.com/alohaia/nvimcfg
1
| sudo pacman -S gcc fzf ripgrep python
|
win32yank:https://github.com/equalsraf/win32yank。下载,解压到桌面,运行以下命令:
1
| sudo mv {/path/to/win32yank.exe} /usr/bin
|
路径一般为 /mnt/c/Desktop/win32yank.exe
,视频中我的路径不是这个是因为我把桌面移到了 E 盘。
安装 Python 的 neovim 模块:
1
2
3
4
| sudo pacman -S python-pip
python -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --upgrade pip
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
pip install neovim
|
安装 language server:https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md。根据需要安装,或使用以下命令安装所有配置了的 language server(部分包可用 npm 安装,这里全部使用 pacman/paru 安装):
1
2
3
4
5
6
7
8
9
10
11
12
| sudo pacman -S clang lua-language-server bash-language-server vscode-css-languageserver vscode-json-languageserver vscode-html-languageserver
pip install pyright
# eslint,js、ts 的 language server。
# 下载很慢,需要 proxy
sudo pacman -S paru
paru -S vscode-eslint-language-server
# R lauguage server
sudo pacman -S r make
sudo R
# 然后在 R 中运行指令:install.packages("languageserver")
|
Nerd fonts:https://www.nerdfonts.com/font-downloads
设置 Windows terminal 字体:设置 => Arch => 外观 => 字体 => 选择 “JetBrainsMono Nerd Font” => 保存。
如果你要用我的配置:
- 建议禁用 hugowiki.vim,安装其他的 Markdown 插件,这是我自己写的一个自用插件。
- 我的配置自带一个 packer,插件安装、配置的方法和其他的插件管理器不太一样,详见 README(CN)。
- 命令有:
PackInstall
:安装未安装且 disable != true
的插件;PackUpdate
:安装未安装且 disable != true
的插件,并更新所有已安装且 disable != true
的插件;PackClean
:清除所有不在配置中或 disable == true
的插件;PackSync
:相当于 PackClean
,PackUpdate
。
- 配置文件:
~/.config/nvim/init.lua
:加载其他配置,并包含一些全局设置;~/.config/nvim/lua/aloha/plugins.lua
:插件列表(及简单配置);~/.config/nvim/lua/aloha/plugin_configs.lua
:插件的详细配置,相应配置只有在对应插件已安装且 disable != true
的时候才会加载。