NOTE本篇文章的目的是 C 语言基本环境的搭建, 不做任何概念、原理、工具的介绍
博主会尽量给出一个 即使是从未接触过编程的小白 也能完成的方案
但你至少需要了解 Windows 中一些工具的使用, 比如: 解压工具、文本编辑工具等
最好能够使用更”科学”的方式连接网络
NOTE搭建过程中所需要用到的工具, 已打包好放在此处, 请下载使用
WARNING博主今后使用的一些工具, 也就是本篇文章搭建的环境, 在今后的使用上可能具有一定的学习门槛, 但我个人认为这是有必要的
如有建议, 敬请在评论提出 👌
开启 Hyper-V





点击重新启动之前, 最好保存你的所有其他任务
等待重新启动之后, 完成Hyper-V的开启
如果你的列表中没有
Hyper-V的相关选项, 请参照下面的步骤执行如果上面的步骤已经完成, 可以直接跳到 👉 下一部分
如果Windows功能列表中, 没有Hyper-V相关选项, 可以这样操作:
-
打开文件扩展名:


-
新建文本文档:

-
文本文档输入以下内容:
Terminal window pushd "%~dp0"dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txtfor /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"del hyper-v.txtDism /online /enable-feature /featurename:Microsoft-Hyper-V-All /LimitAccess /ALL
-
文本文档重命名为
hyperv.bat, 并右键->管理员身份启动:
-
等待运行结束, 并根据提示输入
'Y'重启系统 -
系统重启完成之后, 回到文章开头执行开启
Hyper-V的相关操作: 👉 指路
配置
WSL 安装
打开Microsoft Store, 搜索openEuler 22.03:

点击安装, 下载完成后点击打开, 大概率会弹出这两个窗口:
| 图 1 | 图 2 |
|---|---|
![]() | ![]() |
可以在提示有 “按下任意键安装适用于 Linux 的 Windows 子系统” 的窗口中, 按下任意按键, 等待下载完成:

!!!重新启动!!!
然后再重新打开Microsoft Store, 搜索openEuler 22.03, 点击打开, 等待安装成功:

然后依次输入username和对应的密码:

注意:
输入密码期间, 密码是不显示的, 实际已经输入成功了
密码一共需要输入两次
一个在Windows中运行的Linux虚拟环境就安装好了
之后要运行这个环境, 只需要打开终端:

然后输入wsl就可以启动:

NOTE选择
openEuler 22.03是因为环境配置相对比较简单如果你熟悉任何其他的
Linux系统, 都可以选择
环境配置
首先, 在WSL环境下, 执行命令安装必要的软件:
sudo dnf -y install g++ gdb git man-pages man-pages-help zsh wget unzip jsoncpp-devel tree
执行之后, 输入密码
可能会提示 “Waiting for process with pid xxx to finish.”
实际表示正在执行, 等待执行完毕就好:

most
wget https://rpmfind.net/linux/epel/8/Everything/x86_64/Packages/m/most-5.1.0-6.el8.x86_64.rpmsudo rpm -ivh most-5.1.0-6.el8.x86_64.rpm
nvim
从博主在文章开头提供的压缩包中, 获取nvim-linux64.tar.gz文件
将其放入wsl的当前用户目录下:
$ pwd/home/humid1ch# pwd 用于查看当前所在路径
或者, 网络环境良好的情况下, 也可以直接通过命令把文件下载下来:
wget https://github.com/neovim/neovim/releases/download/v0.10.1/nvim-linux64.tar.gz然后
# 解压tar -xvf nvim-linux64.tar.gz# 解压完成之后sudo mv nvim-linux64 /usr/local/nvim# 给nvim建立软连接sudo ln -s /usr/local/nvim/bin/nvim /usr/local/bin/nvim
执行完成之后, 输入nvim就能打开软件:

输入:q, 退出应用
TIP软件使用小贴士:
vim处于普通模式时, 按下:可以进入vim的命令模式
:q可以不保存退出,q表示quit
python支持
# 先安装python3sudo dnf install python3# 再安装pip3sudo dnf install python3-pip# 再进行nvim的python支持sudo pip3 install pynvim


nvim配置
从博主在文章开头提供的压缩包中, 获取nvim文件夹
将其放入用户文件夹的.config路径下:
$ pwd/home/humid1ch/.config
然后输入nvim运行nvim等待配置完成:

如果因为网络问题出现错误, 可以尝试多次重新打开
当然, 如果有能力已更”科学”的方式连接网络, 建议使用更”科学”的方式配置
配置还没有完全完成
重新打开nvim, 并手动输入:MasonInstall clangd clang-format lua-language-server:

从博主在文章开头提供的压缩包中, 获取win32yank.exe文件, 放入Windows系统的C:\Windows\System32\路径下

至此, neovim安装、配置完成
win32yank.exe, 提供nvim与Windows互通剪切板 的功能博主提供的是
x64版本的, 如果需要32位的, 可以自行去 win32yank - Github 下载
zsh
zsh是一种shell软件, 简单理解就是Linux输入命令所依靠的软件
zsh比较新人推荐使用, 如果你更习惯其他shell当然也可以根据自己的喜好来
zsh在最开始已经完成了安装, 只需要切换默认shell为zsh就可以了:
chsh -s /bin/zsh
重新进入wsl就可以看到生效了:

