跳到主要内容

🏠 我的 Dotfiles

个人开发环境配置集合 | 统一跨设备体验

GitHub stars GitHub forks License Last commit

Terminal Preview

💡 现代化开发环境配置 - 基于 Zsh + Neovim + Tmux + Ghostty 的高效工作流


📑 目录​

🚀 快速开始💡 推荐工具🔧 配置与使用
环境准备终端工具Rime 输入法
一键安装效率提升asdf 加速
配置生效Tmux 插件
🤔 故障排除🏗️ 项目结构🤝 贡献指南
Neovim 问题目录说明提交 PR
WSL 剪贴板文件组织问题反馈

🛠️ 技术栈​

📦 技术栈徽章(Zsh / Neovim / Tmux / Ghostty / asdf ...)
🎯 核心工具📝 编辑器🖥️ 终端🔧 开发环境
ZshNeovimGhosttyGit
Tmuxvim.packAlacrittyDocker
asdfCopilotfzfPython

📦 配置概览​

📂 各配置项路径与功能一览
🔧 配置项📁 路径🎯 功能⭐ 特点
Shell 环境zsh/Zsh 配置与主题自定义主题 + 智能别名 + fzf 集成
编辑器配置nvim/Neovim + vim.packLSP + Treesitter + 27 个插件配置
终端复用config/tmux.confTmux 会话管理Catppuccin 主题 + vim 导航
现代终端config/ghostty.configGhostty 终端设置GPU 加速 + Maple Mono 字体
输入法config/rime/Rime 中文输入自定义词库 + 快捷输入
开发工具config/Git/Docker/Python统一配置 + 环境优化

🎯 Neovim 插件列表​

🧩 查看完整插件列表(27 个插件配置文件)
类别插件功能
核心库plenary.nvim, nvim-web-devicons, nui.nvim基础依赖
UI 界面catppuccin, lualine.nvim, bufferline.nvim, noice.nvim, which-key.nvim主题 + 状态栏 + 标签栏 + 命令行 + 快捷键提示
文件导航flash.nvim, neo-tree.nvim快速跳转 + 文件树
LSP 语法mason.nvim, mason-lspconfig.nvim, nvim-lspconfig, nvim-treesitter, nvim-treesitter-textobjects, nvim-ts-autotag, nvim-lint, trouble.nvim语言服务 + 语法高亮 + 诊断
代码补全blink.cmp, conform.nvim, friendly-snippets, ts-comments.nvim, mini.nvim自动补全 + 格式化 + 代码注释
搜索工具telescope.nvim, snacks.nvim模糊搜索 + 通知
Git 集成gitsigns.nvim, vim-fugitive, diffview.nvim, persistence.nvimGit 状态 + 命令 + Diff 视图 + 会话管理
AI 辅助lazydev.nvim, copilot.vim, windsurf.vimLua 开发 + AI 代码补全
实用工具vim-translator, undotree翻译 + 撤销树

🔧 LSP 服务器配置​

🌐 查看已配置的 LSP 服务器清单
语言LSP 服务器功能
GogoplsGo 语言服务
Lualua_lsLua 语言服务 (Neovim 配置开发)
Pythonruff + pylspPython 代码检查 + 语言服务
TypeScript/JavaScriptts_lsTypeScript/JavaScript 语言服务
YAMLyamllsYAML 语言服务 (GitHub Actions, Docker Compose)
DockerdockerlsDockerfile 语言服务

🐚 Zsh 插件​

🧾 查看 Zsh 插件清单
插件功能
zsh-autosuggestions命令自动建议
zsh-syntax-highlighting语法高亮
web-search网页搜索
zsh-you-should-use别名提醒

🖥️ Tmux 插件​

🧾 查看 Tmux 插件清单
插件功能
tpmTmux 插件管理器
catppuccin/tmuxCatppuccin Mocha 主题
tmux-cpuCPU 使用率显示
tmux-yank剪贴板集成
tmux-resurrect会话恢复

🐳 Docker 管理工具​

🐧 查看 Docker 快捷命令清单
命令功能说明
dfzfDocker 交互式管理fzf 驱动的容器/镜像/Volume/Network 管理
docexec进入容器fzf 选择容器并进入 shell
doclog查看日志fzf 选择容器并查看日志
doiclean清理镜像多选删除 Docker 镜像
doclean清理容器多选删除 Docker 容器
dovclean清理 Volume多选删除 Docker Volume

🌐 代理配置​

🛰️ 查看代理相关命令清单
命令功能说明
setproxy设置代理设置 HTTP/HTTPS/SOCKS 代理
unsetproxy取消代理取消所有代理设置
px <cmd>临时代理单次命令使用代理
macproxysetupMac 代理配置 macOS 系统代理

🚀 快速开始​

📋 环境准备​

# 🎯 一键安装核心依赖 (Ubuntu/Debian)
git zsh neovim tmux ripgrep fzf

# 🐧 使用 asdf 管理多版本环境
git clone --depth=1 https://github.com/asdf-vm/asdf.git ~/.asdf

🔍 依赖清单​

