<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Markdown on Liangweidong's blog</title><link>https://liangweidonggood.github.io/tags/markdown/</link><description>Recent content in Markdown on Liangweidong's blog</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><lastBuildDate>Sun, 15 Sep 2013 00:00:00 +0800</lastBuildDate><atom:link href="https://liangweidonggood.github.io/tags/markdown/index.xml" rel="self" type="application/rss+xml"/><item><title>Windows 终端与 Navicat 工具链：cmd / Git Bash / Markdown / Navicat</title><link>https://liangweidonggood.github.io/p/windows-zhong-duan-navicat-gong-ju-lian/</link><pubDate>Sun, 15 Sep 2013 00:00:00 +0800</pubDate><guid>https://liangweidonggood.github.io/p/windows-zhong-duan-navicat-gong-ju-lian/</guid><description>&lt;img src="https://liangweidonggood.github.io/p/windows-zhong-duan-navicat-gong-ju-lian/image/cover.jpg" alt="Featured image of post Windows 终端与 Navicat 工具链：cmd / Git Bash / Markdown / Navicat" /&gt;&lt;h2 id="一为什么-windows-仍需要终端三件套"&gt;一、为什么 Windows 仍需要&amp;quot;终端三件套&amp;quot;
&lt;/h2&gt;&lt;p&gt;2013 年的 Windows 8 时代，PowerShell 3.0 已经成熟，但&lt;strong&gt;日常开发还是 cmd + Git Bash + PowerShell 三选一&lt;/strong&gt;。本文整理 cmd / Git Bash / PowerShell 的常用配置，外加 &lt;strong&gt;Markdown 编辑&lt;/strong&gt;、&lt;strong&gt;Mermaid 图表&lt;/strong&gt;、&lt;strong&gt;Navicat 数据库工具&lt;/strong&gt;这三条&amp;quot;终端之外的工具链&amp;quot;。&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&lt;strong&gt;阅读建议&lt;/strong&gt;：本文不重复 &amp;ldquo;PowerShell 基础命令&amp;rdquo; 类的入门内容，重点在&lt;strong&gt;配置 + 排错&lt;/strong&gt;。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h2 id="二cmd被低估的老古董"&gt;二、cmd：被低估的&amp;quot;老古董&amp;quot;
&lt;/h2&gt;&lt;h3 id="21-时间显示到秒"&gt;2.1 时间显示到秒
&lt;/h3&gt;&lt;p&gt;cmd 默认 &lt;code&gt;time /t&lt;/code&gt; 只显示 &lt;code&gt;HH:MM&lt;/code&gt;，要看到秒：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;span class="lnt"&gt;6
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bat" data-lang="bat"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="c1"&gt;: 系统变量法&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;%time%&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="c1"&gt;: 强制格式 HH:MM:SS&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="k"&gt;/f&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;tokens=2 delims=.&amp;#34;&lt;/span&gt; &lt;span class="se"&gt;%%&lt;/span&gt;a &lt;span class="k"&gt;in&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;echo &lt;/span&gt;&lt;span class="nv"&gt;%time%&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt; &lt;span class="k"&gt;set&lt;/span&gt; &lt;span class="nv"&gt;ms&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="se"&gt;%%&lt;/span&gt;a
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;%time:~0,8%&lt;/span&gt;.&lt;span class="nv"&gt;%ms%&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;更简单的办法：&lt;strong&gt;用 &lt;code&gt;prompt&lt;/code&gt;&lt;/strong&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bat" data-lang="bat"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;prompt&lt;/span&gt; $T $P$G
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;效果：&lt;code&gt;12:34:56.78 C:\&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;h3 id="22-常用快捷键"&gt;2.2 常用快捷键
&lt;/h3&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;快捷键&lt;/th&gt;
					&lt;th&gt;作用&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;F7&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;显示命令历史&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;F8&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;搜索历史&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;Tab&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;路径自动补全（Win 7+）&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;Ctrl+C&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;中断当前命令&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;Ctrl+Insert&lt;/code&gt; / &lt;code&gt;Shift+Insert&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;复制 / 粘贴（Win 10+）&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="23-中文编码"&gt;2.3 中文编码
