Last active 1 month ago

WezTerm 主题(兼容 Linux 和 Window)

jetsung revised this gist 3 months ago. Go to revision

1 file changed, 25 deletions

wezterm.lua

@@ -27,37 +27,12 @@ return {
27 27 },
28 28
29 29 keys = {
30 - -- 新建 Tab(iTerm2 风格)
31 - {
32 - key = "t",
33 - mods = "CTRL|SHIFT",
34 - action = wezterm.action.SpawnTab("CurrentPaneDomain"),
35 - -- action = hud("New Tab", act.SpawnTab("CurrentPaneDomain")),
36 - },
37 -
38 30 -- 关闭当前 Tab
39 31 {
40 32 key = "w",
41 33 mods = "CTRL|SHIFT",
42 34 action = wezterm.action.CloseCurrentTab { confirm = true },
43 35 },
44 -
45 - -- 下一个 Tab
46 - {
47 - key = "]",
48 - mods = "CTRL|SHIFT",
49 - action = wezterm.action.ActivateTabRelative(1),
50 - -- action = hud("Next Tab",
51 - -- act.ActivateTabRelative(1)
52 - -- ),
53 - },
54 -
55 - -- 上一个 Tab
56 - {
57 - key = "[",
58 - mods = "CTRL|SHIFT",
59 - action = wezterm.action.ActivateTabRelative(-1),
60 - },
61 36 },
62 37
63 38 -- Ubuntu + GNOME 更像 iTerm2

jetsung revised this gist 3 months ago. Go to revision

1 file changed, 28 deletions

wezterm.lua

@@ -42,13 +42,6 @@ return {
42 42 action = wezterm.action.CloseCurrentTab { confirm = true },
43 43 },
44 44
45 - -- 关闭当前 Pane
46 - {
47 - key = "q",
48 - mods = "CTRL|SHIFT",
49 - action = wezterm.action.CloseCurrentPane { confirm = true },
50 - },
51 -
52 45 -- 下一个 Tab
53 46 {
54 47 key = "]",
@@ -65,27 +58,6 @@ return {
65 58 mods = "CTRL|SHIFT",
66 59 action = wezterm.action.ActivateTabRelative(-1),
67 60 },
68 -
69 - -- 垂直分屏(像 Sublime)
70 - --[[
71 - {
72 - key = "d",
73 - mods = "CTRL|SHIFT",
74 - action = wezterm.action.SplitHorizontal({ domain = "CurrentPaneDomain" }),
75 - -- action = hud("Split Horizontal",
76 - -- act.SplitHorizontal({ domain = "CurrentPaneDomain" })
77 - -- ),
78 - },
79 - ]]
80 -
81 - -- 水平分屏
82 - --[[
83 - {
84 - key = "D",
85 - mods = "CTRL|SHIFT",
86 - action = wezterm.action.SplitVertical({ domain = "CurrentPaneDomain" }),
87 - },
88 - ]]
89 61 },
90 62
91 63 -- Ubuntu + GNOME 更像 iTerm2

jetsung revised this gist 3 months ago. Go to revision

1 file changed, 4 insertions, 5 deletions

wezterm.lua

@@ -35,18 +35,17 @@ return {
35 35 -- action = hud("New Tab", act.SpawnTab("CurrentPaneDomain")),
36 36 },
37 37
38 - -- 关闭当前 Tab(保持原样)
38 + -- 关闭当前 Tab
39 39 {
40 40 key = "w",
41 41 mods = "CTRL|SHIFT",
42 42 action = wezterm.action.CloseCurrentTab { confirm = true },
43 43 },
44 44
45 - -- 强烈推荐:新增 关闭当前 Pane(分屏)
46 - -- 用 Ctrl + w (不带 Shift),和 tmux/vim 风格一致,不会和关 tab 冲突
45 + -- 关闭当前 Pane
47 46 {
48 - key = "w",
49 - mods = "CTRL",
47 + key = "q",
48 + mods = "CTRL|SHIFT",
50 49 action = wezterm.action.CloseCurrentPane { confirm = true },
51 50 },
52 51

jetsung revised this gist 3 months ago. Go to revision

1 file changed, 11 insertions, 3 deletions

wezterm.lua

