安装

powershell安装

scoop bucket add extras
scoop install extras/wezterm
scoop install pwsh
scoop install yazi

这里的pwsh是powershell 7,现在更多都是用pwsh了,后面主题出现的inner liner错误,基本上都是没用pwsh的原因。

启动

WezTerm是独立的应用,你可以直接搜索打开,也可以在pwsh直接输入WezTerm打开,都可以

打开你会发现默认是C盘system32的cmd.exe,这显然不是很好,我们可以配置一下,打开pwsh:

notepad $env:USERPROFILE\.wezterm.lua

没有就新建一个,然后给出最小配置:

local wezterm = require 'wezterm'

return { config.default_prog = { ‘pwsh.exe’, ‘-NoLogo’ } default_cwd = ‘D:/OS’, }

默认打开powershell,然后给出默认路径(嘿,这图还是powershell的,就是因为我后面主题错了,所以前面才换成pwsh):

最简单就是:

Alt + v    左右分屏
Alt + s    上下分屏
Alt + h    切左边 pane
Alt + l    切右边 pane
Alt + j    切下面 pane
Alt + k    切上面 pane

这样就可以愉快的开始了。

美化

美化分为三层:

1. WezTerm 自带 color_scheme
2. 字体 + Nerd Font 图标
3. Shell prompt 美化,例如 Starship / Oh My Posh

字体

直接powershell安装:

scoop bucket add extras
scoop bucket add nerd-fonts

scoop install JetBrainsMono-NF scoop install oh-my-posh scoop install eza bat fd ripgrep fzf zoxide

然后编辑:

notepad $env:USERPROFILE.wezterm.lua

原来已经有默认配置了,注意对比,替换即可:

local wezterm = require ‘wezterm’
local config = wezterm.config_builder()

config.default_prog = { ‘pwsh.exe’, ‘-NoLogo’ } config.default_cwd = ‘D:/OS’

– 字体 config.font = wezterm.font_with_fallback { ‘JetBrainsMono Nerd Font’, ‘CaskaydiaCove Nerd Font’, ‘Consolas’, } config.font_size = 12.5 config.line_height = 1.1

– 主题 config.color_scheme = ‘Tokyo Night Storm’

– 窗口 config.window_background_opacity = 0.94 config.window_decorations = ‘RESIZE’ config.window_padding = { left = 14, right = 14, top = 10, bottom = 8, }

– Tab 栏 config.use_fancy_tab_bar = false config.hide_tab_bar_if_only_one_tab = false config.tab_bar_at_bottom = false

– 光标 config.default_cursor_style = ‘BlinkingBlock’ config.cursor_blink_rate = 650

return config

这只是个开胃菜,这里其实配置的更多是整个终端的配置,具体细节美化还是要看主题

主题

想自己配置可以去这里进行查看,不过现在都用gpt了,直接问都能改,官方文档说明,它内置了大量来自 iTerm2-Color-Schemes、base16、Gogh、terminal.sexy 等来源的主题。这个页面会按字母列出所有内置主题,目前页面显示有 1001 个 color schemes

但是这些主题其实都很弱鸡,我还是推荐用Starship或者Oh My Posh

pwsh配置:

New-Item -ItemType Directory -Path (Split-Path $PROFILE) -Force
New-Item -ItemType File -Path $PROFILE -Force
notepad $PROFILE

没有就直接创建,然后加入:

oh-my-posh init powershell –config “$env:USERPROFILE.config\ohmyposh\dev.omp.json” | Invoke-Expression

注意:这里我们指定了一个自己的主题文件,这会在你的用户的.config\ohmyposh\dev.omp.json ,接下来powershell创建并且编辑它:

mkdir $env:USERPROFILE.config\ohmyposh -Force
notepad $env:USERPROFILE.config\ohmyposh\dev.omp.json

创建之后不用写东西,我们把别的主题copy过来:

Copy-Item “$(scoop prefix oh-my-posh)\themes\tokyo.omp.json” “$env:USERPROFILE.config\ohmyposh\dev.omp.json” -Force

保存,重启之后,在pwsh就可以看到美化的主题了:

这种copy有一种好处,就是所有的修改都不会污染原来的主题,这就非常完美了,更多的主题可以看这里

配置背景图片

在配置文件里:

notepad $env:USERPROFILE.wezterm.lua

写:

config.window_background_image = ‘路径/terminal-bg.png’
config.window_background_image_hsb = {
brightness = 0.25,
hue = 1.0,
saturation = 0.8,
}

注意 Windows 路径建议用 /,不要用 </code> 。

它同时可以配置背景图、背景图透明度、背景图拉伸方式、背景图位置、背景图和主题背景色混合,ai一下即可。

配置vibe和read的模板

重点是:默认启动 pwsh.exe,启动目录指向项目目录,字体使用 Nerd Font,主题交给 WezTerm,prompt 交给 Oh My Posh。先配置:

notepad $env:USERPROFILE.wezterm.lua

这里给出左上左下都是codex,右上右下都是shell的方案:

local wezterm = require ‘wezterm’
local act = wezterm.action

local config = wezterm.config_builder()


– Basic

config.default_prog = { ‘pwsh.exe’, ‘-NoLogo’ } config.default_cwd = ‘D:/OS’


– Appearance

config.font = wezterm.font_with_fallback { ‘JetBrainsMono Nerd Font’, ‘CaskaydiaCove Nerd Font’, ‘Consolas’, }

