Files
dotfiles/README.md

194 lines
4.7 KiB
Markdown
Raw Permalink 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.
# 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