@@ -35,13 +35,21 @@ return {
35 35 -- action = hud("New Tab", act.SpawnTab("CurrentPaneDomain")),
36 36 },
37 37
38 - -- 关闭 Tab
38 + -- 关闭当前 Tab(保持原样)
39 39 {
40 40 key = "w",
41 41 mods = "CTRL|SHIFT",
42 - action = wezterm.action.CloseCurrentTab({ confirm = true }),
42 + action = wezterm.action.CloseCurrentTab { confirm = true },
43 43 },
44 -
44 +
45 + -- 强烈推荐:新增 关闭当前 Pane(分屏)
46 + -- 用 Ctrl + w (不带 Shift),和 tmux/vim 风格一致,不会和关 tab 冲突
47 + {
48 + key = "w",
49 + mods = "CTRL",
50 + action = wezterm.action.CloseCurrentPane { confirm = true },
51 + },
52 +
45 53 -- 下一个 Tab
46 54 {
47 55 key = "]",

jetsung revised this gist 3 months ago. Go to revision

1 file changed, 8 deletions

wezterm.lua

@@ -27,12 +27,6 @@ return {
27 27 },
28 28
29 29 keys = {
30 - -- 用 Ctrl + W 关闭当前 pane
31 - {
32 - key = 'w',
33 - mods = 'CTRL',
34 - action = wezterm.action.CloseCurrentPane { confirm = true },
35 - },
36 30 -- 新建 Tab(iTerm2 风格)
37 31 {
38 32 key = "t",
@@ -42,13 +36,11 @@ return {
42 36 },
43 37
44 38 -- 关闭 Tab
45 - --[[
46 39 {
47 40 key = "w",
48 41 mods = "CTRL|SHIFT",
49 42 action = wezterm.action.CloseCurrentTab({ confirm = true }),
50 43 },
51 - ]]
52 44
53 45 -- 下一个 Tab
54 46 {

jetsung revised this gist 3 months ago. Go to revision

1 file changed, 13 insertions, 1 deletion

wezterm.lua

@@ -27,6 +27,12 @@ return {
27 27 },
28 28
29 29 keys = {
30 + -- 用 Ctrl + W 关闭当前 pane
31 + {
32 + key = 'w',
33 + mods = 'CTRL',
34 + action = wezterm.action.CloseCurrentPane { confirm = true },
35 + },
30 36 -- 新建 Tab(iTerm2 风格)
31 37 {
32 38 key = "t",
@@ -36,11 +42,13 @@ return {
36 42 },
37 43
38 44 -- 关闭 Tab
45 + --[[
39 46 {
40 47 key = "w",
41 48 mods = "CTRL|SHIFT",
42 49 action = wezterm.action.CloseCurrentTab({ confirm = true }),
43 50 },
51 + ]]
44 52
45 53 -- 下一个 Tab
46 54 {
@@ -60,6 +68,7 @@ return {
60 68 },
61 69
62 70 -- 垂直分屏(像 Sublime)
71 + --[[
63 72 {
64 73 key = "d",
65 74 mods = "CTRL|SHIFT",
@@ -68,13 +77,16 @@ return {
68 77 -- act.SplitHorizontal({ domain = "CurrentPaneDomain" })
69 78 -- ),
70 79 },
80 + ]]
71 81
72 82 -- 水平分屏
83 + --[[
73 84 {
74 85 key = "D",
75 86 mods = "CTRL|SHIFT",
76 87 action = wezterm.action.SplitVertical({ domain = "CurrentPaneDomain" }),
77 88 },
89 + ]]
78 90 },
79 91
80 92 -- Ubuntu + GNOME 更像 iTerm2
@@ -172,4 +184,4 @@ return {
172 184 -- macOS 动画感
173 185 animation_fps = 60,
174 186 max_fps = 60,
175 - }
187 + }

jetsung revised this gist 3 months ago. Go to revision

1 file changed, 7 insertions

wezterm.lua

@@ -19,6 +19,13 @@ end
19 19
20 20 return {
21 21
22 + -- 设置底座
23 + default_prog = default_prog,
24 +
25 + set_environment_variables = {
26 + TERM = "xterm-256color",
27 + },
28 +
22 29 keys = {
23 30 -- 新建 Tab(iTerm2 风格)
24 31 {

jetsung revised this gist 3 months ago. Go to revision

1 file changed, 168 insertions

wezterm.lua(file created)

@@ -0,0 +1,168 @@
1 + local wezterm = require 'wezterm'
2 + local act = wezterm.action
3 + local target = wezterm.target_triple
4 +
5 + local drag_mod = "SUPER"
6 + local default_prog = nil
7 +
8 + -- Windows 特殊处理
9 + if 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 + }
18 + end
19 +
20 + return {
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 + }
Newer Older