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%"

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"

打开文件:

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+, 进入设置。

  1. 添加新配置文件 → 复制「命令提示符」。

  2. 名称:CMD + Clink

  3. 命令行:

cmd.exe /d /k "%USERPROFILE%\.config\clink\start.cmd"
  1. 起始目录:%USERPROFILE%

  2. 字体:Maple Mono

  3. 字号:11

  4. 保存,并设为默认配置文件。

无需编辑 Windows Terminal 的 JSON 配置。

打开新的 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+Tfd + fzf 搜索文件
Ctrl+Rfzf 搜索命令历史
Alt+Cfd + fzf 选择目录
z foozoxide 智能跳转
zizoxide + 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 负责启动。

← 返回文章列表