add yazi + uv support, switch default branch to main
This commit is contained in:
194
README.md
194
README.md
@@ -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
|
||||
|
||||
# uv(Python 包管理器)
|
||||
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 + 格式化:
|
||||
|
||||
- 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
|
||||
|
||||
Reference in New Issue
Block a user