a83624f0cc01039457096ace17e31de7000a643c
luochen570/dotfiles
个人 Linux/WSL 环境配置,集成 ZSH + Neovim (NvChad)。
总览
| 项目 | 内容 |
|---|---|
| Shell | ZSH + zinit + Powerlevel10k |
| 编辑器 | Neovim + NvChad v2.5 + lazy.nvim |
| 系统 | WSL / Debian / Ubuntu |
安装
1. 克隆仓库
git clone git@github.com:luochen570/dotfiles.git ~/dotfiles
cd ~/dotfiles
2. 安装必要包
# 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
# uv(Python 包管理器)
curl -LsSf https://astral.sh/uv/install.sh | sh
3. 安装 ZSH
# 设置 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. 部署配置
# 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 后自动安装:
nvim
等待 lazy.nvim 下载完成即可。
ZSH 配置
主题:Powerlevel10k
使用 Powerlevel10k 作为 ZSH 主题,提供丰富的提示信息:
- Git 状态(分支、修改、未跟踪)
- 命令执行时间
- 当前目录
- 后台作业
- 错误码状态
首次启动会进入交互式配置向导,按喜好选择样式即可。
插件管理器:zinit
使用 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 作为基础,通过 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 + 格式化:
- Lua(lua_ls + stylua)
- Go(gopls + gofmt)
- Python(pyright + black)
- TypeScript / JavaScript(ts_ls + prettier)
- Rust(rust_analyzer)
- YAML / JSON / Markdown
国内加速
如需在中国大陆使用,zinit 和 Neovim 插件管理器会自动使用 GitHub 代理镜像加速。
许可证
MIT
Description
Languages
Lua
100%