Остання активність 1 month ago

WezTerm 主题(兼容 Linux 和 Window)

Версія 366fb1b3d90181770bd8e41b2de34234da5f98f1

wezterm.lua Неформатований
1local wezterm = require 'wezterm'
2local act = wezterm.action
3local target = wezterm.target_triple
4
5local drag_mod = "SUPER"
6local default_prog = nil
7
8-- Windows 特殊处理
9if target:find("windows") then
10 drag_mod = "ALT"
11
12 -- 只在 Windows 使用 PowerShell 7
13 default_prog = {
14 "C:\\Program Files\\PowerShell\\7\\pwsh.exe",
15 "-NoLogo",
16 "-ExecutionPolicy", "RemoteSigned"
17 }
18end
19
20return {
21
22 keys = {
23 -- 新建 Tab(iTerm2 风格)
24 {
25 key = "t",
26 mods = "CTRL|SHIFT",
27 action = wezterm.action.SpawnTab("CurrentPaneDomain"),
28 -- action = hud("New Tab", act.SpawnTab("CurrentPaneDomain")),
29 },
30
31 -- 关闭 Tab
32 {
33 key = "w",
34 mods = "CTRL|SHIFT",
35 action = wezterm.action.CloseCurrentTab({ confirm = true }),
36 },
37
38 -- 下一个 Tab
39 {
40 key = "]",
41 mods = "CTRL|SHIFT",
42 action = wezterm.action.ActivateTabRelative(1),
43 -- action = hud("Next Tab",
44 -- act.ActivateTabRelative(1)
45 -- ),
46 },
47
48 -- 上一个 Tab
49 {
50 key = "[",
51 mods = "CTRL|SHIFT",
52 action = wezterm.action.ActivateTabRelative(-1),
53 },
54
55 -- 垂直分屏(像 Sublime)
56 {
57 key = "d",
58 mods = "CTRL|SHIFT",
59 action = wezterm.action.SplitHorizontal({ domain = "CurrentPaneDomain" }),
60 -- action = hud("Split Horizontal",
61 -- act.SplitHorizontal({ domain = "CurrentPaneDomain" })
62 -- ),
63 },
64
65 -- 水平分屏
66 {
67 key = "D",
68 mods = "CTRL|SHIFT",
69 action = wezterm.action.SplitVertical({ domain = "CurrentPaneDomain" }),
70 },
71 },
72
73 -- Ubuntu + GNOME 更像 iTerm2
74 window_frame = {
75 font_size = 11,
76 },
77
78 -- 像 macOS iTerm2 一样拖动窗口
79 mouse_bindings = {
80 {
81 event = { Down = { streak = 1, button = "Left" } },
82 mods = drag_mod,
83 action = act.StartWindowDrag,
84 },
85 },
86
87 -- GPU 渲染
88 front_end = "WebGpu",
89
90 -- 字体(非常接近 macOS 观感)
91 font = wezterm.font_with_fallback({
92 "JetBrains Mono",
93 "Fira Code",
94 "Noto Sans Mono",
95 "JetBrainsMono Nerd Font",
96 }),
97
98 font_size = 12.5,
99 line_height = 1.15,
100
101 -- macOS 风格窗口
102 window_decorations = "RESIZE",
103 window_background_opacity = 0.93,
104 text_background_opacity = 0.93,
105
106 -- 光标(Sublime 风格)
107 default_cursor_style = "BlinkingBar",
108 cursor_blink_rate = 600,
109
110 -- 关闭顶部 tab bar(更像 iTerm2)
111 enable_tab_bar = false,
112
113 -- padding 像 macOS 终端
114 window_padding = {
115 left = 12,
116 right = 12,
117 top = 10,
118 bottom = 10,
119 },
120
121 -- 颜色主题(iTerm2 + Sublime 混合)
122 colors = {
123 foreground = "#E8E8E8",
124 background = "#1E1F22",
125
126 cursor_bg = "#A6E22E",
127 cursor_fg = "#1E1F22",
128 cursor_border = "#A6E22E",
129
130 selection_fg = "#FFFFFF",
131 selection_bg = "#44475A",
132
133 ansi = {
134 "#2D2A2E",
135 "#F92672",
136 "#A6E22E",
137 "#E6DB74",
138 "#66D9EF",
139 "#AE81FF",
140 "#38CCD1",
141 "#F8F8F2",
142 },
143
144 brights = {
145 "#75715E",
146 "#FF6188",
147 "#B6E354",
148 "#FFD866",
149 "#78DCE8",
150 "#AB9DF2",
151 "#3BC9DB",
152 "#FFFFFF",
153 },
154
155 -- iTerm2 风格 split
156 split = "#44475A",
157 },
158
159 -- 滚动条
160 enable_scroll_bar = false,
161
162 -- 平滑滚动
163 scrollback_lines = 5000,
164
165 -- macOS 动画感
166 animation_fps = 60,
167 max_fps = 60,
168}