按0, 完成.zshrc文件的创建
oh-my-zsh
安装oh-my-zsh, 你可以将它理解为zsh的一个增强插件
# 直接在命令行执行sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
此时, 使用nvim打开.zshrc, 可以看到.zshrc的内容
nvim ~/.zshrc
TIP软件使用小贴士:
shell中执行命令nvim 文件, 就可以用nvim打开文件
下面这三个小插件可以不用安装, 但建议安装, 一般情况下它可以让你的zsh使用起来更加舒服
小插件
首先, powerlevel10k是zsh的一个主题
执行这个命令, 可以下载powerlevel10k:
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
使用nvim编辑.zshrc文件
将ZSH_THEME="robbyrussell"修改为ZSH_THEME="powerlevel10k/powerlevel10k"

TIP软件使用小贴士:
vim处于普通模式时:按
i, 进入插入模式, 可以正常输入文本, 在光标之前. 同时 退出普通模式按
a, 进入插入模式, 可以正常输入文本, 在光标之后. 同时 退出普通模式按
h, 为左移按
l, 为右移按
k, 为上移按
j, 为下移按
yy, 为复制本行按
p, 为粘贴按
e, 为跳过一个单词按
v, 进入视图模式, 可以选择文本按
x, 删除当前选择文本
vim处于插入模式时, 按ESC可以退出插入模式, 回到普通模式
autosuggestions是zsh的命令联想建议插件
执行这个命令:
git clone https://github.com/zsh-users/zsh-autosuggestions.git $ZSH_CUSTOM/plugins/zsh-autosuggestionssyntax-highlighting是zsh的命令高亮插件
执行这个命令
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git $ZSH_CUSTOM/plugins/zsh-syntax-highlighting使用nvim编辑.zshrc文件
在plugins=(git)处, 添加这两个插件, 为plugins=(git zsh-autosuggestions zsh-syntax-highlighting)

然后退出到shell, 执行source ~/.zshrc, 并根据提示和喜好配置powerlevel10k主题:

.zshrc个人配置
下面是博主个人习惯在~/.zshrc中添加的配置:
# 防止 rm 直接将文件删掉, 所以将 rm定义成一个函数, 起到 mv -t 的作用rm() { if [[ $1 == "-rf" ]]; then shift mv -t ~/.delete/. "$@" else mv -t ~/.delete/. "$@" fi
echo "成功将文件移动到 ~/.delete, 请注意清理"}# 方便打开多个文件, 一起加载到nvim的bufferline插件里alias nvim="nvim -p"alias vim="nvim -p"
# cat, t 太远了, 而且shell cat查看文件内容默认的Tab长度是8, 这里改成cas,并以4为Tab长度查看alias cas="cat | expand -t 4"alias unsetproxy="unset https_proxy http_proxy && git config --global --unset https.proxy && git config --global --unset http.proxy"
# most分页export PAGER=most配置完, 需要执行source ~/.zshrc生效
在shell中执行mkdir ~/.delete创建回收目录
然后, 因为在.zshrc中, 把rm定义成了一个函数
所以, 原本的rm命令就没有办法正常执行了
所以, 要给原本的rm建立一个软连接
在shell中执行这个命令:
sudo ln -s /usr/bin/rm /usr/bin/rlrm之后, 执行rlrm就是真正的rm移除操作
update
NOTE博主现在使用的
shell已经从zsh转到了fish,fish也是一款非常优秀的shell, 在最基本的使用上没什么差别有兴趣可以尝试一下
gdb
gdb已经安装过了, 但是使用上可能需要安装一些内容
WARNING你不需要知道下面这些操作都是干什么的, 只需要跟着做一遍, 本篇文章只是为了配置一个简单好用的环境
首先使用nvim简单写一个 C 语言程序:
int main() { return 0;}
然后在shell中执行gcc main.c -g, 会生成一个可执行程序:

再执行gdb a.out, 之后输入r并回车:

记录这条指令后面需要使用
我的是dnf debuginfo-install glibc-2.34-152.oe2203sp4.x86_64
在gdb中输入quit, 并回车退出
然后在shell中执行: gcc main.c -g, 会生成一个可执行程序并覆盖原来的可执行程序:

同样, 执行gdb a.out之后, 输入r并回车:

记录这两条指令
我的是dnf debuginfo-install glibc-2.34-152.oe2203sp4.x86_64和dnf debuginfo-install libgcc-10.3.1-67.oe2203sp4.x86_64 libstdc++-10.3.1-67.oe2203sp4.x86_64
其中glibc的可能与上面的一致
最后在shell中, 使用sudo执行dnf debuginfo-install, 安装这三个缺失的库:

输入y并回车, 等待安装
可能需要占用2.0G+的硬盘空间

耗时八分半
安装完成后, 再使用gdb就没有Missing提示了
环境演示
这个简单的 C 语言环境, 使用nvim+clang+lsp实现了最基本的C/C++的语法补全功能

至此
一个比较简单、舒适的C/C++开发环境就搭建好了

