2026-03-17 13:15:00
之前使用 Ghostty 默认配置,在网上看到有人分享了一份开箱即用的配置,效果良好已经装配。


安装字体
$ brew install --cask font-maple-mono-nf-cn
将配置放置到 ~/.config/ghostty/config
# ===========================
# Ghostty 完整配置
# ===========================
# --- 外观 ---
# 主题跟随系统深色模式自动切换
# theme = light:Catppuccin Latte,dark:Catppuccin Mocha
theme = Catppuccin Mocha
# 背景透明度(0.0 ~ 1.0)
background-opacity = 0.88
# 背景模糊(配合透明度使用,毛玻璃效果)
background-blur = 20
# 背景图片(可选,放一张喜欢的图,终端瞬间好看)
# background-image = ~/Pictures/wallpaper.png
# background-image-opacity = 0.3
# background-image-fit = cover
# 标题栏集成 Tab 栏(比 hidden 多了 Tab 支持)
macos-titlebar-style = tabs
# 非活跃分屏的透明度(让你一眼看出焦点在哪)
unfocused-split-opacity = 0.9
# --- 字体 ---
# 推荐 Maple Mono NF CN(brew install --cask font-maple-mono-nf-cn)
font-family = "Maple Mono NF CN"
font-size = 14
font-thicken = true
# 连字支持
font-feature = calt
font-feature = liga
# --- 窗口行为 ---
# 永远记住窗口状态(分屏、Tab、目录)
window-save-state = always
# 新分屏继承当前目录
window-inherit-working-directory = true
# 新窗口继承字体大小
window-inherit-font-size = true
# 内边距
window-padding-x = 4
window-padding-y = 4
window-padding-balance = true
# --- Quick Terminal(下拉终端) ---
keybind = global:ctrl+grave_accent=toggle_quick_terminal
quick-terminal-screen = main
quick-terminal-position = top
quick-terminal-size = 50%
quick-terminal-autohide = true
quick-terminal-animation-duration = 0.15
# --- Shell 集成 ---
# 自动注入 shell 集成(光标样式、sudo、标题、SSH terminfo)
shell-integration-features = cursor,sudo,title,ssh-terminfo,ssh-env
# --- 滚动 ---
# 滚动缓冲区大小,单位是字节(默认 10MB,这里设为 50MB)
scrollback-limit = 50000000
# --- 光标 ---
cursor-style = block
cursor-style-blink = false
# 鼠标隐藏(打字时自动隐藏鼠标)
mouse-hide-while-typing = true
# --- 剪贴板 ---
# 选中即复制到系统剪贴板(和 iTerm2 一样)
copy-on-select = clipboard
# 复制时自动去除行尾空格
clipboard-trim-trailing-spaces = true
# --- macOS 专属 ---
# 退出时不弹确认框(如果你习惯了 Cmd+Q)
confirm-close-surface = false
# Option 键作为 Alt 使用(对 vim/emacs 用户很重要)
macos-option-as-alt = true
2026-03-16 12:29:41
运行了几个项目,效果如下
不同颜色代表不同时期的代码,可以看到项目是否频繁重构。
注意本篇非严肃性技术文章,仓库作者的项目(koaning/gitcharts)可能会随时有破坏性改动,当前的脚本也仅适用于在本地项目根目录中执行,如遇报错建议使用 AI 进行评估和校正。
$ mkdir -p ~/Portable/gitcharts && cd ~/Portable/gitcharts
$ git clone https://github.com/koaning/gitcharts.git gitcharts-viewer
创建一个便捷脚本并添加到 PATH
$ mkdir -p ~/Portable/bin
$ cat > ~/Portable/bin/git-archaeology <<'EOF'
#!/usr/bin/env bash
set -euo pipefail
uv run --python 3 "$HOME/Portable/gitcharts/gitcharts-viewer/git_archaeology.py" "$@"
EOF
$ chmod +x ~/Portable/bin/git-archaeology
# 加到 Path
$ echo 'export PATH="$HOME/Portable/bin:$PATH"' >> ~/.zshrc
$ source ~/.zshrc
之后就可以使用
$ git-archaeology --repo . --samples 80 --file-extensions .md,.js,.mjs,.py,.html,.css,.rst,.go --version-source none
当然这仍然比较麻烦,运行后像查看数据、清理仓库中的临时文件和产出
再创建一个脚本
$ cat > ~/Portable/bin/gitcharts-add <<'EOF'
#!/usr/bin/env bash
set -euo pipefail
repo_name="${1:-$(basename "$PWD")}"
viewer_dir="$HOME/Portable/gitcharts/gitcharts-viewer"
viewer_charts="$viewer_dir/charts"
git-archaeology \
--repo . \
--samples 80 \
--file-extensions .md,.js,.mjs,.py,.html,.css,.rst,.go \
--version-source none
mkdir -p "$viewer_charts"
cp charts/.-clean.json "$viewer_charts/${repo_name}-clean.json"
if [ -f charts/.-versioned.json ]; then
cp charts/.-versioned.json "$viewer_charts/${repo_name}-versioned.json"
fi
cd "$viewer_dir"
uv run --python 3 --with jsonschema generate_repos_list.py
cd "$OLDPWD"
rm -rf .downloads charts git-research
EOF
添加为可执行文件
chmod +x ~/Portable/bin/gitcharts-add
之后,在Git 项目根目录下运行 gitcharts-add 命令即可自动生成和清理
# 执行
$ gitcharts-add
# 或者可以执行
$ gitcharts-add my-repo
每次运行,生成的数据 JSON 被同步到了以下目录
~/Portable/gitcharts/gitcharts-viewer/charts
查看图表
cd ~/Portable/gitcharts/gitcharts-viewer
uv run --python 3 -m http.server 8100
浏览器访问:http://127.0.0.1:8100
2026-03-15 22:00:00
食材是从淘宝网购的冷冻罗非鱼,去骨去刺 52.9/3斤,不知道性价比如何,化开后看着肉质比想象中的要好,生鱼闻着也有肉香味
切块并清洗干净,使用厨房用纸沾干上面的水分
加盐和黑胡椒煨制,一斤鱼肉大概一啤酒盖盐,黑胡椒适量增味去腥
煨制时间十分钟左右,最好不超过 15 分钟,太长时间鱼可能会被盐重新沙出水来
热锅凉油,我使用的铸铁锅,油不要太少,可以半煎半炸
裹上面粉口感和香味都更好!面粉和红薯淀粉,配比大概2比1,比例我感觉随意一些即可
将鱼裹上面粉,抖掉多余的面粉,在过面粉之前鱼如果不太干爽,仍可用厨房用纸吸附下上面的水份
然后一个个的下到平底锅煎制,可以按照钟表顺时针方向摆放,便于知道哪块是新下的,翻面的时候也能知道最早下的
全程中小火,不要频繁翻动,让其充分定形,我感觉裹上面粉的罗非鱼不太粘锅,鱼肉也比较‘硬’,不是那种‘绵绵’的肉质,轻易不会粘锅,烹饪难度较低

