Files
dotfiles/README.md

4.7 KiB
Raw Permalink Blame History

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

# uvPython 包管理器)
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 + 格式化:

  • Lualua_ls + stylua
  • Gogopls + gofmt
  • Pythonpyright + black
  • TypeScript / JavaScriptts_ls + prettier
  • Rustrust_analyzer
  • YAML / JSON / Markdown

国内加速

如需在中国大陆使用zinit 和 Neovim 插件管理器会自动使用 GitHub 代理镜像加速。


许可证

MIT