📥 查看依赖清单与必需性
📦 类别🛠️ 工具📝 说明🌟 必需性
核心环境git zsh neovim tmux基础开发工具链⭐⭐⭐
版本管理asdf多语言环境管理⭐⭐
编辑器增强ripgrep fzf fd batNeovim 搜索与预览⭐⭐
终端工具lsd zoxide delta现代化命令行体验⭐⭐
剪贴板支持xclip/xselLinux X11 剪贴板⭐
WSL 专用win32yank.exeWindows 剪贴板桥接⭐ (WSL)
中文输入fcitx5-rime中文输入法⭐ (可选)

⚡ 一键安装​

# 🚀 克隆配置仓库
git clone https://github.com/hjkl01/dotfiles ~/.dotfiles
cd ~/.dotfiles

# 🔗 智能链接配置文件
bash ./installer.sh link

# 🐚 切换到 Zsh Shell
chsh -s $(which zsh)

🌐 加速选项 (可选)​

# 🇨🇳 使用 GitHub 镜像加速 (国内用户推荐)
git config --global url."https://gh.hjkl01.cn/https://github.com".insteadOf "https://github.com"

✅ 安装验证​

# 🔄 重新加载配置
source ~/.zshrc

# 🎉 验证安装
echo "✅ Dotfiles 安装完成!"
echo "📁 配置位置: ~/.dotfiles"
echo "🐚 当前 Shell: $SHELL"

💡 提示: 安装完成后重启终端或运行 source ~/.zshrc 使配置生效。


💡 推荐工具​

🎯 效率提升工具集​

🛠️ 查看效率工具清单与安装命令
🛠️ 工具📝 功能🌟 推荐指数🚀 安装命令
lsd现代化 ls⭐⭐⭐⭐⭐cargo install lsd
zoxide智能目录跳转⭐⭐⭐⭐⭐cargo install zoxide
fd友好 find 替代⭐⭐⭐⭐cargo install fd-find
bat现代 cat 替代⭐⭐⭐⭐⭐cargo install bat
deltaGit diff 美化⭐⭐⭐⭐cargo install git-delta
lazygitTUI Git 客户端⭐⭐⭐⭐⭐cargo install lazygit
yazi现代文件管理器⭐⭐⭐⭐⭐cargo install yazi
dust目录大小分析⭐⭐⭐cargo install dust
broot交互式目录树⭐⭐⭐⭐cargo install broot

🎨 终端美化​

# 🎨 安装 Nerd Font (推荐 Maple Mono NF CN)
# Ghostty: 已配置 Maple Mono NF CN
# Alacritty: 已配置 JetBrainsMono Nerd Font

📊 系统监控​

📈 查看系统监控工具清单
🔍 工具📊 用途⭐ 特点
htop进程监控交互式界面
ncdu磁盘分析可视化占用
tree目录树结构化显示
proxychains-ng网络代理终端代理支持

🔧 高级配置​

🈚 Rime 输入法配置​

# 📦 安装 fcitx5-rime (Arch Linux)
sudo pacman -S fcitx5 fcitx5-rime fcitx5-configtool

# 🚀 自动化部署工具
git clone --depth=1 https://github.com/Mark24Code/rime-auto-deploy
cd rime-auto-deploy && ./installer.rb

⚙️ 环境变量配置​

# 🌐 添加到 ~/.profile 或 /etc/environment
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"

# 🍎 macOS 重载配置
/Library/Input\ Methods/Squirrel.app/Contents/MacOS/Squirrel --reload

🚀 asdf 环境加速​

# 🐍 Python 镜像加速 (添加到 ~/.zshrc)
export PYTHON_BUILD_MIRROR_URL="https://registry.npmmirror.com/-/binary/python"

# 📦 Node.js 镜像加速
export NODE_BUILD_MIRROR_URL="https://npmmirror.com/mirrors/node"

# 🦀 Rust 镜像加速
export RUSTUP_DIST_SERVER="https://rsproxy.cn"
export RUSTUP_UPDATE_ROOT="https://rsproxy.cn/rustup"

💡 加速效果对比​

⚡ 查看镜像加速效果对比
🐍 语言🌐 官方源🇨🇳 镜像源⚡ 加速比
Python~5分钟~30秒10x
Node.js~3分钟~20秒9x
Rust~8分钟~45秒11x

🖥️ Tmux 插件管理​

⌨️ 查看 Tmux 插件管理快捷键
⌨️ 快捷键🎯 功能📝 说明
prefix + I安装插件Install plugins
prefix + U更新插件Update plugins
prefix + alt + u卸载插件Uninstall plugins

🔄 自动化更新​

# ⏰ 设置定时任务 (每天 8:50 自动更新)
echo "50 8 * * * git -C $HOME/.dotfiles pull" | crontab -

# 🎯 手动更新
cd ~/.dotfiles && git pull && bash ./installer.sh link

🆘 故障排除​

🐛 Neovim 问题诊断​

# 🧹 清理缓存和插件
rm -rf ~/.local/share/nvim/ ~/.cache/nvim/

