Warning
- 其他系统的 dotfiles 暂不维护,dot/MacOS 分支对于 Intel 芯片的 Mac 支持可能不太好
# 克隆仓库
git clone https://github.com/kjasn/dotfiles.git ~/dotfiles
cd ~/dotfiles
# 切换到对应系统的分支(Linux dotfiles 文件暂不维护)
git checkout dot/MacOS
# 运行安装脚本
chmod +x ./install.sh
./install.sh安装后设置:
- 重新启动终端应用
- 根据 PowerLevel10k 配置提示设置终端样式
- 如需重新配置:
p10k configure
- Neovim + LazyVim
- Aerospace: 实现平铺式窗口管理,yabai 要关掉 SIP 才能使用,有点麻烦
- Zsh + Zim: 替换掉了
oh-my-zsh,据说更快一些,也有人推荐fish但是我懒得折腾了 - PowerLevel10k: 不喜欢 zim 官方文档的主题,所以换成了 PowerLevel10k
- Tmux: 好用,窗口多开(虽然通常终端都自带了,但是 tmux 可以搭配
vim-navigator插件切换光标的位置),detach 后也能继续任务 - Homebrew: 必装
- 终端模拟器:
ghostty,毛玻璃背景,光标修改为蕾姆发色(#96C4FE),字体为Monaco和Maple Mono NF CN官方设定为水蓝色(#66FFE6),与动漫中色差过大,故没有选用
- Homebrew (如果未安装)
- Git, Zsh, Curl, Fzf, Ripgrep, fd
- 最新版 Neovim
- Zim Zsh 框架
- Tmux 插件管理器 (TPM)
- Aerospace 窗口管理器(可选)
- borders (AeroSpace 边框工具,可选)
- git-sync.sh: Git 上游同步脚本,用于同步 fork 仓库的上游更新
- 使用方法:
./scripts/git-sync.sh [master|main] - 如需全局使用,可复制到
/usr/local/bin/目录
- 使用方法:
- upload-file-to-server.sh: 服务器文件上传脚本,使用固定 SSH 密钥快速上传文件
- 使用方法:
./scripts/upload-file-to-server.sh <本地路径> <远程路径> - 使用前需要配置脚本中的服务器信息和 SSH 密钥路径
- 使用方法:
├── aerospace # aerospace 配置
├── install.sh # 安装脚本
├── uninstall.sh # 卸载脚本
├── shell/ # shell 配置 (.zshrc, .zimrc,ghostty_config)
├── nvim/ # LazyVim 配置
├── git/ # Git 配置
├── tmux/ # Tmux 配置
├── scripts/ # 实用脚本
│ ├── git-sync.sh # Git 上游同步脚本
│ └── upload-stage-server.sh # 服务器文件上传脚本
└── README.md # 说明文档- LSP 支持: Go、Python、TypeScript、React
- 格式化: 自动代码格式化(半自动吧)
- 文件树: MiniFiles 文件管理器
- 搜索: fzf 模糊搜索
- 智能补全: fzf-tab 模糊补全
- 语法高亮: 命令语法高亮
- 历史搜索: 上下箭头搜索历史
- 自动建议: 智能命令建议
- 快速跳转:安装了 zoxide,可以通过
z命令快速跳转
本配置使用 ctrl+q 作为 prefix ,prefix+h/j/k/l 可以在不同的 pannel 之间跳转
在默认配置的基础上,添加了一些自定义配置:
- 设置打开QQ,WeChat,Finder等应用时,窗口自动浮动并调整大小以适应内容
- 通过 JankyBorders 设置 active App 边框颜色
- 默认设置 ghostty 和 VS Code 放在 workspace S
- 禁用 Mac 默认的
cmd+h,cmd-alt-h快捷键
chmod +x ./uninstall.sh
./uninstall.sh卸载脚本将:
- 恢复备份的配置文件
- 删除符号链接
- 卸载字体
- 清理缓存
- 可选卸载 Homebrew 包
编辑 nvim/lua/config/keymaps.lua 添加自定义快捷键:
-- 示例:添加新的快捷键
map.set("n", "<leader>ff", ":Telescope find_files<CR>", opt)设置 XDG_CONFIG_HOME 环境变量来指定配置文件位置
export XDG_CONFIG_HOME="$HOME/.config"由于使用 oh-my-tmux 配置,./tmux/.tmux.conf废弃,修改 tmux 配置请编辑 ./tmux/.tmux.conf.local
# 示例:修改前缀键
set -g prefix C-b用于同步 fork 仓库的上游更新:
# 在 dotfiles 目录中使用
./scripts/git-sync.sh main
# 如需全局使用,复制到系统路径
sudo cp scripts/git-sync.sh /usr/local/bin/git-sync
sudo chmod +x /usr/local/bin/git-sync
# 然后在任何 Git 仓库中使用
git-sync main使用前准备:
- 确保已配置 upstream 远程仓库:
git remote add upstream <原仓库URL> - 脚本会自动备份当前分支状态
- 支持 master 和 main 分支
用于快速上传文件到远程服务器:
# 在 dotfiles 目录中使用
./scripts/upload-stage-server.sh ./my_project /var/www/html/
# 如需全局使用,复制到系统路径
sudo cp scripts/upload-stage-server.sh /usr/local/bin/upload-stage-server
sudo chmod +x /usr/local/bin/upload-stage-server
# 然后在任何地方使用
upload-stage-server ./my_project /var/www/html/使用前准备:
- 编辑脚本配置服务器信息:
REMOTE_USER、REMOTE_HOST、REMOTE_PORT - 配置 SSH 密钥路径:
SSH_KEY_PATH - 确保 SSH 密钥有访问服务器的权限
- 脚本会自动检查远程文件是否存在,避免意外覆盖
执行 p10k configure 进行配置,要修改配置就重新执行一次。
配置文件位置:~/.p10k.zsh
# Apple Silicon Mac
eval "$(/opt/homebrew/bin/brew shellenv)"
# Intel Mac
eval "$(/usr/local/bin/brew shellenv)"# 重新同步插件
nvim --headless "+Lazy! sync" +qa