config.font_size = 12.5 config.line_height = 1.08

config.color_scheme = ‘Tokyo Night Storm’ config.window_background_opacity = 0.94 config.text_background_opacity = 1.0

config.window_decorations = ‘RESIZE’ config.initial_cols = 160 config.initial_rows = 42

config.window_padding = { left = 14, right = 14, top = 10, bottom = 8, }

config.use_fancy_tab_bar = false config.hide_tab_bar_if_only_one_tab = false config.tab_bar_at_bottom = false

config.default_cursor_style = ‘BlinkingBlock’ config.cursor_blink_rate = 650

config.inactive_pane_hsb = { saturation = 0.8, brightness = 0.7, }


– Keys

local function pwsh_project() return { cwd = ‘D:/OS’, args = { ‘pwsh.exe’, ‘-NoLogo’, ‘-NoExit’, ‘-Command’, ‘Set-Location D:/OS’, }, } end

config.keys = {

– Move pane: Alt + h/j/k/l

{ key = ‘h’, mods = ‘ALT’, action = act.ActivatePaneDirection ‘Left’ }, { key = ‘j’, mods = ‘ALT’, action = act.ActivatePaneDirection ‘Down’ }, { key = ‘k’, mods = ‘ALT’, action = act.ActivatePaneDirection ‘Up’ }, { key = ’l’, mods = ‘ALT’, action = act.ActivatePaneDirection ‘Right’ },


– New pane: Alt + Shift + h/j/k/l

{ key = ‘h’, mods = ‘ALT|SHIFT’, action = act.SplitPane { direction = ‘Left’, size = { Percent = 50 }, command = pwsh_project(), }, },

{ key = ‘j’, mods = ‘ALT|SHIFT’, action = act.SplitPane { direction = ‘Down’, size = { Percent = 50 }, command = pwsh_project(), }, },

{ key = ‘k’, mods = ‘ALT|SHIFT’, action = act.SplitPane { direction = ‘Up’, size = { Percent = 50 }, command = pwsh_project(), }, },

{ key = ’l’, mods = ‘ALT|SHIFT’, action = act.SplitPane { direction = ‘Right’, size = { Percent = 50 }, command = pwsh_project(), }, },


– Other

{ key = ‘z’, mods = ‘ALT’, action = act.TogglePaneZoomState }, { key = ‘w’, mods = ‘ALT’, action = act.CloseCurrentPane { confirm = true } }, }


– Auto Layout: 2x2 – Left Top: Codex – Left Bottom: Codex – Right Top: Shell – Right Bottom: Shell

wezterm.on(‘gui-startup’, function(cmd) local mux = wezterm.mux local project_dir = ‘D:/OS’

– 1. 创建左上 pane:Codex 1 local tab, codex_top_left, window = mux.spawn_window { workspace = ‘Ciallo~( ̄▽ ̄~)’, cwd = project_dir, args = { ‘pwsh.exe’, ‘-NoLogo’, ‘-NoExit’, ‘-Command’, ‘codex –yolo resume’ }, }

– 2. 从左上向右切出右上 pane:Shell 1 local shell_top_right = codex_top_left:split { direction = ‘Right’, size = 0.5, cwd = project_dir, args = { ‘pwsh.exe’, ‘-NoLogo’, ‘-NoExit’, ‘-Command’, ‘Set-Location D:/OS’ }, }

– 3. 从左上向下切出左下 pane:Codex 2 codex_top_left:split { direction = ‘Bottom’, size = 0.5, cwd = project_dir, args = { ‘pwsh.exe’, ‘-NoLogo’, ‘-NoExit’, ‘-Command’, ‘codex –yolo resume’ }, }

– 4. 从右上向下切出右下 pane:Shell 2 shell_top_right:split { direction = ‘Bottom’, size = 0.5, cwd = project_dir, args = { ‘pwsh.exe’, ‘-NoLogo’, ‘-NoExit’, ‘-Command’, ‘Set-Location D:/OS’ }, }

tab:set_title(‘Ciallo~( ̄▽ ̄~)’) end)

return config

当然你也可以改成claude code或者修改路径或者修改启动命令,都是可以的。

当然我最后没有选择直接打开codex,因为还要退出去再进具体的目录,上面我只是展示可以如此使用命令,实际上我四个窗口都是一样的。

所有不符合你的想法,ai一下改改配置,挺舒服的:

简单的切换就是:

Alt + h          移动到左边 pane
Alt + Shift + h  在左边新建 pane

Alt + j 移动到下边 pane Alt + Shift + j 在下边新建 pane

Alt + k 移动到上边 pane Alt + Shift + k 在上边新建 pane

Alt + l 移动到右边 pane Alt + Shift + l 在右边新建 pane

Alt + w 删除plane

复制:Ctrl + Shift + C 粘贴:Ctrl + Shift + V

以后可玩

上面我们配置.wezterm.lua其实是所有东西都塞进去了,可以分开的:

C:\Users\用户
├── .wezterm.lua └── .config
└── wezterm
├── appearance.lua ├── keys.lua └── launch.lua

如果不想每次都手动分屏,可以用 WezTerm 的 wezterm cli spawn 做脚本化启动。官方说明 wezterm cli spawn 可以生成新的 tab、window 或 pane,并返回新 pane 的 id。