&lt;/h3&gt;&lt;p&gt;cmd 默认 GBK。&lt;code&gt;chcp 65001&lt;/code&gt; 切到 UTF-8，但&lt;strong&gt;部分老 exe 还会乱码&lt;/strong&gt;——这是 cmd 一直存在的老问题。2013 时代&lt;strong&gt;推荐用 cmder / ConEmu 替代 cmd&lt;/strong&gt;（Unicode + 多 Tab）。&lt;/p&gt;
&lt;h3 id="24-提升到管理员"&gt;2.4 提升到管理员
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;span class="lnt"&gt;6
&lt;/span&gt;&lt;span class="lnt"&gt;7
&lt;/span&gt;&lt;span class="lnt"&gt;8
&lt;/span&gt;&lt;span class="lnt"&gt;9
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bat" data-lang="bat"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="c1"&gt;: 单次管理员&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;runas /user:administrator cmd
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="c1"&gt;: 写脚本时&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;net session &lt;span class="p"&gt;&amp;gt;&lt;/span&gt;nul &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&amp;amp;&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="p"&gt;||&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;echo&lt;/span&gt; 需要管理员权限！
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; powershell start-process cmd -ArgumentList &lt;span class="s2"&gt;&amp;#34;/c &lt;/span&gt;&lt;span class="nv"&gt;%~f0&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; -Verb runas
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;exit&lt;/span&gt; /b
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id="三git-bashwindows-上最像-linux-的终端"&gt;三、Git Bash：Windows 上最像 Linux 的终端
&lt;/h2&gt;&lt;h3 id="31-安装"&gt;3.1 安装
&lt;/h3&gt;&lt;p&gt;安装 &lt;code&gt;Git for Windows&lt;/code&gt;（&lt;code&gt;https://git-scm.com/download/win&lt;/code&gt;）时默认带 Git Bash。&lt;strong&gt;关键选项&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Use Git from the Windows Command Prompt&lt;/code&gt;：勾选（让 cmd 也能用 git）&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Checkout Windows-style, commit Unix-style line endings&lt;/code&gt;：&lt;strong&gt;推荐&lt;/strong&gt;（文件保留 CRLF，提交时自动转 LF）&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Use Windows' default console window&lt;/code&gt;：默认即可，&lt;strong&gt;追求美化用 Windows Terminal / cmder&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="32-中文乱码"&gt;3.2 中文乱码
&lt;/h3&gt;&lt;p&gt;Git Bash 早期（&amp;lt;= 2.10）&lt;strong&gt;ls 中文文件名乱码&lt;/strong&gt;。两种解决：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;span class="lnt"&gt;6
&lt;/span&gt;&lt;span class="lnt"&gt;7
&lt;/span&gt;&lt;span class="lnt"&gt;8
&lt;/span&gt;&lt;span class="lnt"&gt;9
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 方案 1：让 Git 输出 UTF-8&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git config --global core.quotepath &lt;span class="nb"&gt;false&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git config --global gui.encoding utf-8
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git config --global i18n.commit.encoding utf-8
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git config --global i18n.logoutputencoding utf-8
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 方案 2：终端本身设 UTF-8&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;export&lt;/span&gt; &lt;span class="nv"&gt;LANG&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;en_US.UTF-8
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;export&lt;/span&gt; &lt;span class="nv"&gt;LC_ALL&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;en_US.UTF-8
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;code&gt;git config --global core.quotepath false&lt;/code&gt; 这一条&lt;strong&gt;最关键&lt;/strong&gt;——&lt;code&gt;ls&lt;/code&gt; 看到的中文文件名会正常显示。&lt;/p&gt;
&lt;h3 id="33-常用别名bashrc"&gt;3.3 常用别名（&lt;code&gt;~/.bashrc&lt;/code&gt;）
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;span class="lnt"&gt;6
&lt;/span&gt;&lt;span class="lnt"&gt;7
&lt;/span&gt;&lt;span class="lnt"&gt;8
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;alias&lt;/span&gt; &lt;span class="nv"&gt;ll&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;ls -la&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;alias&lt;/span&gt; &lt;span class="nv"&gt;gst&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;git status&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;alias&lt;/span&gt; &lt;span class="nv"&gt;gco&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;git checkout&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;alias&lt;/span&gt; &lt;span class="nv"&gt;gbr&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;git branch&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;alias&lt;/span&gt; &lt;span class="nv"&gt;glog&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;git log --oneline --graph --decorate --all -20&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;alias&lt;/span&gt; &lt;span class="nv"&gt;gp&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;git push&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;alias&lt;/span&gt; &lt;span class="nv"&gt;gpl&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;git pull&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;alias&lt;/span&gt; &lt;span class="nv"&gt;vim&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;winpty mvim&amp;#39;&lt;/span&gt; &lt;span class="c1"&gt;# Windows 下 vim 经常需要 winpty&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id="34-winpty-与交互式程序"&gt;3.4 winpty 与交互式程序
&lt;/h3&gt;&lt;p&gt;Git Bash 调用 Windows 原生 &lt;code&gt;python.exe&lt;/code&gt;、&lt;code&gt;mysql.exe&lt;/code&gt; 等&lt;strong&gt;交互式程序会丢失方向键/历史&lt;/strong&gt;。解决：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;winpty python &lt;span class="c1"&gt;# 包装一层&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 或写别名&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;alias&lt;/span&gt; &lt;span class="nv"&gt;python&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;winpty python&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
 &lt;blockquote&gt;
 &lt;p&gt;&lt;strong&gt;2025 时代&lt;/strong&gt;：微软推出 &lt;strong&gt;Windows Terminal + WSL&lt;/strong&gt; 才是真&amp;quot;现代终端&amp;quot;——但 2013 时代 Git Bash 已经是最佳选择。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h2 id="四markdown-工具链"&gt;四、Markdown 工具链
