Windows 极简终端:CMD + Clink + XDG
Windows Terminal + Scoop + Clink + fzf + fd + zoxide + fastfetch
纯 CMD、XDG 目录规范、Maple Mono 字体,不依赖 PowerShell、WSL、Starship。
1. 安装
前提:已安装 Scoop。
scoop install clink fzf fd zoxide fastfetch
2. 设置环境变量
在 CMD 中执行:
setx HOME "%USERPROFILE%"
setx XDG_CONFIG_HOME "%USERPROFILE%\.config"
setx XDG_DATA_HOME "%USERPROFILE%\.local\share"
setx XDG_STATE_HOME "%USERPROFILE%\.local\state"
setx XDG_CACHE_HOME "%USERPROFILE%\.cache"
关闭所有 Windows Terminal 窗口,重新打开。
创建目录:
mkdir "%XDG_CONFIG_HOME%\clink\scripts"
mkdir "%XDG_CONFIG_HOME%\fastfetch"
mkdir "%XDG_DATA_HOME%\zoxide"
mkdir "%XDG_STATE_HOME%\clink"
mkdir "%XDG_CACHE_HOME%"
3. 安装 Clink Lua 扩展
clink-fzf:
curl.exe -fL "https://raw.githubusercontent.com/chrisant996/clink-fzf/main/fzf.lua" -o "%XDG_CONFIG_HOME%\clink\scripts\fzf.lua"
clink-zoxide:
curl.exe -fL "https://raw.githubusercontent.com/shunsambongi/clink-zoxide/master/zoxide.lua" -o "%XDG_CONFIG_HOME%\clink\scripts\zoxide.lua"
4. Clink 启动脚本
打开文件:
notepad "%XDG_CONFIG_HOME%\clink\start.cmd"
粘贴并保存:
@echo off
rem XDG / Clink
set "CLINK_PROFILE=%XDG_STATE_HOME%\clink"
set "CLINK_SETTINGS=%XDG_CONFIG_HOME%\clink"
set "CLINK_INPUTRC=%XDG_CONFIG_HOME%\clink\.inputrc"
rem zoxide
set "_ZO_DATA_DIR=%XDG_DATA_HOME%\zoxide"
rem fzf + fd
set "FZF_DEFAULT_OPTS=--height=70%% --layout=reverse --border=rounded --info=inline --cycle"
set "FZF_DEFAULT_COMMAND=fd --type f --hidden --exclude .git --exclude node_modules"
set "FZF_CTRL_T_COMMAND=fd --type f --hidden --exclude .git --exclude node_modules"
set "FZF_ALT_C_COMMAND=fd --type d --hidden --exclude .git --exclude node_modules"
rem fastfetch
fastfetch --config "%XDG_CONFIG_HOME%\fastfetch\config.jsonc"
rem Clink
clink inject --quiet --profile "%CLINK_PROFILE%" --scripts "%XDG_CONFIG_HOME%\clink\scripts"
5. 极简 Prompt
打开:
notepad "%XDG_CONFIG_HOME%\clink\scripts\prompt.lua"
粘贴保存:
local prompt = clink.promptfilter(50)
function prompt:filter()
return "\27[90m" .. clink.get_cwd()
.. "\27[0m\n\27[32m❯\27[0m ", false
end
效果:
C:\Users\Neo\Projects
❯
灰色路径、绿色提示符,无额外主题依赖。
6. 极简 fastfetch
打开:
notepad "%XDG_CONFIG_HOME%\fastfetch\config.jsonc"
粘贴保存:
{
"logo": {
"type": "none"
},
"display": {
"separator": " ",
"key": {
"width": 9
}
},
"modules": [
"os",
"kernel",
"uptime",
"cpu",
"memory"
]
}
无 Logo、无色块,只显示五项系统信息。
7. Windows Terminal 添加入口
打开 Windows Terminal,按 Ctrl+, 进入设置。
添加新配置文件 → 复制「命令提示符」。
名称:
CMD + Clink命令行:
cmd.exe /d /k "%USERPROFILE%\.config\clink\start.cmd"
起始目录:
%USERPROFILE%字体:
Maple Mono字号:
11保存,并设为默认配置文件。
无需编辑 Windows Terminal 的 JSON 配置。
8. Clink 设置
打开新的 CMD + Clink,执行:
clink set prompt.spacing compact
clink set fzf.default_bindings true
clink set zoxide.hook pwd
clink set history.max_lines 10000
clink set clink.colorize_input true
prompt.spacing compact 用于消除 Prompt 前的额外空行。
重新打开终端。
9. 快捷键
| 操作 | 功能 |
|---|---|
Ctrl+T | fd + fzf 搜索文件 |
Ctrl+R | fzf 搜索命令历史 |
Alt+C | fd + fzf 选择目录 |
z foo | zoxide 智能跳转 |
zi | zoxide + fzf 交互式目录选择 |
10. 验证
clink info
clink set prompt.spacing
clink set fzf.default_bindings
clink set zoxide.hook
zoxide query --list
检查 fastfetch:
fastfetch --config "%XDG_CONFIG_HOME%\fastfetch\config.jsonc"
11. 最终目录结构
%USERPROFILE%\
├── .config\
│ ├── clink\
│ │ ├── start.cmd
│ │ ├── clink_settings
│ │ └── scripts\
│ │ ├── fzf.lua
│ │ ├── zoxide.lua
│ │ └── prompt.lua
│ └── fastfetch\
│ └── config.jsonc
├── .local\
│ ├── share\
│ │ └── zoxide\
│ └── state\
│ └── clink\
├── .cache\
└── scoop\
最终只需维护三个文件:
start.cmd:环境变量与启动流程。prompt.lua:终端提示符。fastfetch/config.jsonc:系统信息展示。
所有配置集中在 XDG 目录,Scoop 负责程序更新,Windows Terminal 负责启动。