罗非鱼比较好熟,并且已经切成了小块,颜色看着差不多了捞出控油就行,肯定是熟的
继续烹饪 🍳

撒上一些烧烤料,香气扑鼻,罗非鱼是很适合煎制的鱼,口感不错,营养价值一般,胜在没有刺鱼肉蛋白好吸收
进行分装,分两顿吃,最后就是厨房忘记关门,煎完鱼发现客厅油烟爆炸
2026-03-13 19:30:00
Without AI, I wouldn't be able to code. 🤷♂️

P.S. 感谢黄鱼 6.99 RMB 月抛 Open AI Business 车拯救了我。
2026-03-12 19:30:00
借助 AI Support,博客完善了图像显示,这篇 memo 用于记录可复用的图文布局。

<div class="media-pair">
<img src="图片链接" alt="图 01">
<img src="图片链接" alt="图 02">
</div>



<div class="media-pair">
<img src="图片链接" alt="图 01">
<img src="图片链接" alt="图 02">
<img src="图片链接" alt="图 03">
<img src="图片链接" alt="图 04">
</div>



<div class="media-grid cols-3 masonry-js">
<img src="图片链接" alt="图 01">
<img src="图片链接" alt="图 02">
<img src="图片链接" alt="图 03">
</div>

这里是图文混排文案区域。你可以放一段简短说明、心得、步骤、引用等。
这种布局适合「一张重点图 + 一段解释」的场景,阅读节奏会更自然。
<div class="media-split">
<img src="图片链接" alt="图片">
<div>
<p>文案内容</p>
</div>
</div>

给容器增加 reverse 即可反转左右顺序,移动端会自动改为单列堆叠。
你后续只需要复制这一段结构,替换图片 URL 和文字内容就能复用。
<div class="media-split reverse">
<img src="图片链接" alt="图片">
<div>
<p>文案内容</p>
</div>
</div>



<div class="media-carousel">
<img src="图片链接" alt="图 01">
<img src="图片链接" alt="图 02">
<img src="图片链接" alt="图 03">
</div>
主图大图居中展示,下方缩略图条显示所有图片并高亮当前项,点击 < > 或缩略图切换,点击主图进入全屏灯箱。



<div class="media-gallery">
<img src="图片链接" alt="图 01">
<img src="图片链接" alt="图 02">
<img src="图片链接" alt="图 03">
</div>
顺带,支持了代码折叠显示功能。
2026-03-10 19:58:00
「当属小象超市的黄金榴莲蜜薯」。
自从年前买过两次 “烟薯25号”,我一度不敢轻易购买 “蜜薯”。我固执的认为它们是泡在蜂蜜罐中长大的,烤制后流着糖浆,透露着饱含碳水的邪恶微笑,吃起来心里负担极大。
直到购买了黄金榴莲蜜薯,其软糯适中、甜度又恰到好处(在我能接受的甜度上限之下),空气炸锅烤制 40+ 分钟,散发着焦糖的香味,重拾了我对红薯的热爱,我认为其是烤食红薯 T0 级的存在。


商品详情页面介绍显示其产地为:海南澄迈县。