&lt;/h2&gt;&lt;h3 id="41-markdown-语法速查"&gt;4.1 Markdown 语法速查
&lt;/h3&gt;&lt;p&gt;Markdown 在 2013 年已经开始从极客玩具走向主流。&lt;strong&gt;三个层次的语法&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;基础&lt;/strong&gt;（CommonMark）：标题、列表、引用、链接、图片、代码块&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GFM&lt;/strong&gt;（GitHub Flavored）：表格、删除线、任务列表、&lt;code&gt;```&lt;/code&gt; 代码围栏&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;扩展&lt;/strong&gt;：数学公式（&lt;code&gt;$...$&lt;/code&gt;）、Mermaid 图表、PlantUML、目录（TOC）&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="42-数学公式"&gt;4.2 数学公式
&lt;/h3&gt;&lt;p&gt;VSCode / Typora / Obsidian 都支持 KaTeX 风格的数学公式：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;span class="lnt"&gt;6
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-markdown" data-lang="markdown"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;行内公式：爱因斯坦 $E=mc^2$
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;行间公式：
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$$
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;\int_0^{\infty} e^{-x^2} dx = \frac{\sqrt{\pi}}{2}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$$
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;常用符号速查：&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;符号&lt;/th&gt;
					&lt;th&gt;代码&lt;/th&gt;
					&lt;th&gt;描述&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;$\sum$&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;$\sum$&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;求和&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;$\prod$&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;$\prod$&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;N 元乘积&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;$\int$&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;$\int$&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;积分&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;$\partial$&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;$\partial$&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;偏导&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;$\nabla$&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;$\nabla$&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;梯度&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;$\alpha$&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;$\alpha$&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;希腊字母 alpha&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;$\leq$ / $\geq$&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;$\leq$&lt;/code&gt; / &lt;code&gt;$\geq$&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;小于等于 / 大于等于&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;$\in$&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;$\in$&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;属于&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;$\emptyset$&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;$\emptyset$&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;空集&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;$\forall$&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;$\forall$&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;任意&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;$\exists$&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;$\exists$&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;存在&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="43-mermaid-图表"&gt;4.3 Mermaid 图表
&lt;/h3&gt;&lt;p&gt;Mermaid 2014 年由 Knut Sveidqvist 开源，&lt;strong&gt;用纯文本写流程图、时序图、类图、状态图、ER 图&lt;/strong&gt;。在 GitHub README / VSCode / Typora 里都原生支持。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;流程图&lt;/strong&gt;：&lt;/p&gt;
&lt;pre class="mermaid" style="visibility:hidden"&gt;graph TD
 A[用户] --&gt; B{已登录?}
 B -- 是 --&gt; C[展示首页]
 B -- 否 --&gt; D[跳转登录]
 D --&gt; E[输入密码]
 E --&gt; F{验证通过?}
 F -- 是 --&gt; C
 F -- 否 --&gt; G[提示错误]&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;饼图&lt;/strong&gt;：&lt;/p&gt;
&lt;pre class="mermaid" style="visibility:hidden"&gt;pie
 title 浏览器份额
 "Chrome": 65
 "Safari": 19
 "Firefox": 7
 "Edge": 5
 "其他": 4&lt;/pre&gt;&lt;h3 id="44-类图uml"&gt;4.4 类图（UML）
&lt;/h3&gt;&lt;pre class="mermaid" style="visibility:hidden"&gt;classDiagram
 class Animal {
 +int age
 +String gender
 +isMammal()
 +mate()
 }
 class Duck {
 +String beakColor
 +swim()
 +quack()
 }
 class Fish {
 -int sizeInFeet
 -canEat()
 }
 Animal &lt;|-- Duck
 Animal &lt;|-- Fish&lt;/pre&gt;&lt;p&gt;6 种关系：&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;关系&lt;/th&gt;
					&lt;th&gt;标记&lt;/th&gt;
					&lt;th&gt;含义&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;泛化&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;&amp;lt;|--&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;子类继承父类&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;实现&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;&amp;lt;|..&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;实现接口&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;组合&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;*--&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;强拥有（生命周期一致）&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;聚合&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;o--&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;弱拥有（可独立）&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;关联&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;--&amp;gt;&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;知道对方&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;依赖&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;..&amp;gt;&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;使用关系&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="45-plantuml"&gt;4.5 PlantUML
&lt;/h3&gt;&lt;p&gt;PlantUML 2009 年开源，&lt;strong&gt;写 UML 还能保留 .puml 文本文件&lt;/strong&gt;——比 Visio 强在&amp;quot;可版本控制&amp;quot;。需要 &lt;code&gt;Graphviz&lt;/code&gt; 支持：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;plantuml 源文件目录：建议 D:\soft\Graphviz
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;VSCode 装 &lt;code&gt;PlantUML&lt;/code&gt; 插件 + &lt;code&gt;jebbs/plantuml&lt;/code&gt; 即可一键预览。&lt;/p&gt;
&lt;h2 id="五navicat多数据库管理瑞士军刀"&gt;五、Navicat：多数据库管理瑞士军刀
&lt;/h2&gt;&lt;h3 id="51-定位"&gt;5.1 定位
&lt;/h3&gt;&lt;p&gt;Navicat Premium 是 PremiumSoft 公司开发的多数据库 GUI 工具，&lt;strong&gt;一个客户端同时支持&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;MySQL、MariaDB&lt;/li&gt;
&lt;li&gt;PostgreSQL、SQL Server、Oracle&lt;/li&gt;
&lt;li&gt;SQLite、MongoDB&lt;/li&gt;
&lt;li&gt;Redis（早期版本，2020+ 才完善）&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="52-连接配置"&gt;5.2 连接配置
&lt;/h3&gt;&lt;p&gt;新建连接，&lt;strong&gt;关键选项&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Host&lt;/code&gt;：MySQL 默认 3306，PostgreSQL 默认 5432&lt;/li&gt;
&lt;li&gt;&lt;code&gt;SSH&lt;/code&gt; 通道：先 SSH 到堡垒机再连数据库（生产环境必备）&lt;/li&gt;
&lt;li&gt;&lt;code&gt;SSL&lt;/code&gt;：MySQL 5.7+ 强制要求&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Advanced → Connection timeout&lt;/code&gt;：默认 30s，建议 60s&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Advanced → Keepalive interval&lt;/code&gt;：120s（防止隧道中断）&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="53-常用功能"&gt;5.3 常用功能
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;数据传输&lt;/strong&gt;：跨库同步（MySQL → PostgreSQL 异构）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;数据同步&lt;/strong&gt;：表级双向同步&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;结构同步&lt;/strong&gt;：表结构差异对比 → 自动生成 ALTER&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;查询构建器&lt;/strong&gt;：可视化 SELECT，自动生成 SQL&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;数据建模&lt;/strong&gt;：&lt;strong&gt;画 ER 图&lt;/strong&gt;（替代 PowerDesigner 的核心功能）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;计划任务&lt;/strong&gt;：定时备份、转储&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="54-备份与还原"&gt;5.4 备份与还原
&lt;/h3&gt;&lt;p&gt;&lt;code&gt;自动运行 → 新建批处理作业&lt;/code&gt;：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;数据库右键 → &lt;code&gt;转储 SQL 文件&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;调度 → &lt;code&gt;每日 02:00&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Windows 任务计划程序配合调用&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="55-与-powerdesigner-协作"&gt;5.5 与 PowerDesigner 协作
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;PowerDesigner&lt;/strong&gt; 做&lt;strong&gt;概念模型 (CDM) → 物理模型 (PDM) → 建库 SQL&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Navicat&lt;/strong&gt; 做&lt;strong&gt;日常管理 + 数据同步 + 报表&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

 &lt;blockquote&gt;
 &lt;p&gt;详见 &lt;strong&gt;[2014-10-15 设计建模工具：Axure / PowerDesigner / VSCode]&lt;/strong&gt;&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h2 id="六powerdesigner-16x-速查"&gt;六、PowerDesigner 16.x 速查
&lt;/h2&gt;&lt;h3 id="61-安装"&gt;6.1 安装
&lt;/h3&gt;&lt;p&gt;PowerDesigner 16.5/16.6 是 SAP 时代的最后一版。安装路径默认 &lt;code&gt;C:\Program Files\Sybase\PowerDesigner 16&lt;/code&gt;。&lt;strong&gt;注意&lt;/strong&gt;：16.7 是民间称呼，实际是 16.6 升级包。&lt;/p&gt;
&lt;h3 id="62-名称转注释"&gt;6.2 名称转注释
&lt;/h3&gt;&lt;p&gt;PD 默认表名/字段名是**逻辑名（Name）+ 物理名（Code）**双轨。批量把 Name 复制到 Comment：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Tools → Execute Commands → Edit/Run Scripts
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;span class="lnt"&gt;6
&lt;/span&gt;&lt;span class="lnt"&gt;7
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&amp;#39; 把所有实体的 Name 复制到 Comment
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;For Each obj In ActiveModel.Entities
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; obj.Comment = obj.Name
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; For Each col In obj.Columns
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; col.Comment = col.Name
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; Next
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Next
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id="63-全局通用字段"&gt;6.3 全局通用字段
&lt;/h3&gt;&lt;p&gt;每个表都加 &lt;code&gt;create_by / create_time / update_by / update_time / sys_org_code&lt;/code&gt; 字段。&lt;strong&gt;用 PD 的 Global Field 模板&lt;/strong&gt;：&lt;/p&gt;
&lt;p&gt;&lt;code&gt;Tools → Model Options → Naming Convention → Default Field&lt;/code&gt;，新增：&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;字段&lt;/th&gt;
					&lt;th&gt;类型&lt;/th&gt;
					&lt;th&gt;注释&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;create_by&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;varchar(50)&lt;/td&gt;
					&lt;td&gt;创建人&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;create_time&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;datetime&lt;/td&gt;
					&lt;td&gt;创建时间&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;update_by&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;varchar(50)&lt;/td&gt;
					&lt;td&gt;更新人&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;update_time&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;datetime&lt;/td&gt;
					&lt;td&gt;更新时间&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;sys_org_code&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;varchar(64)&lt;/td&gt;
					&lt;td&gt;机构代码&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="64-mysql-80-关键字"&gt;6.4 MySQL 8.0 关键字
&lt;/h3&gt;&lt;p&gt;MySQL 8.0 大量新关键字（&lt;strong&gt;EMPTY、OFF、ZONE、PATH、OFFSET&lt;/strong&gt; 等）——&lt;strong&gt;字段名撞关键字会报错&lt;/strong&gt;。常用对策：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;字段加反引号 &lt;code&gt;`field`&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;改字段名（推荐）&lt;/li&gt;
&lt;li&gt;PD 导出时勾选 &lt;code&gt;Quote identifiers&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;完整关键字表见 MySQL 8.0 官方文档 &lt;code&gt;https://dev.mysql.com/doc/refman/8.0/en/keywords.html&lt;/code&gt;。&lt;/p&gt;
&lt;h2 id="七常见问题"&gt;七、常见问题
&lt;/h2&gt;&lt;h3 id="71-git-bash-启动慢"&gt;7.1 Git Bash 启动慢
&lt;/h3&gt;&lt;p&gt;&lt;code&gt;~/.bashrc&lt;/code&gt; 加载太多东西会卡。&lt;strong&gt;用 &lt;code&gt;time bash -c &amp;quot;echo hello&amp;quot;&lt;/code&gt; 测试&lt;/strong&gt;，把慢的命令移到 &lt;code&gt;if [ -n &amp;quot;$PS1&amp;quot; ]&lt;/code&gt; 之后。&lt;/p&gt;
&lt;h3 id="72-cmd-中-utf-8-编码显示错乱"&gt;7.2 cmd 中 UTF-8 编码显示错乱
&lt;/h3&gt;&lt;p&gt;&lt;code&gt;chcp 65001&lt;/code&gt; 后&lt;strong&gt;部分 exe 仍乱码&lt;/strong&gt;——是字体问题。cmd 标题右键 → 属性 → 字体 → &lt;code&gt;Consolas&lt;/code&gt; 或 &lt;code&gt;Lucida Console&lt;/code&gt;。&lt;/p&gt;
&lt;h3 id="73-navicat-连不上-mysql-80"&gt;7.3 Navicat 连不上 MySQL 8.0
&lt;/h3&gt;&lt;p&gt;MySQL 8.0 默认 &lt;code&gt;caching_sha2_password&lt;/code&gt; 鉴权插件，&lt;strong&gt;Navicat 11 之前不支持&lt;/strong&gt;。两种解决：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;-- 改成 mysql_native_password
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;ALTER&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;USER&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;root&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;@&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;%&amp;#39;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;IDENTIFIED&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;WITH&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;mysql_native_password&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;BY&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;password&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;或升级 Navicat 12+。&lt;/p&gt;
&lt;h3 id="74-mermaid-中文乱码"&gt;7.4 Mermaid 中文乱码
&lt;/h3&gt;&lt;p&gt;某些 Mermaid 版本&lt;strong&gt;类名有中文&lt;/strong&gt;会报错，用引号包起来：&lt;/p&gt;
&lt;pre class="mermaid" style="visibility:hidden"&gt;classDiagram
 class "用户" {
 +String 姓名
 +登录()
 }&lt;/pre&gt;&lt;h2 id="八下一步"&gt;八、下一步
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;想看 IDE 编码主战场：&lt;strong&gt;[2014-04-15 IntelliJ IDEA 全攻略]&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;想看数据库建模：&lt;strong&gt;[2014-10-15 设计建模工具：Axure / PowerDesigner / VSCode]&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;想看 Git 工作流：&lt;strong&gt;[2014-11-15 Git 与版本控制]&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&lt;strong&gt;本文写于 2013 年，回看当时&lt;/strong&gt;：cmd 至今没被 Windows Terminal 完全替代，&lt;strong&gt;大量运维老脚本还在用 bat 写&lt;/strong&gt;；Navicat 至今仍是国产 DBA 的&amp;quot;事实第一选择&amp;quot;——&lt;strong&gt;这套工具的生命力超乎想象&lt;/strong&gt;。&lt;/p&gt;

 &lt;/blockquote&gt;</description></item></channel></rss>