# 🔍 检查配置
nvim --check-health

# 🚀 重新安装(vim.pack)
nvim --headless "+lua vim.pack.update()" +qa

# 🔧 检查 LSP 状态
:LspInfo

# 🎨 更新 Treesitter 语法高亮
:TSUpdate

📊 常见问题​

🚨 查看常见问题与解决方案
🚨 问题🔧 解决方案✅ 验证
插件加载失败清理缓存后执行 vim.pack 更新:checkhealth
LSP 不工作检查语言服务器安装:LspInfo
语法高亮异常更新/安装 treesitter parser:TSUpdate / :TSInstall <lang>
Copilot 不工作设置环境变量 NVIM_ENABLE_COPILOT=1重启 Neovim

🔑 Neovim 快捷键速查​

⌨️ 查看 Neovim 快捷键速查表
⌨️ 快捷键🎯 功能📝 说明
<leader>ff查找文件Telescope 文件搜索
<leader>fg全局搜索Telescope 内容搜索
<leader>e文件树Neo-tree 文件浏览器
<leader>gsGit 状态Fugitive Git 命令
<leader>dvDiff 视图Diffview 打开
<leader>u撤销树Undotree 切换
gd跳转定义LSP 定义跳转
gr查看引用LSP 引用查看

🪟 WSL 剪贴板配置​

# 📥 下载 win32yank
wget https://github.com/equalsraf/win32yank/releases/download/v0.1.1/win32yank-x64.zip
unzip win32yank-x64.zip -d ~/.local/bin/
chmod +x ~/.local/bin/win32yank.exe

# 🔗 配置 Neovim 剪贴板
echo 'let g:clipboard = {"name": "win32yank", "copy": {"+": "win32yank.exe -i --crlf"}, "paste": {"+": "win32yank.exe -o --lf"}}' >> ~/.config/nvim/init.lua

📁 项目结构​

🏗️ 查看项目结构树
graph TD
A[.dotfiles/] --> B[config/]
A --> C[nvim/]
A --> D[zsh/]
A --> E[bin/]
A --> G[installer.sh]
A --> H[Dockerfile]

B --> B1[gitconfig]
B --> B2[tmux.conf]
B --> B3[ghostty.config]
B --> B4[alacritty.toml]
B --> B5[rime/]

C --> C1[lua/config/]
C --> C2[lua/plugins/ - 27 个插件配置]
C --> C3[init.lua]

D --> D1[zshrc]
D --> D2[alias.zsh]
D --> D3[git.sh]
D --> D4[docker.sh]
D --> D5[languages.sh]
D --> D6[proxy.sh]
D --> D7[asdf.sh]

E --> E1[asdf]
E --> E2[b]
E --> E3[fif]
E --> E4[fkill]
E --> E5[cdf]

📂 详细目录说明​

📇 查看目录与文件清单
📁 目录📄 主要文件🎯 用途⭐ 重要度
config/tmux.conf, ghostty.config, gitconfig终端和应用配置⭐⭐⭐⭐⭐
nvim/lua/config/options.lua, keymaps.lua, pack.luaNeovim 核心配置⭐⭐⭐⭐⭐
nvim/lua/plugins/27 个 .lua 文件Neovim 插件配置⭐⭐⭐⭐⭐
zsh/zshrc, alias.zsh, docker.shShell 环境配置⭐⭐⭐⭐⭐
bin/asdf, b, fif, fkill, cdf自定义脚本工具⭐⭐⭐
scripts/run.sh, test.py项目辅助脚本⭐⭐
.github/workflows/CI/CD 配置⭐

🔧 安装脚本功能​

# 📋 installer.sh 支持的操作
./installer.sh link # 🔗 链接配置文件
./installer.sh unlink # 🔓 取消链接
./installer.sh backup # 💾 备份现有配置
./installer.sh restore # 🔄 恢复备份

🤝 贡献指南​

🎯 如何贡献​

📝 方式🔗 链接📋 说明
🐛 报告问题Issues发现 Bug 或配置问题
💡 功能建议Discussions提出改进建议
🔧 提交代码Pull Requests直接贡献配置

📝 贡献流程​

# 1. 🍴 Fork 仓库
# 2. 🌿 创建功能分支
git checkout -b feature/amazing-feature

# 3. 💾 提交更改
git commit -m "✨ Add amazing feature"

# 4. 📤 推送分支
git push origin feature/amazing-feature

# 5. 🔄 创建 Pull Request

🎨 代码规范​

  • 📝 使用清晰的提交信息
  • 🧹 保持配置文件整洁
  • 📖 添加必要的注释说明
  • 🧪 测试配置的兼容性

🙏 致谢​

🌟 致谢的项目清单
🌟 项目🔗 链接📝 贡献
NeovimNeovim内置 vim.pack 与编辑器生态
NvChadNvChad配置灵感来源
Oh My ZshOh My ZshZsh 插件生态
TPMTPMTmux 插件管理

📄 许可证​

MIT License

本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。


⭐ 如果这个项目对你有帮助,请给一个 Star!

📧 联系方式: GitHub Issues