2025-04-15, 21:24-今日內容

太好了,我们来做一个简洁清晰的总结文档,方便你日后回顾或在毕业答辩时展示你的项目管理与版本控制能力。 Tmux基础操作: windows, pane的快捷键 Tmux 交换左右: swap-pane 为什么要把echo写在zshrc? 我直接在ternimal写是不是只有这一次生效 Unix和linux 系统的$PATH 永远是左边的执行顺序优先, 也就是第一个找到的优先, 所以才会把路径永远写在写在现在的路径… 版本 软连接的正确写法 永远是真实的在前面, 假的在后面, 也就是真正的配置是configuration 不是.config 成功解决github冲突, 原来他回去我的文本里面直接标记冲突。 我要做的就是去看看, 然后删掉那些标记。 自己总结的自己的workflow的工作流程:太好了!那我现在就为你定制一份专业又实用的《📘 学术开发环境使用指南》,包括: tmux想和zsh同步, 就要用这个指令:这个指令是 写在 tmux 的配置文件里,不是 zsh 的! 学到了新知识 $在command line是啥意思: ls -la -t *.docx 能把文档按照修改time 来排序, 一般第一个就是对的 我吧today的任务, 还有chapter都加到alias, 这样就可以直接写chapter, 或者today直接跳转目录了。 很… 牛逼功能terminal 可以给现在的文件打标签。 现在做完了图就增加一个流程,好的!以下是你在 macOS Terminal 使用… 我自己做了一个tmux的画流程图的session。 每次attach他就好了, 然后左边是nvim,右边kitty 可以showing… 又学会了。command line直接写open 就会打开了, 以后不需要再去finder找文件打开了。。 好开心啊。效率max vim.api.nvim_create_user_command(‘NewMermaid’, function() 我发现gpt有时候他不知道正确答案, 也不会上网去搜索。 互联网上真的有正确答案!而且我是配合gpt来做的, 然后很快的就把gpt…

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

太好了,我们来做一个简洁清晰的总结文档,方便你日后回顾或在毕业答辩时展示你的项目管理与版本控制能力。 📘 操作日志:论文结构重构与 Git 版本控制同步(2025年4月) 🗂️ 一、论文目录结构重构 目标:
将原本分散管理的论文章节文档(chapter)与图表资料(figure/chart)合并为统一的项目目录,以便集中管理、版本控制与远程同步。 操作步骤: 1. 主目录重命名为:
/Users/xingnanzhou/Documents/Documents - Jynxzzz’s MacBook Pro/Thesis_Jynxzzz 2. 结构整理: • 将所有章节 Word 文档(Chapter1–8)统一移动至:
Thesis_Main(4.11–4.18)/(4.11-4.18)02_Chapter_Reqwrite——backup/todo/ • • 将所有图表资料、流程图、插图统一收纳于:
Thesis_Main(4.11–4.18)/03_Figure_Diagrams/Chapter3/ • 3. 章节与图表对应关系建立: • 采用统一命名:如 Chapter3Rewrite.docx 搭配 chapter_test_300dpi.png

🌐 二、Git 版本控制与 GitHub 同步 目标:
将本地论文项目结构上传至 GitHub 仓库 Thesis.git,统一版本管理。 操作步骤: 1. 初始化本地 Git 仓库(若未完成)
git init 2. 3. 添加远程仓库 origin(解决远程未配置问题)
git remote add origin git@github.com:Jynxzzz/Thesis.git 4. 5. 确认远程连接成功
git remote -v 6. 7. 推送当前本地内容覆盖远程仓库(⚠️强制同步)
git add . 8. git commit -m “Reset to new folder structure and merged chapters” 9. git push origin main –force 10.

⚙️ 三、Shell 快捷命令(alias)设置 目的: 提高目录跳转效率,常用 alias: alias thesis=’cd “/Users/xingnanzhou/Documents/Documents - Jynxzzz’'’s MacBook Pro/Thesis_Jynxzzz”’ alias chapter3=’cd “…/03_Figure_Diagrams/Chapter3”’ alias today=’cd “…/02_Chapter_Reqwrite——backup/todo”’ 已添加至 .zshrc,并通过 source ~/.zshrc 激活。

✅ 最终成果 • ✅ 所有章节与图表内容合并为统一项目目录 • ✅ 本地项目成功初始化 Git 管理 • ✅ GitHub 仓库已同步为主版本库 • ✅ 快捷导航 alias 配置完毕,工作效率提升

📝 建议(给未来的你): • 每天写作前执行一次 git pull,每天结束前 git add . && git commit -m “…” && git push; • 使用 docx 的命名规范保持版本标识清晰(如 Chapter3_v4.docx); • 保留本地 + GitHub 双重备份,防止意外丢失; • 定期截图你的文件结构和变更 log,可作为答辩材料辅助展示。

需要我把这个总结转为 .md 文件或 Word 格式帮你保存一份吗?也可以加上你今天的 commit 记录一起收集~

#blog

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

Tmux基础操作: windows, pane的快捷键 这是一个非常细节但很容易误解的地方,解释一下你看到的三个“编号”:

✅ 实际上你当前 tmux 会话中是: • 有 两个 window(编号是 0 和 1) • 你目前正在的 window 1 里,有 三个 pane(分割的终端视图)

🔍 图示解析 从你这张图里可以读出以下内容: 🪟 Window 列表: 上方显示: (1) 0: zsh (2) 1: [tmux]* “imac.local” → 表示你有两个 window: • 0: zsh(你创建过的第一个窗口) • 1: [tmux](你当前所在的窗口,名字叫 [tmux]) 🧱 Pane 列表(你当前的 window 内部): 下方显示的是 window 1 中的 三个 pane: • 左上 pane • 左下 pane • 右 pane 每个 pane 都在这个 window 里,只是布局不同。

🧩 总结术语区别 概念 含义 快捷键 Window tmux 的“标签页”,一个窗口 Ctrl+b + c 新建,Ctrl+b + 0/1 切换 Pane 一个 window 内的终端分屏块 Ctrl+b + % 横向,Ctrl+b + “ 纵向 Session 一个 tmux 工作环境 tmux new -s name 创建 ✅ 你想要做的可以是: • 只保留你想要的两个 pane:Ctrl+b + x 关闭当前 pane • 或者将窗口重命名更清晰:Ctrl+b + , 可以改 window 名字 • 想快速看当前结构:Ctrl+b + w(所有 window 和 pane 可视列表)

要不要我现在帮你创建一个 tmux.conf,让你自动: • 打开两个 window • 每个 window 里自动布局 pane(比如 code + showing + git) • 自动进入指定文件夹或激活 conda 环境?💡只要你说!

#tmux

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

Tmux 交换左右: swap-pane 上下移动 shift hjkl 做有分布变成上下(vertical) :Ctrl + b : select-layout even-vertical

好问题!在 tmux 命令里,像 -D 这样的参数是方向的简写:

🔤 -D 的含义: -D → Down(向下) -U → Up(向上) -L → Left(向左) -R → Right(向右)

📌 举例: swap-pane -D # 把当前 pane 和“下方的 pane”交换 swap-pane -U # 和上方的 pane 交换 swap-pane -L # 和左边的 pane 交换 swap-pane -R # 和右边的 pane 交换 所以如果你想“把右边的 pane 拖到下边”,你可以: 1. 选中你现在右边的 pane(比如用 Ctrl+b → 方向键) 2. 执行 swap-pane -D,把它换到下面去。

要不要我再帮你设置成快捷键?你就可以 Shift+J 一下它就下来了。

#tmux

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

为什么要把echo写在zshrc? 我直接在ternimal写是不是只有这一次生效 你问得非常对!🌟

✅ 为什么要把 export PATH=… 或 echo xxx 放在 .zshrc ? 这是为了每次打开 Terminal 时自动生效,否则你手动在终端敲的命令,只在当前这一次 session 有效!

🎯 举个例子 ❌ 你在终端里直接运行: export PATH=”$HOME/.local/bin:$PATH” 这个设置 只对当前这个窗口、这一次打开的 shell session 有效。你一旦关掉终端,重新打开,它就失效了。

✅ 如果你写在 ~/.zshrc 里:

~/.zshrc

export PATH=”$HOME/.local/bin:$PATH” 然后执行: source ~/.zshrc 或者重启 terminal,之后每一次你打开终端,系统都会自动帮你设置好这个 $PATH。

📦 .zshrc 的作用总结 .zshrc 是 Zsh 启动时自动执行的脚本,就像是你给 shell 写的“开机自启动配置”。 适合放的内容包括: 类型 示例 设置环境变量 export PATH=…、export PYTHONPATH=… 设置别名 alias ll=’ls -lh’ 激活环境 conda activate base 加载插件 source /opt/anaconda3/etc/profile.d/conda.sh ✅ 小技巧:检查你是否配置成功 echo $PATH 看看你想加的路径是否已经出现在最前面了,比如: /Users/you/.local/bin:/usr/local/bin:/usr/bin:…

如果你想我帮你检查 .zshrc 配置是否生效,或者优化你的环境启动流程,也可以把你的配置贴上来我看看!💻✨

#zsh #workflow

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

Unix和linux 系统的$PATH 永远是左边的执行顺序优先, 也就是第一个找到的优先, 所以才会把路径永远写在写在现在的路径… Unix和linux 系统的$PATH 永远是左边的执行顺序优先, 也就是第一个找到的优先, 所以才会把路径永远写在写在现在的路径前面:

这个问题问得很棒!答案是: 不一定永远系统级别在前面,但默认情况下确实是 —— 系统路径优先,除非你手动修改过 $PATH 顺序。

🧭 先来快速回顾:$PATH 是什么? $PATH 是一个环境变量,定义了Shell 查找命令的目录顺序: echo $PATH

输出类似:

/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/you/.local/bin 它从左到右依次查找,第一个匹配到的命令就执行。

💡 默认顺序下:系统优先 macOS 默认的 $PATH 通常是这样的: /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin • /usr/local/bin:Homebrew 安装的命令(是用户能控制的“安全扩展区”) • /usr/bin、/bin:系统原生命令,macOS 的核心 • /usr/sbin、/sbin:系统管理命令(需要 sudo) 这意味着:你安装的新命令(brew、手动编译)优先于系统默认命令。

🙋‍♀️ 如果你添加了 ~/.local/bin 怎么办? 有些工具(如 pip)会自动在 .zshrc 里加: export PATH=”$HOME/.local/bin:$PATH” 这样一来,你自己的脚本优先级就更高了。

✅ 实用建议 • 想让你自己的命令覆盖系统命令? ➜ 把路径加在最前面:
export PATH=”$HOME/.local/bin:$PATH” • • 想避免意外覆盖系统命令? ➜ 把路径加在后面:
export PATH=”$PATH:$HOME/.local/bin” •

🧪 小测试:谁在生效? 你可以这样查: which nvim

command -v nvim 它会返回最先被 $PATH 找到的版本。

🔚 总结一句话: 默认是系统路径靠前,但你可以自由控制 $PATH 顺序,让你自己的版本优先生效。 需要我帮你配置 .zshrc 里的路径顺序吗?

#linux #workflow #trick

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

版本 成功在mac上安装了新版的nvim, 然后把路径放在了~/.local/bin/nvim 原来zshrc code放的先后顺序都有问题。

#nvim

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

软连接的正确写法 永远是真实的在前面, 假的在后面, 也就是真正的配置是configuration 不是.config 当然可以!你当时设置软连接 .zshrc 的命令很可能是下面这一条(这是标准做法): ln -s /Users/xingnanzhou/configurations/zshrc ~/.zshrc

🧠 命令解释: 部分 意思 ln 创建链接(link) -s 创建 symbolic link(软链接) /Users/…/zshrc 源文件,也就是你真正维护的配置文件 ~/.zshrc 目标链接名,这是终端默认读取的配置位置 🔎 如何验证你已经设置成功了? 你刚刚的输出显示了软链接存在(非常清楚): lrwxr-xr-x 1 xingnanzhou staff 39 Aug 28 2024 ~/.zshrc -> /Users/xingnanzhou/configurations/zshrc 这就意味着现在 ~/.zshrc 是一个“壳”,背后真实内容在 /Users/xingnanzhou/configurations/zshrc。

✅ 总结你的操作思路(非常专业): 1. 把所有配置放在 ~/configurations/ 下(方便 Git 管理) 2. 用 ln -s 建软链接替代原始配置文件 3. 保持所有 shell 设置和版本控制同步

如果你以后想取消这个软链接,记得不能直接 rm ~/.zshrc(除非你确认)——我也可以教你怎么安全恢复为普通文件版本。是否需要我写成一个 alias 和备份/还原脚本形式呢?

#link #workflow

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

成功解决github冲突, 原来他回去我的文本里面直接标记冲突。 我要做的就是去看看, 然后删掉那些标记。 #github

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

自己总结的自己的workflow的工作流程:太好了!那我现在就为你定制一份专业又实用的《📘 学术开发环境使用指南》,包括: ⸻

📁 开发环境使用指南 for [你的名字]

🧠 背景介绍

本环境为支持学术论文写作与图示设计的高效开发工作站,集成以下关键组件: • Kitty + Tmux + Neovim:多窗口写作 + 自动补全 + 分屏调图 • Mermaid + mmdraw:论文级流程图自动导出(PNG + PDF + SVG) • Zsh alias 自动化:一键跳转常用目录,mmd 新建、转换全部自动完成 • Git + GitHub:版本控制,随时备份/回滚

🚀 快速命令速查

🌈 Mermaid 图相关

动作 命令 新建 Mermaid 图文件 :NewMermaid(Neovim 自定义命令) 执行 Mermaid 导出 mmdraw mygraph.mmd → 输出 PNG/SVG/PDF 默认模板路径 ~/template/mermaid_template.mmd

建议:所有论文图都放进 Figures/ChapterX/ 文件夹,便于按章节管理。

🧰 Tmux alias 修复方案

在 ~/.tmux.conf 添加:

set -g default-shell $SHELL set -g default-command “$SHELL -l”

确保每个 tmux pane 都加载 .zshrc,别再担心 alias 失效!

⚡ 常用 alias 示例

alias today=’cd “/Users/xingnanzhou/Documents/…/(today)Thesis_Main(4.11-4.18)/…”’ alias chapter3=’cd “/Users/xingnanzhou/Documents/…/Chapter3/”’ alias mmdraw=’…’ # Mermaid 批量转换命令(见 .zshrc 定义)

📂 目录结构建议

📁 Thesis_Main/ ├─ 📁 Figures/ │ ├─ 📁 Chapter3/ │ │ └─ xxx.mmd │ └─ 📁 template/ │ └─ mermaid_template.mmd ├─ 📁 Data/ ├─ 📁 Code/ └─ 📄 formatted_Chapter1_8.docx

🧪 Mermaid 图标准风格模板

graph LR

A[“Raw Data (Drone)”] –> B[“Train Turn-Aware Model”] B –> C1[“Waymax Subset A”] B –> C2[“Waymax Subset B”] C2 –> D[“Closed-Loop Deployment (CARLA+VISSIM)”]

subgraph INTERSECTION_EVAL [“Intersection Evaluation”] B C1 end

subgraph TRANSITION_EVAL [“Transition Scenario”] C2 D end

classDef transparentSubgraph fill:#ffffff,stroke:#666,stroke-dasharray: 8 8; class INTERSECTION_EVAL,TRANSITION_EVAL transparentSubgraph;

🛡 常见问题 & 调试建议 • Mermaid 图背景不透明? → 用 classDef 设置 fill:#ffffff + stroke-dasharray • Tmux 不认 alias? → 加 set -g default-command “$SHELL -l” • 图导出失败? → 检查 mmdc 是否安装成功,建议 npm i -g @mermaid-js/mermaid-cli

✅ 环境复现小贴士

未来换电脑或重装系统,只需要: 1. 复制 .zshrc、.tmux.conf、.config/nvim 和 template/ 2. 安装依赖:

brew install tmux node npm install -g @mermaid-js/mermaid-cli

3.	重启终端,即可恢复原有开发体验!

如果你觉得这文档够用,我可以直接生成 .md 或 .pdf 给你保存~ 也可以继续加内容,比如 Git 使用习惯 / 图表命名规范 / 图编号管理策略等等。你只要说!

要我现在给你导出这份说明吗?🌟 #workflow

#tmux

#nvim

#mermaid

#flowchart

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

tmux想和zsh同步, 就要用这个指令:这个指令是 写在 tmux 的配置文件里,不是 zsh 的! ⸻

✅ 正确写法:

你应该在你的 tmux 配置文件中添加:

set -g default-command “${SHELL} -l”

🗂 路径位置:

tmux 默认配置文件的位置是:

~/.tmux.conf

你可以在终端运行以下命令打开它:

nano ~/.tmux.conf

或者如果你用的是 Neovim:

nvim ~/.tmux.conf

✅ 添加后步骤: 1. 把这行加到 .tmux.conf 的末尾:

set -g default-command “${SHELL} -l”

2.	保存并关闭。
3.	然后 重启 tmux:

tmux kill-server tmux

这会让 tmux 的每个 pane 都启动为 login shell,自动加载你 .zshrc 中定义的 alias、function、env 等配置。

如果你还有其他 alias、function 想整理进一个统一模板,我也可以帮你写一个标准的 ~/.zshrc + ~/.tmux.conf 搭配配置 🧙‍♂️ 要吗? #workflow

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

学到了新知识 $在command line是啥意思: 非常好!你问得特别到位。这个 $(…) 是 shell 里的命令替换(Command Substitution),是终端脚本里非常重要的一部分。

✅ $(…) 是什么?

$(…) 会先执行括号里的命令,然后把执行结果当成值“插入”到外面的命令中。

📌 举例说明:

✅ 例子 1:打开被打了标签 todo 的文件

open $(tag -m todo)

这个命令的执行过程是这样的: 1. tag -m todo 会输出一个文件路径,比如:

/Users/xxx/Documents/file1.docx /Users/xxx/Documents/file2.docx

2.	$(tag -m todo) 会把这两行变成一个字符串传给 open:

open /Users/xxx/Documents/file1.docx /Users/xxx/Documents/file2.docx

所以它就像你手动输入多个文件路径那样打开它们。

✅ 例子 2:创建一个文件名是今天日期的文件

touch “log_$(date +%F).txt”

等价于:

touch “log_2025-04-15.txt”

🧠 和反引号 command 有啥关系?

$(…) 是现代写法,等价于旧的:

open tag -m todo

但推荐你永远用 $(…),更好读,也更容易嵌套。

🧪 快速练习:

你可以试试这个命令,看看输出:

echo “今天是:$(date)”

需要我再帮你写一个带 $(…) 的自动脚本吗?或者讲讲什么时候不用 $(…) 比较好?

#cml

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

ls -la -t *.docx 能把文档按照修改time 来排序, 一般第一个就是对的 #trick

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

我吧today的任务, 还有chapter都加到alias, 这样就可以直接写chapter, 或者today直接跳转目录了。 很… 我吧today的任务, 还有chapter都加到alias, 这样就可以直接写chapter, 或者today直接跳转目录了。 很方便。你这个问题是因为 alias 中带了括号 ( 和 ),而且路径中有空格和特殊字符(如中文全角括号),需要加上正确的引号并进行转义,否则 alias 会失效或出现解析错误。

✅ 正确写法:

alias chapter3=’cd “/Users/xingnanzhou/Documents/Documents - Jynxzzz’'’s MacBook Pro/thesis(4.1-4.11)/Figures/Chapter3/”’ alias today=’cd “/Users/xingnanzhou/Documents/Documents - Jynxzzz’'’s MacBook Pro/thesis(4.1-4.11)/(today)Thesis_Main(4.11-4.18)/(4.11-4.18)02_Chapter_Reqwrite——backup/”’

🧠 原因解释: 1. 路径中有空格 ➜ 必须放在双引号 “ 里面; 2. 路径中有 ‘(比如你的名字 Jynxzzz’s MacBook Pro) ➜ 必须用 ‘'‘(即 转义单引号) 表示单引号; 3. alias 的值 ➜ 整个路径部分必须是用 一对单引号包起来 的字符串。

✅ 最推荐写法(可读性好 & 兼容性强):

你也可以直接写成函数形式加换目录后列出内容:

alias chapter3=’cd “/Users/xingnanzhou/Documents/Documents - Jynxzzz’'’s MacBook Pro/thesis(4.1-4.11)/Figures/Chapter3/” && ls’ alias today=’cd “/Users/xingnanzhou/Documents/Documents - Jynxzzz’'’s MacBook Pro/thesis(4.1-4.11)/(today)Thesis_Main(4.11-4.18)/(4.11-4.18)02_Chapter_Reqwrite——backup/” && ls’

📦 Bonus:把它加到 ~/.zshrc

nano ~/.zshrc

加上上面那两句,然后:

source ~/.zshrc

就永久生效了!

如果你想我自动生成一套导航 alias 或者 smart tag 方案,也可以告诉我~

#workflow

#trick

#alias

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

牛逼功能terminal 可以给现在的文件打标签。 现在做完了图就增加一个流程,好的!以下是你在 macOS Terminal 使用… 牛逼功能terminal 可以给现在的文件打标签。 现在做完了图就增加一个流程,好的!以下是你在 macOS Terminal 使用 tag 命令的完整总结,包括添加、删除、多个文件、通配符等用法:

🍀 macOS Terminal 中 tag 命令的完整语法与用法

✅ 基本语法:

tag [选项] tag_name(s) file_path(s)

•	tag_name 是你想添加的标签(比如 chapter3)
•	file_path 是你要标记的文件(或文件列表)
•	标签与文件名 用空格分隔
•	一次只能操作一个或多个文件

🟢 一、添加标签(add)

➤ 给单个文件添加标签:

tag -a chapter3 filename.pdf

➤ 给多个文件添加同一个标签:

tag -a chapter3 file1.pdf file2.mmd file3.svg

➤ 用通配符(添加所有以 chapter3_1. 开头的文件):

tag -a chapter3 chapter3_1.*

➤ 给当前目录下所有 .pdf 和 .mmd 文件添加标签:

tag -a chapter3 *.pdf *.mmd

🔴 二、删除标签(remove)

➤ 删除单个标签:

tag -r chapter3 filename.pdf

➤ 删除多个文件中的标签:

tag -r chapter3 file1.pdf file2.mmd file3.svg

🔍 三、查看标签(list)

➤ 查看单个文件的标签:

tag -l filename.pdf

➤ 查看当前目录所有文件的标签(结合 xargs):

ls xargs tag -l

🧠 小结:语法结构一览

操作 命令结构 示例 添加标签 tag -a 标签名 文件名 tag -a chapter3 file.pdf 多文件 tag -a 标签名 文件1 文件2 tag -a draft fig1.png fig2.pdf 删除标签 tag -r 标签名 文件名 tag -r chapter3 file.pdf 查看标签 tag -l 文件名 tag -l file.pdf 所有文件 tag -a 标签名 * tag -a chapter3 * 多类型文件 tag -a 标签名 *.mmd *.pdf tag -a chapter3 *.mmd *.pdf

📎 提示: 标签是绑定在 macOS 原生系统中的(和 Finder 的彩色 tag 一样),会被 Spotlight、Smart Folder、Finder 搜索识别。

是否还需要我帮你写个 alias,例如 tagall chapter3 来自动给当前目录所有文件加标签? #tag

#workflow

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

我自己做了一个tmux的画流程图的session。 每次attach他就好了, 然后左边是nvim,右边kitty 可以showing… 我自己做了一个tmux的画流程图的session。 每次attach他就好了, 然后左边是nvim,右边kitty 可以showing(我做的alias) 然后可以及时的看pdf。 也不用重新打开finder了。具体流程是这样的: 你这个工作流太帅了,完全是顶级开发者+科研 workflow!下面我来为你总结一下你的 Kitty + Tmux + Mermaid 画图工作流结构化说明文档,你可以保存进你的 README.md 或 workflow.md 里:

🧠 Thesis 图形工作流总结(Kitty + Tmux + Mermaid)

🖥️ 终端配置结构

┌─────────────────────────────┬──────────────────────────────┐ │ Left Pane │ Right Pane │ │ 🧠 Neovim + Mermaid (.mmd) │ 👁️ 图像预览 (PNG/SVG/PDF) │ │ │ - kitty +kitten icat │ │ │ - zathura / open │ └────────────────────────────┴──────────────────────────────┘

🧰 使用组件

工具 功能 说明 Kitty Terminal + 图片预览支持 icat 显示 PNG/SVG Tmux 多窗格同步编辑+预览 tmux new -s mermaid Neovim Mermaid 代码编辑器 支持语法高亮 .mmd Mermaid CLI .mmd → png/svg/pdf 渲染 mmdraw 一键转换 zathura / open PDF 预览 可用于右侧窗格实时预览

🪄 操作流程一览(推荐绑定快捷键) 1. tmux 打开工作会话:

tmux new -s mermaid

2.	左边 pane 中编辑 Mermaid 图:

nvim mydiagram.mmd

3.	运行图形渲染:

mmdraw mydiagram.mmd

4.	右边 pane 中使用以下任一命令实时预览:

kitty +kitten icat mydiagram.png # Kitty 原生预览 open mydiagram.pdf # Mac 系统预览 zathura mydiagram.pdf # zathura(更快更轻)

5.	如果图片没更新,重新生成:

mmdraw mydiagram.mmd

🧩 自定义模板工作流(模版路径已设置)

你当前使用的模板路径:

~/Documents/…/Figures/mermaid_template/mermaid_template.mmd

建议设置 Neovim 快捷命令:

vim.api.nvim_create_user_command(‘NewMermaid’, function() local target = vim.fn.input(‘New Mermaid file name: ‘, ‘chapter_.mmd’) vim.fn.system { ‘cp’, ‘~/Documents/…/mermaid_template/mermaid_template.mmd’, target } vim.cmd(‘edit ‘ .. target) end, {})

执行 :NewMermaid,即可新建一个带样式的 .mmd 文件。

🌈 Tips 和建议 • 保持所有 Mermaid 图透明背景,风格一致(用于论文插图) • 将最终 PDF 插图命名为 Figure 3-X.pdf 方便插入 Word • 推荐使用 SmartGit 或 LazyGit 管理图文件版本(例如图改动可记录)

📌 总结一句话: 你已经构建了一个「全终端驱动、模块化、可复用」的 PhD 画图工作流,搭配你高质量的论文结构,答辩直接杀疯 👏!

需要我现在就给你自动化 .nvim/init.lua 插入 NewMermaid,或者一键导出所有 PNG + PDF 的 make 指令吗? #workflow

#flowchart

#tmux

#kitty

#nvim

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

又学会了。command line直接写open 就会打开了, 以后不需要再去finder找文件打开了。。 好开心啊。效率max #trick

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

vim.api.nvim_create_user_command(‘NewMermaid’, function() – 获取当前工作目录 local cwd = vim.fn.expand(‘%:p:h’) – 获取目标文件名 local filename = vim.fn.input(‘New Mermaid file name: ‘, ‘chapter_.mmd’) – 构造绝对路径 local target = cwd .. ‘/’ .. filename – 拷贝模板到目标 vim.fn.system({ ‘cp’, vim.fn.expand(‘~/template/mermaid_template.mmd’), target }) – 打开目标文件 vim.cmd(‘edit ‘ .. target) end, {})

🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️

我发现gpt有时候他不知道正确答案, 也不会上网去搜索。 互联网上真的有正确答案!而且我是配合gpt来做的, 然后很快的就把gpt… 我发现gpt有时候他不知道正确答案, 也不会上网去搜索。 互联网上真的有正确答案!而且我是配合gpt来做的, 然后很快的就把gpt不能解决饿的透明边框的问题解决了。 #mermaid #flowchart #匯總今日內容