<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="/feed.xml" rel="self" type="application/atom+xml" /><link href="/" rel="alternate" type="text/html" /><updated>2025-04-20T14:33:56+00:00</updated><id>/feed.xml</id><title type="html">J’s Blog</title><subtitle>xxx</subtitle><entry><title type="html">2025-04-17 博客记录</title><link href="/2025/04/17/2025-04-17-%E5%8D%9A%E5%AE%A2%E8%AE%B0%E5%BD%95.html" rel="alternate" type="text/html" title="2025-04-17 博客记录" /><published>2025-04-17T00:00:00+00:00</published><updated>2025-04-17T00:00:00+00:00</updated><id>/2025/04/17/2025-04-17-%E5%8D%9A%E5%AE%A2%E8%AE%B0%E5%BD%95</id><content type="html" xml:base="/2025/04/17/2025-04-17-%E5%8D%9A%E5%AE%A2%E8%AE%B0%E5%BD%95.html"><![CDATA[<h2 id="2025-04-17-博客记录">2025-04-17 博客记录</h2>

<p><img src="/assets/2025-04-17/placeholder.png" alt="示意图" /></p>]]></content><author><name></name></author><summary type="html"><![CDATA[2025-04-17 博客记录]]></summary></entry><entry><title type="html">2025 04 16 博客记录</title><link href="/2025/04/16/2025-04-16-%E5%8D%9A%E5%AE%A2%E8%AE%B0%E5%BD%95.html" rel="alternate" type="text/html" title="2025 04 16 博客记录" /><published>2025-04-16T00:00:00+00:00</published><updated>2025-04-16T00:00:00+00:00</updated><id>/2025/04/16/2025-04-16-%E5%8D%9A%E5%AE%A2%E8%AE%B0%E5%BD%95</id><content type="html" xml:base="/2025/04/16/2025-04-16-%E5%8D%9A%E5%AE%A2%E8%AE%B0%E5%BD%95.html"><![CDATA[<h2 id="2025-04-16">2025-04-16</h2>

<h1 id="2025-04-16-博客记录">2025-04-16 博客记录</h1>]]></content><author><name></name></author><summary type="html"><![CDATA[2025-04-16]]></summary></entry><entry><title type="html">Thesis Macro Automation Setup</title><link href="/2025/04/16/Thesis-Macro-Automation-Setup.html" rel="alternate" type="text/html" title="Thesis Macro Automation Setup" /><published>2025-04-16T00:00:00+00:00</published><updated>2025-04-16T00:00:00+00:00</updated><id>/2025/04/16/Thesis-Macro-Automation-Setup</id><content type="html" xml:base="/2025/04/16/Thesis-Macro-Automation-Setup.html"><![CDATA[<h2 id="thesis-macro-automation-setup">Thesis Macro Automation Setup</h2>

<p><img src="/assets/2025-04-16/gpt回复.png" alt="test" /></p>]]></content><author><name></name></author><summary type="html"><![CDATA[Thesis Macro Automation Setup]]></summary></entry><entry><title type="html">Macro</title><link href="/2025/04/16/macro.html" rel="alternate" type="text/html" title="Macro" /><published>2025-04-16T00:00:00+00:00</published><updated>2025-04-16T00:00:00+00:00</updated><id>/2025/04/16/macro</id><content type="html" xml:base="/2025/04/16/macro.html"><![CDATA[<h2 id="2025-04-16">2025-04-16</h2>

<h1 id="word-macro-写长文章论文报告的排版神器">word macro 写长文章/论文/报告的排版神器</h1>

<p>🧠 使用 Word 宏自动化论文排版：我的 Thesis Macro 模板实践分享</p>

<p>📌 背景动机</p>

<p>在撰写博士论文的过程中，我逐渐习惯了固定的 Word 布局：Web 视图、左侧导航、右侧评论、图片居中等等。每次打开 Word 文档都要手动设置这些视图，既繁琐又低效。
于是我通过 Visual Basic 编写了两个简单的宏（macros），并保存为 Word 模板（.dotm），实现了一键切换首选视图 + 批量居中图片的功能。</p>

<p>🛠 我的两个宏功能</p>

<ol>
  <li>ApplyPreferredThesisView()：一键切换为我喜欢的论文写作布局</li>
</ol>

<p>Sub ApplyPreferredThesisView()
    ‘ Web视图
    ActiveWindow.View.Type = wdWebView</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>' 显示审阅评论（避免错误报错）
On Error Resume Next
ActiveWindow.ActivePane.View.ShowComments = True
On Error GoTo 0

' 将光标定位到文档开头
Selection.HomeKey Unit:=wdStory End Sub
</code></pre></div></div>

<p>🚨 注意：原本用于打开左侧导航窗格的 Application.CommandBars(“Navigation”).Visible = True 语句在 Mac 上会报错，因此我注释掉了它。</p>

<p>⸻</p>

<ol>
  <li>CenterAllImages()：批量居中所有图片</li>
</ol>

<p>Sub CenterAllImages()
    Dim iShape As InlineShape
    For Each iShape In ActiveDocument.InlineShapes
        iShape.Range.ParagraphFormat.Alignment = wdAlignParagraphCenter
    Next iShape
End Sub</p>

<p>💡 非常适合排版插图较多的论文，每次一键格式统一。</p>

<p>⸻</p>

<p>🗂 如何保存为 .dotm 模板</p>

<p>.dotm 是 Word 支持宏的模板格式（Macro-enabled template），区别于普通 .docx 文件。</p>

<p>✅ 保存步骤如下：
	1.	打开 Word → 文件 → 另存为 → 选择格式：Word Macro-Enabled Template (.dotm)
	2.	推荐保存位置（可同步到多个设备）：
	•	📁 ~/iCloud Drive/Templates/
	•	📁 ~/Library/Group Containers/UBF8T346G9.Office/User Content.localized/Templates.localized/</p>

<p>🔁 多设备同步方案</p>

<p>我使用 iCloud 将 .dotm 模板同步到所有 Mac：
	•	模板保存路径统一放在 iCloud Drive/Templates/ 文件夹；
	•	每台设备打开 Word 时自动识别；
	•	保证 ribbon 工具栏设置一致。</p>

<p>💻 如何绑定到 Ribbon 工具栏
	1.	打开 Word → 工具 → 自定义功能区；
	2.	选择 “宏” 命令 → 将你的宏拖入一个自定义的 Tab；
	3.	你可以将多个宏组织为：
	•	📂 Macro (Custom)
	•	📌 Center All Images
	•	🎯 Thesis Layout View</p>

<p>📸 建议为每个宏选择不同的图标，便于快速识别。</p>

<p>⸻</p>

<p>🖼 插入图片的方法与位置建议</p>

<p>插入图片语法（Markdown）</p>

<p><img src="./assets/ribbon-layout.png" alt="Macro Ribbon 示例" /></p>

<p>图片存放建议：</p>

<p>your-blog-repo/
├── _posts/
│   └── 2024-04-16-thesis-macro.md
└── assets/
    ├── ribbon-layout.png
    ├── macro-centerallimages.png
    └── macro-preferredview.png</p>

<p>📂 所有图片集中放在 /assets/ 文件夹，方便管理、避免路径错乱。</p>

<p>⸻</p>

<p>✅ 效果展示</p>

<p>可以截图如下画面插入：
	•	Ribbon 工具栏上的宏按钮（宏图标）
	•	打开 Word 后自动切换的布局效果
	•	批量居中图示前 vs 后的排版对比</p>

<p>⸻</p>

<p>📦 总结</p>

<p>宏 + 模板 = Word 论文排版效率神器 💡</p>

<p>通过 .dotm 模板与 iCloud 同步，我在任何一台设备打开 Word，都能一键切换为我熟悉的布局，不再浪费时间。</p>

<p>⸻</p>

<p>如果你也在写论文，不妨试试这套自动化宏系统，欢迎留言交流你的使用经验！</p>

<p>⸻</p>

<p>需要我帮你生成对应截图并插图进 Markdown 吗？你可以把截图都放进一个文件夹，我来生成完整博客版本（含图片链接路径）。你也可以告诉我你博客是 Jekyll / Hugo 还是纯 markdown，我来适配格式～</p>]]></content><author><name></name></author><summary type="html"><![CDATA[2025-04-16]]></summary></entry><entry><title type="html">在macbook测试是不是能顺利发blog</title><link href="/2025/04/16/%E5%9C%A8macbook%E6%B5%8B%E8%AF%95%E6%98%AF%E4%B8%8D%E6%98%AF%E8%83%BD%E9%A1%BA%E5%88%A9%E5%8F%91blog.html" rel="alternate" type="text/html" title="在macbook测试是不是能顺利发blog" /><published>2025-04-16T00:00:00+00:00</published><updated>2025-04-16T00:00:00+00:00</updated><id>/2025/04/16/%E5%9C%A8macbook%E6%B5%8B%E8%AF%95%E6%98%AF%E4%B8%8D%E6%98%AF%E8%83%BD%E9%A1%BA%E5%88%A9%E5%8F%91blog</id><content type="html" xml:base="/2025/04/16/%E5%9C%A8macbook%E6%B5%8B%E8%AF%95%E6%98%AF%E4%B8%8D%E6%98%AF%E8%83%BD%E9%A1%BA%E5%88%A9%E5%8F%91blog.html"><![CDATA[<h2 id="2025-04-16">2025-04-16</h2>

<h1 id="在macbook测试是不是能顺利发blog">在macbook测试是不是能顺利发blog</h1>

<p>看起来是成功了。 呵呵</p>]]></content><author><name></name></author><summary type="html"><![CDATA[2025-04-16]]></summary></entry><entry><title type="html">学会了markdown插图的超快速方式</title><link href="/2025/04/16/%E5%AD%A6%E4%BC%9A%E4%BA%86markdown%E6%8F%92%E5%9B%BE%E7%9A%84%E8%B6%85%E5%BF%AB%E9%80%9F%E6%96%B9%E5%BC%8F.html" rel="alternate" type="text/html" title="学会了markdown插图的超快速方式" /><published>2025-04-16T00:00:00+00:00</published><updated>2025-04-16T00:00:00+00:00</updated><id>/2025/04/16/%E5%AD%A6%E4%BC%9A%E4%BA%86markdown%E6%8F%92%E5%9B%BE%E7%9A%84%E8%B6%85%E5%BF%AB%E9%80%9F%E6%96%B9%E5%BC%8F</id><content type="html" xml:base="/2025/04/16/%E5%AD%A6%E4%BC%9A%E4%BA%86markdown%E6%8F%92%E5%9B%BE%E7%9A%84%E8%B6%85%E5%BF%AB%E9%80%9F%E6%96%B9%E5%BC%8F.html"><![CDATA[<h2 id="学会了markdown插图的超快速方式-2025-04-16-markdown-blog-插图自动化系统从截图到-neovim-即时插入">学会了markdown插图的超快速方式 2025-04-16-Markdown-Blog 插图自动化系统：从截图到 Neovim 即时插入</h2>
<p>⸻</p>

<p>✨ 博客内容（Markdown 结构）</p>

<hr />
<p>title: “Markdown Blog 插图自动化系统：从截图到 Neovim 即时插入”
date: 2025-04-16
layout: post
—</p>

<h2 id="-从截图到插图自动化流程简介">🪄 从截图到插图：自动化流程简介</h2>

<p><img src="/assets/2025-04-16/插图结构示意图.png" alt="图说" />
在日常撰写博客（如 Hexo/Jekyll 系统）时，我们经常需要将截图快速插入到文章中。但传统做法涉及以下痛点：</p>

<ul>
  <li>⏱ 文件名手动命名，费时出错；</li>
  <li>📂 找不到 asset 文件夹路径；</li>
  <li>📋 Markdown 插图语法手打费劲；</li>
  <li>🧭 Neovim / Terminal 中文件结构不清晰，难以操作。</li>
</ul>

<p>现在通过自定义脚本 <code class="language-plaintext highlighter-rouge">blog_clipshot</code>，可以一键完成整个流程：</p>

<ol>
  <li>📸 直接截图并复制到剪贴板；</li>
  <li>💾 自动保存为带日期路径的 PNG 文件；</li>
  <li>🖼 自动生成 Markdown 插图语法并复制到剪贴板；</li>
  <li>✅ 可直接粘贴 <code class="language-plaintext highlighter-rouge">Cmd + V</code> 到博客 Markdown 中。</li>
</ol>

<hr />

<h2 id="-step-1-安装保存截图到剪贴板的依赖macos">🔧 Step 1: 安装保存截图到剪贴板的依赖（macOS）</h2>

<p>系统自带截图快捷键：</p>

<ul>
  <li><code class="language-plaintext highlighter-rouge">Cmd + Shift + Ctrl + 4</code>：截图并保存到<strong>剪贴板</strong></li>
</ul>

<p>我们用 <code class="language-plaintext highlighter-rouge">pngpaste</code> 工具把剪贴板图片保存下来：</p>

<p>```bash
brew install pngpaste</p>

<p>⸻</p>

<p>🧩 Step 2: 自定义函数 blog_clipshot</p>

<p>将以下代码加入到 ~/.zshrc 或你专门的函数配置文件中，例如 ~/.zsh_functions：</p>

<h1 id="-blog_clipshot自动保存剪贴板中的截图为-png-并生成-markdown-插图链接">📎 blog_clipshot：自动保存剪贴板中的截图为 PNG 并生成 Markdown 插图链接</h1>
<p>blog_clipshot() {
  local TITLE=”$1”
  if [ -z “$TITLE” ]; then
    echo “❌ 用法: blog_clipshot "图名（中文或英文皆可）"”
    return 1
  fi</p>

<p># 获取当天日期
  local DATE=$(date +%F)
  local SAFE_TITLE=$(echo “$TITLE” | tr ‘ ‘ ‘-‘ | tr -cd ‘[:alnum:]-_\u4e00-\u9fa5’)
  local IMG_NAME=”${SAFE_TITLE}.png”</p>

<p># 图片路径
  local ASSET_DIR=~/Dev/Jynxzzz.github.io/assets/”$DATE”
  mkdir -p “$ASSET_DIR”
  local IMG_PATH=”${ASSET_DIR}/${IMG_NAME}”</p>

<p># 保存截图到文件
  pngpaste “$IMG_PATH”</p>

<p># 输出并复制 Markdown 插图语法
  local MARKDOWN_LINK=”<img src="/assets/${DATE}/${IMG_NAME}" alt="${TITLE}" />”
  echo “$MARKDOWN_LINK” | pbcopy
  echo “✅ 已保存截图为：$IMG_PATH”
  echo “📋 插图语法已复制到剪贴板：”
  echo “$MARKDOWN_LINK”
}</p>

<p>然后运行以下命令刷新配置：</p>

<p>source ~/.zshrc</p>

<p>⸻</p>

<p>🚀 Step 3: 使用流程演示
	1.	截图并复制到剪贴板：
	•	使用快捷键：Cmd + Shift + Ctrl + 4
	2.	保存并生成插图链接：
	•	在 Terminal 中运行：</p>

<p>blog_clipshot 论文方法图</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>3.	插入图片链接：
•	切换到 Neovim 编辑的 Markdown 文件中，直接 Cmd + V 粘贴即可。
</code></pre></div></div>

<p>⸻</p>

<p>📁 文件结构建议</p>

<p>Dev/Jynxzzz.github.io/
├── _posts/
│   └── 2025-04-16-Markdown-Blog-插图自动化系统.md
└── assets/
    └── 2025-04-16/
        └── 论文方法图.png</p>

<p>⸻</p>

<p>📝 建议 alias</p>

<p>为了更快调用：</p>

<p>alias clip=’blog_clipshot’</p>

<p>⸻</p>

<p>🧠 技术亮点总结</p>

<p>步骤	技术实现
截图剪贴板输入	macOS 内建快捷键
剪贴板读取	pngpaste
文件命名规范化	tr 工具处理中文或特殊字符
自动路径组织	每天一个日期文件夹
Markdown 插图生成	自动粘贴、无需手打语法</p>

<p>⸻</p>

<p>📌 下一步：</p>

<p>你还可以给这个功能配一个快捷指令，比如叫：</p>

<p>alias blogpic=’clip “图标题”’</p>

<p>或者加入你的 Neovim 中，通过快捷键调用 :terminal 来截图 ➜ 插图 ➜ 预览。</p>

<p>需要我把这些自动生成为 tmux layout 吗？或者配合 newblog 全部打包自动建文件、图、md？我都能帮你做成套件。需要我出一个 .sh 脚本 starter 包也可以！</p>

<p>要不要顺手也讲一讲 neotree 里怎么快速跳到 assets 文件夹插图？</p>]]></content><author><name></name></author><summary type="html"><![CDATA[学会了markdown插图的超快速方式 2025-04-16-Markdown-Blog 插图自动化系统：从截图到 Neovim 即时插入 ⸻]]></summary></entry><entry><title type="html">测试</title><link href="/2025/04/16/%E6%B5%8B%E8%AF%95.html" rel="alternate" type="text/html" title="测试" /><published>2025-04-16T00:00:00+00:00</published><updated>2025-04-16T00:00:00+00:00</updated><id>/2025/04/16/%E6%B5%8B%E8%AF%95</id><content type="html" xml:base="/2025/04/16/%E6%B5%8B%E8%AF%95.html"><![CDATA[<h2 id="2025-04-16">2025-04-16</h2>

<h1 id="测试">测试</h1>

<p>macbbok</p>

<p>太好了 成功了。 自己在macbbok上也能实时的发blog了。 以后要好好利用。</p>]]></content><author><name></name></author><summary type="html"><![CDATA[2025-04-16]]></summary></entry><entry><title type="html">测试插图</title><link href="/2025/04/16/%E6%B5%8B%E8%AF%95%E6%8F%92%E5%9B%BE.html" rel="alternate" type="text/html" title="测试插图" /><published>2025-04-16T00:00:00+00:00</published><updated>2025-04-16T00:00:00+00:00</updated><id>/2025/04/16/%E6%B5%8B%E8%AF%95%E6%8F%92%E5%9B%BE</id><content type="html" xml:base="/2025/04/16/%E6%B5%8B%E8%AF%95%E6%8F%92%E5%9B%BE.html"><![CDATA[<h2 id="测试插图">测试插图</h2>

<p><img src="/assets/2025-04-16/插图测试.png" alt="图说" /></p>]]></content><author><name></name></author><summary type="html"><![CDATA[测试插图]]></summary></entry><entry><title type="html">2025 04 15, 2124 今日內容</title><link href="/2025/04/15/2025-04-15,-2124-%E4%BB%8A%E6%97%A5%E5%85%A7%E5%AE%B9.html" rel="alternate" type="text/html" title="2025 04 15, 2124 今日內容" /><published>2025-04-15T00:00:00+00:00</published><updated>2025-04-15T00:00:00+00:00</updated><id>/2025/04/15/2025-04-15,%202124-%E4%BB%8A%E6%97%A5%E5%85%A7%E5%AE%B9</id><content type="html" xml:base="/2025/04/15/2025-04-15,-2124-%E4%BB%8A%E6%97%A5%E5%85%A7%E5%AE%B9.html"><![CDATA[<h1 id="2025-04-15-2124-今日內容">2025-04-15, 21:24-今日內容</h1>
<p>太好了，我们来做一个简洁清晰的总结文档，方便你日后回顾或在毕业答辩时展示你的项目管理与版本控制能力。
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…</p>

<p>🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️</p>

<p>太好了，我们来做一个简洁清晰的总结文档，方便你日后回顾或在毕业答辩时展示你的项目管理与版本控制能力。
📘 操作日志：论文结构重构与 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</p>

<p>🌐 二、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.</p>

<p>⚙️ 三、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 激活。</p>

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

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

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

<p>#blog</p>

<p>🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️</p>

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

<p>✅ 实际上你当前 tmux 会话中是：
	•	有 两个 window（编号是 0 和 1）
	•	你目前正在的 window 1 里，有 三个 pane（分割的终端视图）</p>

<p>🔍 图示解析
从你这张图里可以读出以下内容：
🪟 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 里，只是布局不同。</p>

<p>🧩 总结术语区别
概念
含义
快捷键
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 可视列表）</p>

<p>要不要我现在帮你创建一个 tmux.conf，让你自动：
	•	打开两个 window
	•	每个 window 里自动布局 pane（比如 code + showing + git）
	•	自动进入指定文件夹或激活 conda 环境？💡只要你说！</p>

<p>#tmux</p>

<p>🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️</p>

<p>Tmux 交换左右： swap-pane
上下移动 shift hjkl
做有分布变成上下（vertical） ：Ctrl + b  : select-layout even-vertical</p>

<p>好问题！在 tmux 命令里，像 -D 这样的参数是方向的简写：</p>

<p>🔤 -D 的含义：
-D   → Down（向下）
-U   → Up（向上）
-L   → Left（向左）
-R   → Right（向右）</p>

<p>📌 举例：
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，把它换到下面去。</p>

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

<p>#tmux</p>

<p>🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️</p>

<p>为什么要把echo写在zshrc？ 我直接在ternimal写是不是只有这一次生效
你问得非常对！🌟</p>

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

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

<p>✅ 如果你写在 ~/.zshrc 里：</p>
<h1 id="zshrc">~/.zshrc</h1>
<p>export PATH=”$HOME/.local/bin:$PATH”
然后执行：
source ~/.zshrc
或者重启 terminal，之后每一次你打开终端，系统都会自动帮你设置好这个 $PATH。</p>

<p>📦 .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:…</p>

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

<p>#zsh
#workflow</p>

<p>🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️</p>

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

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

<p>🧭 先来快速回顾：$PATH 是什么？
$PATH 是一个环境变量，定义了Shell 查找命令的目录顺序：
echo $PATH</p>
<h1 id="输出类似">输出类似：</h1>
<p>/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/you/.local/bin
它从左到右依次查找，第一个匹配到的命令就执行。</p>

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

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

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

<p>🧪 小测试：谁在生效？
你可以这样查：
which nvim</p>
<h1 id="或">或</h1>
<p>command -v nvim
它会返回最先被 $PATH 找到的版本。</p>

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

<p>#linux	
#workflow 
#trick</p>

<p>🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️</p>

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

<p>#nvim</p>

<p>🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️</p>

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

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

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

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

<p>#link
#workflow</p>

<p>🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️</p>

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

<p>🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️</p>

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

<table>
  <tbody>
    <tr>
      <td>📁 开发环境使用指南</td>
      <td>for [你的名字]</td>
    </tr>
  </tbody>
</table>

<p>🧠 背景介绍</p>

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

<p>⸻</p>

<p>🚀 快速命令速查</p>

<p>🌈 Mermaid 图相关</p>

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

<p>建议：所有论文图都放进 Figures/ChapterX/ 文件夹，便于按章节管理。</p>

<p>⸻</p>

<p>🧰 Tmux alias 修复方案</p>

<p>在 ~/.tmux.conf 添加：</p>

<p>set -g default-shell $SHELL
set -g default-command “$SHELL -l”</p>

<p>确保每个 tmux pane 都加载 .zshrc，别再担心 alias 失效！</p>

<p>⸻</p>

<p>⚡ 常用 alias 示例</p>

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

<p>⸻</p>

<p>📂 目录结构建议</p>

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

<p>⸻</p>

<p>🧪 Mermaid 图标准风格模板</p>

<p>graph LR</p>

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

<p>subgraph INTERSECTION_EVAL [“Intersection Evaluation”]
  B
  C1
end</p>

<p>subgraph TRANSITION_EVAL [“Transition Scenario”]
  C2
  D
end</p>

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

<p>⸻</p>

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

<p>⸻</p>

<p>✅ 环境复现小贴士</p>

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

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

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>3.	重启终端，即可恢复原有开发体验！
</code></pre></div></div>

<p>⸻</p>

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

<p>要我现在给你导出这份说明吗？🌟
#workflow</p>

<p>#tmux</p>

<p>#nvim</p>

<p>#mermaid</p>

<p>#flowchart</p>

<p>🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️</p>

<p>tmux想和zsh同步， 就要用这个指令：这个指令是 写在 tmux 的配置文件里，不是 zsh 的！
⸻</p>

<p>✅ 正确写法：</p>

<p>你应该在你的 tmux 配置文件中添加：</p>

<p>set -g default-command “${SHELL} -l”</p>

<p>⸻</p>

<p>🗂 路径位置：</p>

<p>tmux 默认配置文件的位置是：</p>

<p>~/.tmux.conf</p>

<p>你可以在终端运行以下命令打开它：</p>

<p>nano ~/.tmux.conf</p>

<p>或者如果你用的是 Neovim：</p>

<p>nvim ~/.tmux.conf</p>

<p>⸻</p>

<p>✅ 添加后步骤：
	1.	把这行加到 .tmux.conf 的末尾：</p>

<p>set -g default-command “${SHELL} -l”</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>2.	保存并关闭。
3.	然后 重启 tmux：
</code></pre></div></div>

<p>tmux kill-server
tmux</p>

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

<p>⸻</p>

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

<p>🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️</p>

<p>学到了新知识 $在command line是啥意思：
非常好！你问得特别到位。这个 $(…) 是 shell 里的命令替换（Command Substitution），是终端脚本里非常重要的一部分。</p>

<p>⸻</p>

<p>✅ $(…) 是什么？</p>

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

<p>⸻</p>

<p>📌 举例说明：</p>

<p>✅ 例子 1：打开被打了标签 todo 的文件</p>

<p>open $(tag -m todo)</p>

<p>这个命令的执行过程是这样的：
	1.	tag -m todo 会输出一个文件路径，比如：</p>

<p>/Users/xxx/Documents/file1.docx
/Users/xxx/Documents/file2.docx</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>2.	$(tag -m todo) 会把这两行变成一个字符串传给 open：
</code></pre></div></div>

<p>open /Users/xxx/Documents/file1.docx /Users/xxx/Documents/file2.docx</p>

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

<p>⸻</p>

<p>✅ 例子 2：创建一个文件名是今天日期的文件</p>

<p>touch “log_$(date +%F).txt”</p>

<p>等价于：</p>

<p>touch “log_2025-04-15.txt”</p>

<p>⸻</p>

<p>🧠 和反引号 <code class="language-plaintext highlighter-rouge">command</code> 有啥关系？</p>

<p>$(…) 是现代写法，等价于旧的：</p>

<p>open <code class="language-plaintext highlighter-rouge">tag -m todo</code></p>

<p>但推荐你永远用 $(…)，更好读，也更容易嵌套。</p>

<p>⸻</p>

<p>🧪 快速练习：</p>

<p>你可以试试这个命令，看看输出：</p>

<p>echo “今天是：$(date)”</p>

<p>⸻</p>

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

<p>#cml</p>

<p>🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️</p>

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

<p>🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️</p>

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

<p>⸻</p>

<p>✅ 正确写法：</p>

<p>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/”’</p>

<p>⸻</p>

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

<p>⸻</p>

<p>✅ 最推荐写法（可读性好 &amp; 兼容性强）：</p>

<p>你也可以直接写成函数形式加换目录后列出内容：</p>

<p>alias chapter3=’cd “/Users/xingnanzhou/Documents/Documents - Jynxzzz’'’s MacBook Pro/thesis（4.1-4.11）/Figures/Chapter3/” &amp;&amp; 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/” &amp;&amp; ls’</p>

<p>⸻</p>

<p>📦 Bonus：把它加到 ~/.zshrc</p>

<p>nano ~/.zshrc</p>

<p>加上上面那两句，然后：</p>

<p>source ~/.zshrc</p>

<p>就永久生效了！</p>

<p>⸻</p>

<p>如果你想我自动生成一套导航 alias 或者 smart tag 方案，也可以告诉我～</p>

<p>#workflow</p>

<p>#trick</p>

<p>#alias</p>

<p>🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️</p>

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

<p>⸻</p>

<p>🍀 macOS Terminal 中 tag 命令的完整语法与用法</p>

<p>✅ 基本语法：</p>

<p>tag [选项] tag_name(s) file_path(s)</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>•	tag_name 是你想添加的标签（比如 chapter3）
•	file_path 是你要标记的文件（或文件列表）
•	标签与文件名 用空格分隔
•	一次只能操作一个或多个文件
</code></pre></div></div>

<p>⸻</p>

<p>🟢 一、添加标签（add）</p>

<p>➤ 给单个文件添加标签：</p>

<p>tag -a chapter3 filename.pdf</p>

<p>➤ 给多个文件添加同一个标签：</p>

<p>tag -a chapter3 file1.pdf file2.mmd file3.svg</p>

<p>➤ 用通配符（添加所有以 chapter3_1. 开头的文件）：</p>

<p>tag -a chapter3 chapter3_1.*</p>

<p>➤ 给当前目录下所有 .pdf 和 .mmd 文件添加标签：</p>

<p>tag -a chapter3 *.pdf *.mmd</p>

<p>⸻</p>

<p>🔴 二、删除标签（remove）</p>

<p>➤ 删除单个标签：</p>

<p>tag -r chapter3 filename.pdf</p>

<p>➤ 删除多个文件中的标签：</p>

<p>tag -r chapter3 file1.pdf file2.mmd file3.svg</p>

<p>⸻</p>

<p>🔍 三、查看标签（list）</p>

<p>➤ 查看单个文件的标签：</p>

<p>tag -l filename.pdf</p>

<p>➤ 查看当前目录所有文件的标签（结合 xargs）：</p>

<table>
  <tbody>
    <tr>
      <td>ls</td>
      <td>xargs tag -l</td>
    </tr>
  </tbody>
</table>

<p>⸻</p>

<p>🧠 小结：语法结构一览</p>

<p>操作	命令结构	示例
添加标签	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</p>

<p>⸻</p>

<p>📎 提示： 标签是绑定在 macOS 原生系统中的（和 Finder 的彩色 tag 一样），会被 Spotlight、Smart Folder、Finder 搜索识别。</p>

<p>⸻</p>

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

<p>#workflow</p>

<p>🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️</p>

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

<p>⸻</p>

<p>🧠 Thesis 图形工作流总结（Kitty + Tmux + Mermaid）</p>

<p>🖥️ 终端配置结构</p>

<p>┌─────────────────────────────┬──────────────────────────────┐
│         Left Pane           │          Right Pane          │
│ 🧠 Neovim + Mermaid (.mmd)  │ 👁️ 图像预览 (PNG/SVG/PDF)       │
│                            │ - <code class="language-plaintext highlighter-rouge">kitty +kitten icat</code>       │
│                            │ - <code class="language-plaintext highlighter-rouge">zathura</code> / <code class="language-plaintext highlighter-rouge">open</code>          │
└────────────────────────────┴──────────────────────────────┘</p>

<p>🧰 使用组件</p>

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

<p>⸻</p>

<p>🪄 操作流程一览（推荐绑定快捷键）
	1.	tmux 打开工作会话：</p>

<p>tmux new -s mermaid</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>2.	左边 pane 中编辑 Mermaid 图：
</code></pre></div></div>

<p>nvim mydiagram.mmd</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>3.	运行图形渲染：
</code></pre></div></div>

<p>mmdraw mydiagram.mmd</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>4.	右边 pane 中使用以下任一命令实时预览：
</code></pre></div></div>

<p>kitty +kitten icat mydiagram.png      # Kitty 原生预览
open mydiagram.pdf                    # Mac 系统预览
zathura mydiagram.pdf                # zathura（更快更轻）</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>5.	如果图片没更新，重新生成：
</code></pre></div></div>

<p>mmdraw mydiagram.mmd</p>

<p>⸻</p>

<p>🧩 自定义模板工作流（模版路径已设置）</p>

<p>你当前使用的模板路径：</p>

<p>~/Documents/…/Figures/mermaid_template/mermaid_template.mmd</p>

<p>建议设置 Neovim 快捷命令：</p>

<p>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, {})</p>

<p>执行 :NewMermaid，即可新建一个带样式的 .mmd 文件。</p>

<p>⸻</p>

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

<p>⸻</p>

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

<p>⸻</p>

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

<p>#flowchart</p>

<p>#tmux</p>

<p>#kitty</p>

<p>#nvim</p>

<p>🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️</p>

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

<p>🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️</p>

<p>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, {})</p>

<p>🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️下一個筆記🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️🐿️</p>

<p>我发现gpt有时候他不知道正确答案， 也不会上网去搜索。 互联网上真的有正确答案！而且我是配合gpt来做的， 然后很快的就把gpt…
我发现gpt有时候他不知道正确答案， 也不会上网去搜索。 互联网上真的有正确答案！而且我是配合gpt来做的， 然后很快的就把gpt不能解决饿的透明边框的问题解决了。
#mermaid
#flowchart #匯總今日內容</p>]]></content><author><name></name></author><summary type="html"><![CDATA[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…]]></summary></entry><entry><title type="html">2025 04 15 博客记录</title><link href="/2025/04/15/2025-04-15-%E5%8D%9A%E5%AE%A2%E8%AE%B0%E5%BD%95.html" rel="alternate" type="text/html" title="2025 04 15 博客记录" /><published>2025-04-15T00:00:00+00:00</published><updated>2025-04-15T00:00:00+00:00</updated><id>/2025/04/15/2025-04-15-%E5%8D%9A%E5%AE%A2%E8%AE%B0%E5%BD%95</id><content type="html" xml:base="/2025/04/15/2025-04-15-%E5%8D%9A%E5%AE%A2%E8%AE%B0%E5%BD%95.html"><![CDATA[<h2 id="2025-04-15">2025-04-15</h2>

<h1 id="2025-04-15-博客记录">2025-04-15 博客记录</h1>

<p>卧槽真的做到了实时的同步。 现在超级爱写blog。 我好牛逼啊 。 接下来就是git push的快捷操作一键发布。</p>]]></content><author><name></name></author><summary type="html"><![CDATA[2025-04-15]]></summary></entry></feed>