add yazi + uv support, switch default branch to main

This commit is contained in:
luochen570
2026-05-24 10:07:39 +08:00
parent e5beccae77
commit 2b8e08b9f3
3 changed files with 358 additions and 1 deletions

194
README.md
View File

@@ -1 +1,193 @@
# dotfiles
# luochen570/dotfiles
个人 Linux/WSL 环境配置,集成 **ZSH** + **Neovim (NvChad)**
## 总览
| 项目 | 内容 |
|------|------|
| Shell | ZSH + zinit + Powerlevel10k |
| 编辑器 | Neovim + NvChad v2.5 + lazy.nvim |
| 系统 | WSL / Debian / Ubuntu |
---
## 安装
### 1. 克隆仓库
```bash
git clone git@github.com:luochen570/dotfiles.git ~/dotfiles
cd ~/dotfiles
```
### 2. 安装必要包
```bash
# Debian / Ubuntu
sudo apt install -y \
zsh git curl wget \
eza tree bat \
unzip ripgrep fd-find \
fzf command-not-found
# yazi终端文件管理器
# curl -sL https://github.com/sxyazi/yazi/releases/latest/download/yazi-x86_64-unknown-linux-gnu.zip
# 或使用包管理器 / cargo
# cargo install yazi-fm
# uvPython 包管理器)
curl -LsSf https://astral.sh/uv/install.sh | sh
```
### 3. 安装 ZSH
```bash
# 设置 ZSH 为默认 shell
chsh -s $(which zsh)
# 安装 zinit如未自动安装
ZINIT_HOME="${XDG_DATA_HOME:-${HOME}/.local/share}/zinit/zinit.git"
mkdir -p "$(dirname "$ZINIT_HOME")"
git clone https://github.com/zdharma-continuum/zinit.git "$ZINIT_HOME"
```
### 4. 部署配置
```bash
# ZSH 配置
ln -sf ~/dotfiles/.zshrc ~/.zshrc
# Neovim 配置NvChad
ln -sf ~/dotfiles/nvim ~/.config/nvim
# Powerlevel10k 配置(可选)
ln -sf ~/dotfiles/.p10k.zsh ~/.p10k.zsh
```
### 5. 安装 Neovim 插件
启动 Neovim 后自动安装:
```bash
nvim
```
等待 lazy.nvim 下载完成即可。
---
## ZSH 配置
### 主题Powerlevel10k
使用 [Powerlevel10k](https://github.com/romkatv/powerlevel10k) 作为 ZSH 主题,提供丰富的提示信息:
- Git 状态(分支、修改、未跟踪)
- 命令执行时间
- 当前目录
- 后台作业
- 错误码状态
首次启动会进入交互式配置向导,按喜好选择样式即可。
### 插件管理器zinit
使用 [zinit](https://github.com/zdharma-continuum/zinit) 作为插件管理器,支持异步加载,启动速度快。
### 加载的插件
| 插件 | 说明 | 加载方式 |
|------|------|---------|
| **OMZL::git** | Git 补全与函数 | 同步 |
| **OMZL::history** | 历史记录设置 | 同步 |
| **OMZL::key-bindings** | 按键绑定 | 延迟 1s |
| **OMZL::completion** | 补全系统 | 延迟 1s |
| **command-not-found** | 命令缺失提示 | 延迟 0s |
| **colored-man-pages** | man 页彩色高亮 | 延迟 3s |
| **fast-syntax-highlighting** | 命令行语法高亮 | 异步 |
| **zsh-autosuggestions** | 历史命令建议 | 异步 |
| **sudo** | 双击 ESC 加 sudo | 延迟 2s |
| **z** | 目录频率跳转 | 延迟 1s |
| **git** | Git 别名与函数 | 延迟 1s |
| **extract** | 一键解压 | 延迟 1s |
| **kubectl** | Kubernetes 补全 | 延迟 2s |
| **helm** | Helm 补全 | 延迟 2s |
### 别名
| 命令 | 说明 |
|------|------|
| `ls` | eza现代 ls带颜色/图标) |
| `l` / `la` / `ll` / `lt` | eza 各种格式输出 |
| `lst` | 树形目录eza tree 或 tree |
| `...` / `....` | cd ../.. / cd ../../.. |
| `1` ~ `9` | cd -1 ~ cd -9目录历史快速跳转 |
| `_` | sudo空格加命令 |
| `gc1` | git clone --recursive --depth=1 |
| `md` | mkdir -p |
| `rd` | rmdir |
| `proxy-on` / `proxy-off` | HTTP 代理开关127.0.0.1:7890 |
| `y` | yazi 文件管理器并自动 cd 到退出目录 |
| `uv` | Python 包管理器(含自动补全) |
---
## Neovim 配置
使用 [NvChad v2.5](https://github.com/NvChad/NvChad) 作为基础,通过 lazy.nvim 管理插件。
### 结构
```
nvim/
├── init.lua # 入口
├── lua/
│ ├── chadrc.lua # NvChad 配置覆盖
│ ├── mappings.lua # 自定义快捷键
│ ├── options.lua # 编辑器选项
│ ├── autocmds.lua # 自动命令
│ ├── plugins/
│ │ └── init.lua # 额外插件
│ └── configs/
│ ├── lazy.lua # lazy.nvim 配置
│ ├── lspconfig.lua # LSP 配置
│ └── conform.lua # 格式化配置
└── lazy-lock.json # 插件版本锁
```
### 快捷键
| 按键 | 说明 |
|------|------|
| `<Space>` | Leader 键 |
| `<Space>ff` | 查找文件 (Telescope) |
| `<Space>fg` | 查找文本 (Telescope) |
| `<Space>fb` | 查找缓冲区 (Telescope) |
| `<Space>e` | 文件树 (NvimTree) |
| `K` | 查看 LSP 文档 |
| `gd` | 跳转到定义 |
| `gr` | 查找引用 |
### 已配置的语言支持
开箱即用的 LSP + 格式化:
- Lualua_ls + stylua
- Gogopls + gofmt
- Pythonpyright + black
- TypeScript / JavaScriptts_ls + prettier
- Rustrust_analyzer
- YAML / JSON / Markdown
---
## 国内加速
如需在中国大陆使用zinit 和 Neovim 插件管理器会自动使用 GitHub 代理镜像加速。
---
## 许可证
MIT