一套以 PowerShell 7 为唯一 Shell 基底的 Windows Terminal 环境。它提供接近 Zsh/Nushell 的视觉与交互,但不引入 Zsh、Nushell、WSL 或 Git Bash 的兼容性层。
- Tokyo Night、Maple Mono NF CN、亚克力背景和紧凑 Windows Terminal 布局。
- 原生 PowerShell
robbyrussell风格提示符,显示当前目录、Git 分支和 dirty 状态。 - PSReadLine 彩色语法、历史与插件预测、Carapace 原生 CLI 补全。
Ctrl+T使用自研fzf-icons的内置 fastwalk:原生扫描速度与完整文件图标兼得。Ctrl+R使用 fzf 搜索 PowerShell 历史。ls/ll/la使用 C# 二进制渲染 Nushell 风格圆角表格。lso保留原始FileInfo/DirectoryInfo对象管道。- zoxide 提供
j/ji智能目录跳转。 - Yazi 使用 Ranger 键位;
ya启动,光标停在目录上按Shift+S即退出并进入该目录。 - Neovim 0.12 使用内置
vim.pack、原生 LSP 补全和精简的现代插件栈。 - psmux 提供原生 Windows session/window/pane、Tokyo Night 状态栏和 Neovim/Amp 双栏开发布局。
- btop、lazygit、dust、jq、just、ripgrep、fd 等现代原生命令行工具。
- 慢模块在首次提示符后预热,Carapace 在首次 Tab 时加载。
╭──────┬───────────┬──────────────────┬───────────────────────────╮
│ type │ size │ modified │ name │
├──────┼───────────┼──────────────────┼───────────────────────────┤
│ dir │ — │ 2026-08-12 08:27 │ artifacts │
│ file │ 1.5 KiB │ 2026-08-12 14:26 │ Build.ps1 │
╰──────┴───────────┴──────────────────┴───────────────────────────╯
要求:Windows 10/11、WinGet,以及能够联网访问 WinGet、PSGallery 和 GitHub。 不需要管理员 PowerShell;字体按当前用户安装。
打开 PowerShell,粘贴这一行即可;不需要 Git,不需要下载或克隆仓库:
irm https://raw.githubusercontent.com/meglinge/PowerShell-Terminal-Kit/main/bootstrap.ps1 | iex该命令通过 HTTPS 获取公开的 bootstrap.ps1,自动下载最新版仓库压缩包到系统临时
目录,执行安装后立即清理压缩包和源码。建议先打开链接审阅脚本,再执行远程代码。
如果已经手动下载了仓库,也可以离线从仓库根目录执行:
pwsh -NoProfile -ExecutionPolicy Bypass -File .\install.ps1安装器会:
- 自动备份已有 PowerShell Profile、Yazi 键位和 Windows Terminal 设置。
- 通过 WinGet 最多并行安装 4 个任务,部署 PowerShell、Windows Terminal 和全部原生工具。
- 从 PSGallery 安装 PSReadLine、PSFzf 和 CompletionPredictor。
- 从 Maple Mono 官方稳定 Release 安装 Maple Mono NF CN。
- 安装仓库内经过校验的
fzf-icons与Fast-TerminalIcons。 - 结构化合并 Windows Terminal 设置,保留用户已有的其他 Profile 和配色。
- 备份并部署 Neovim 配置;首次启动按锁文件并行安装插件。
- 安装并配置 psmux,保留 PowerShell 7、预测补全和原生 Windows 兼容性。
安装完成后关闭所有 Windows Terminal 窗口,重新打开,再验证:
Test-TerminalKit# 只预览,不修改任何内容
.\install.ps1 -DryRun
# 已有所有工具,只部署配置和自研组件
.\install.ps1 -SkipPackages
# 不下载字体
.\install.ps1 -SkipFont
# 不修改 Windows Terminal 设置
.\install.ps1 -SkipTerminalSettings
# 保留现有 Neovim 配置
.\install.ps1 -SkipNeovimConfig
# 保留现有 psmux 配置
.\install.ps1 -SkipPsmuxConfig脚本可重复执行;每次执行都会创建新的时间戳备份。
重复运行同一条安装命令就会自动获取并覆盖为 GitHub main 的最新配置:
irm https://raw.githubusercontent.com/meglinge/PowerShell-Terminal-Kit/main/bootstrap.ps1 | iex安装后还会提供更短的更新命令:
Update-TerminalKit更新同样会先创建新备份;哈希未变化且正在使用的 DLL 会跳过复制,因此重复执行不会 因 Windows 锁定已加载模块而失败。更新后重新打开 Windows Terminal。
恢复第一次安装本套件之前的原始配置:
Uninstall-TerminalKit指定某次备份:
& "$env:LOCALAPPDATA\PowerShellTerminalKit\uninstall.ps1" `
-Backup "$env:LOCALAPPDATA\PowerShellTerminalKit\backups\20260812-120000-000"卸载器会恢复配置并移除本套件的 fzf 和 Fast-TerminalIcons 运行时。WinGet 应用、
PSGallery 模块与字体可能被其他配置共享,因此有意保留,不做破坏性删除。卸载前的
当前配置也会再次保存到 uninstall-backups。
| 命令/按键 | 用途 |
|---|---|
ls |
圆角表格,普通文件 |
ll / la |
圆角表格,包含隐藏文件 |
lso |
原始对象列表,可接 Where-Object / Remove-Item |
Ctrl+T |
带图标的内置 walker 文件选择 |
Ctrl+R |
模糊搜索历史命令 |
j keyword |
zoxide 直接跳转 |
ji |
zoxide + fzf 交互跳转 |
ya |
启动 Yazi 并支持退出后切换目录 |
Shift+S(Yazi) |
进入光标所指目录、退出 Yazi、切换 PowerShell 目录 |
reload-profile |
重载 PowerShell Profile |
edit-profile |
用 VS Code 编辑 Profile |
vim / nvim |
启动 Neovim |
edit-nvim |
在 Neovim 中打开配置目录 |
mux [名称] |
创建或进入一个 psmux session |
mux-dev [名称] |
创建 Neovim 65% + Amp 35% 的开发 session |
mux-ls |
列出 psmux sessions |
mux-reload |
重新加载 psmux 配置 |
edit-psmux |
用 Neovim 编辑 psmux 配置 |
Update-TerminalKit |
自动下载并更新到最新版 |
Test-TerminalKit |
验证已安装环境 |
Uninstall-TerminalKit |
恢复首次安装前的原始配置 |
Neovim 的插件、语言支持和快捷键见 docs/NEOVIM.md。 psmux 的完整键位和工作流见 docs/PSMUX.md。
完整键位见 docs/KEYS.md。
Windows Terminal (Tokyo Night + Maple Mono NF CN)
└─ PowerShell 7 -NoLogo
├─ 同步:UTF-8、PSReadLine、原生 prompt、zoxide
├─ OnIdle:Fast-TerminalIcons、PSFzf、CompletionPredictor
├─ 首次 Tab:Carapace
├─ Ctrl+T:fzf-icons 内置 fastwalk
└─ ls:Fast-TerminalIcons C# 边框渲染器
- 不使用 PowerShell 循环扫描文件来生成 fzf 图标。
- 普通
Get-ChildItem不额外 stat;目录大小显示—,不会递归扫描。 Fast-TerminalIconsdirect DLL 冷导入约 10ms;10,000 项边框构建约 22ms (参考开发机数据,不作为所有硬件的性能保证)。- 完整边框必须缓存列表并输出一个字符串;对象管道请使用
lso。 - Windows Terminal 采用合并而非覆盖,避免删除 WSL、VS、SSH 等已有 Profile。
更多实现边界见 docs/ARCHITECTURE.md。
assets/ 已校验的原生运行时与许可证
config/powershell/ 可移植 PowerShell Profile
config/yazi/ Ranger 风格键位
config/nvim/ Neovim 0.12 原生 vim.pack 配置与锁文件
config/psmux/ psmux PowerShell/Neovim/Amp 适配
config/windows-terminal… 可合并的 Terminal 设计片段
docs/ 架构和快捷键文档
install.ps1 幂等安装、备份和结构化合并
uninstall.ps1 从 manifest 回滚
verify.ps1 语法、密钥、哈希、部署和回滚测试
- 仓库不包含用户名、个人绝对路径、GitHub Token 或其他凭据。
- 两个 bundled binary 的 SHA-256 位于
assets/checksums.sha256。 - fzf fork 的提交与设计来源位于
assets/fzf-icons/PROVENANCE.md。 - 第三方许可见 THIRD-PARTY-NOTICES.md。
- 安装脚本只从 WinGet、PSGallery 与 Maple Mono 官方 GitHub Release 获取依赖。
pwsh -NoProfile -File .\verify.ps1 -RepositoryOnly该命令会在临时目录执行完整部署与卸载回滚,验证 Windows Terminal 合并不会删除 已有 Profile/配色,并验证二进制哈希、fzf walker icons 与 C# 边框渲染。
仓库自有脚本和配置使用 MIT License。第三方组件维持各自许可证。