Wsl2DebianEnv/README.md
Mars 6ddba3e722 Initial commit
feat: 完成 Zsh 插件配置脚本的优化和测试 - 修复 autojump 配置冲突 - 清理重复的插件安装 - 优化脚本结构和注释

feat: 优化shell脚本 - 1. 增强错误处理和恢复机制 2. 添加网络连接优化和镜像源支持 3. 改进进度显示和用户交互 4. 优化配置文件管理和备份 5. 改进插件管理机制 6. 增强依赖检查和安装 7. 添加完整的日志记录功能 8. 修复字体安装相关问题

docs: 完善shell、system和utils部分的README文档 - 1. 添加详细的脚本说明和使用方法 2. 补充依赖要求和注意事项 3. 添加常见问题解答 4. 更新版本日志

feat(editor): 优化 neovim 和 nvchad 安装脚本,添加性能优化配置和详细文档

feat: 优化Python开发环境安装脚本,分离基础包和机器学习包,修复virtualenvwrapper配置

feat: 优化开发工具安装脚本,统一使用common.sh中的函数,改进错误处理

fix: 修复DNMP安装脚本,跳过自动配置PHP开发环境

fix: 提交删除的 init.sh 和 mysql.sh 文件
2025-03-25 16:14:03 +08:00

206 lines
4.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# WSL2 Debian 开发环境配置
这是一个用于在 Windows 11 上配置 WSL2 Debian 开发环境的项目。该项目提供了一系列脚本来自动化安装和配置各种开发工具和环境。
## 功能特性
### 基础系统环境
- 安装 WSL2 Debian
- 系统更新和配置
- 配置镜像源
- 安装基础工具
- WSL2 环境检查Windows 端)
- WSL2 环境检查Linux 端)
### Shell 环境
- 安装和配置 Zsh
- 安装常用 Zsh 插件
- zsh-autosuggestions
- zsh-syntax-highlighting
- zsh-completions
- autojump
- fzf
- zsh-nvm
- pyenv
### 编辑器环境
- 安装和配置 Neovim
- 安装常用 Neovim 插件
- 配置 NvChad
### 开发工具链
- Docker 和 Docker Compose
- Go 语言环境
- Node.js 环境
- Python 环境
- PHP 开发环境(使用 DNMP
### 系统工具
- Git 配置和工具
- 系统监控工具
- 网络工具
- 安全工具
- 终端工具
- 开发效率工具
## 项目结构
```
.
├── README.md
├── init.sh
└── scripts/
├── shell/
│ ├── zsh.sh
│ └── plugins.sh
├── editor/
│ ├── neovim.sh
│ └── nvchad.sh
├── devtools/
│ ├── docker.sh
│ ├── go.sh
│ ├── node.sh
│ └── python.sh
├── php/
│ └── dnmp.sh
├── system/
│ ├── check_windows_wsl.bat
│ └── check_wsl.sh
└── utils/
├── git.sh
└── tools.sh
```
## 使用方法
### 系统要求
- Windows 11
- WSL2
- Debian 12
### 安装步骤
1. 克隆项目
```bash
git clone https://github.com/yourusername/wsl2-debian-init.git
cd wsl2-debian-init
```
2. 检查 Windows 上的 WSL2 环境(在 CMD 中运行)
```cmd
scripts\system\check_windows_wsl.bat
```
3. 检查 WSL2 内部环境(在 WSL 终端中运行)
```bash
./scripts/system/check_wsl.sh
```
4. 运行初始化脚本
```bash
./init.sh
```
5. 按需运行各个模块的安装脚本
```bash
# 安装 Shell 环境
./scripts/shell/zsh.sh
./scripts/shell/plugins.sh
# 安装编辑器环境
./scripts/editor/neovim.sh
./scripts/editor/nvchad.sh
# 安装开发工具链
./scripts/devtools/docker.sh
./scripts/devtools/go.sh
./scripts/devtools/node.sh
./scripts/devtools/python.sh
# 安装 PHP 开发环境
./scripts/php/dnmp.sh
# 安装系统工具
./scripts/utils/git.sh
./scripts/utils/tools.sh
```
## 脚本说明
### 系统环境脚本
- `scripts/system/check_windows_wsl.bat`: 在 Windows 端检查 WSL2 环境,包括:
- Windows 版本检查
- WSL 安装检查
- WSL2 状态检查
- 虚拟化检查
- Debian 安装检查
- Windows 功能检查
- `scripts/system/check_wsl.sh`: 在 WSL 端检查环境,包括:
- Windows 版本检查
- WSL 版本检查
- 系统要求检查
- Debian 版本检查
- 系统更新检查
- 必要组件检查
- 网络连接检查
- WSL 配置检查
### Shell 环境脚本
- `scripts/shell/zsh.sh`: 安装和配置 Zsh
- `scripts/shell/plugins.sh`: 安装常用 Zsh 插件
### 编辑器环境脚本
- `scripts/editor/neovim.sh`: 安装和配置 Neovim
- 自动检查并安装 Neovim 0.10.0 或更高版本
- 自动安装必要的依赖GCC、Make、Python3、Node.js等
- 配置 Python 和 Node.js 支持
- 使用方法:`sudo ./scripts/editor/neovim.sh`
- `scripts/editor/nvchad.sh`: 配置 NvChad
- 自动安装 NvChad 及其依赖
- 配置基本的 LSP 支持Lua、Python、TypeScript等
- 配置常用快捷键和主题
- 使用方法:
1. 先安装 Neovim`sudo ./scripts/editor/neovim.sh`
2. 再安装 NvChad`sudo ./scripts/editor/nvchad.sh`
3. 启动 Neovim 并等待插件安装完成:`nvim`
4. 安装 LSP 服务器:在 Neovim 中运行 `:MasonInstallAll`
### 开发工具链脚本
- `scripts/devtools/docker.sh`: 安装 Docker 和 Docker Compose
- `scripts/devtools/go.sh`: 安装 Go 语言环境
- `scripts/devtools/node.sh`: 安装 Node.js 环境
- `scripts/devtools/python.sh`: 安装 Python 环境
### PHP 开发环境脚本
- `scripts/php/dnmp.sh`: 安装和配置 PHP 开发环境(使用 DNMP
### 系统工具脚本
- `scripts/utils/git.sh`: 配置 Git 和安装 Git 工具
- `scripts/utils/tools.sh`: 安装各种系统工具和开发效率工具
## 常见问题
1. 如果遇到权限问题,请使用 `sudo` 运行脚本
2. 如果遇到网络问题,请检查网络连接或使用代理
3. 如果遇到依赖问题,请先运行 `sudo apt-get update && sudo apt-get upgrade`
## 贡献指南
欢迎提交 Issue 和 Pull Request 来帮助改进这个项目。
## 许可证
MIT License
### 常用快捷键
- `<Space>` + `th`: 切换主题
- `<Space>` + `ff`: 查找文件
- `<Space>` + `fw`: 查找文本
- `<Space>` + `ch`: 查看所有快捷键
- `<Ctrl>` + `h/j/k/l`: 窗口导航
- `<Ctrl>` + `s`: 保存文件
- `jk`: 退出插入模式
- `<Tab>`: 切换到下一个缓冲区
- `<Shift>` + `<Tab>`: 切换到上一个缓冲区