<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Zsh on 夜云泊</title>
    <link>https://lifeislife.cn/tags/zsh/</link>
    <description>feedId:57980998056508425+userId:73222296380546048 Recent content in Zsh on 夜云泊</description>
    <generator>Hugo -- 0.160.1</generator>
    <language>zh</language>
    <lastBuildDate>Tue, 21 Oct 2025 22:00:00 +0800</lastBuildDate>
    <atom:link href="https://lifeislife.cn/tags/zsh/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Git Bash 终端卡顿排查实录：一次 z 插件数据库过大的坑与高效优化清单</title>
      <link>https://lifeislife.cn/posts/git-bash%E7%BB%88%E7%AB%AF%E5%8D%A1%E9%A1%BF%E6%8E%92%E6%9F%A5%E5%AE%9E%E5%BD%95/</link>
      <pubDate>Tue, 21 Oct 2025 22:00:00 +0800</pubDate>
      <guid>https://lifeislife.cn/posts/git-bash%E7%BB%88%E7%AB%AF%E5%8D%A1%E9%A1%BF%E6%8E%92%E6%9F%A5%E5%AE%9E%E5%BD%95/</guid>
      <description>&lt;p&gt;当终端出现输入卡顿、命令执行后迟迟“回不来”的情况，往往不是单一因素导致。本文记录了我在 Git Bash 上的排查过程：最终发现是 oh-my-zsh 的 &lt;code&gt;z&lt;/code&gt; 插件在家目录累积了大量 &lt;code&gt;.z&lt;/code&gt; 数据文件，引发了明显的慢响应。同时也整理了一份更系统的优化与排错清单，帮助你快速定位并消除常见的性能瓶颈。&lt;/p&gt;
&lt;h2 id=&#34;一现象与环境&#34;&gt;一、现象与环境&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Git Bash 终端卡顿：输入有明显延迟，命令执行后迟迟不返回提示符。&lt;/li&gt;
&lt;li&gt;使用的是 &lt;code&gt;zsh&lt;/code&gt;（配合 oh-my-zsh），启用了包括 &lt;code&gt;z&lt;/code&gt; 在内的多个插件。&lt;/li&gt;
&lt;li&gt;家目录出现了很多 &lt;code&gt;.z&lt;/code&gt; 相关文件（&lt;code&gt;z&lt;/code&gt; 插件的跳转数据库），怀疑数据库过大导致慢响应。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;二我的排查与解决过程&#34;&gt;二、我的排查与解决过程&lt;/h2&gt;
&lt;h3 id=&#34;1-先隔离配置用干净的-zsh--f-启动&#34;&gt;1) 先隔离配置：用干净的 &lt;code&gt;zsh -f&lt;/code&gt; 启动&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;zsh -f&lt;/code&gt; 会在不加载 &lt;code&gt;~/.zshrc&lt;/code&gt; 的前提下启动一个“空配置”的 zsh，能快速判断是否是配置或插件导致问题。&lt;/li&gt;
&lt;li&gt;如果 &lt;code&gt;zsh -f&lt;/code&gt; 下终端恢复顺畅，基本可以确定问题在 &lt;code&gt;~/.zshrc&lt;/code&gt; 或其引入的插件与脚本。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;2-定位嫌疑插件移除-zshrc-中的-z-插件&#34;&gt;2) 定位“嫌疑插件”：移除 &lt;code&gt;~/.zshrc&lt;/code&gt; 中的 &lt;code&gt;z&lt;/code&gt; 插件&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;打开 &lt;code&gt;~/.zshrc&lt;/code&gt;，从 &lt;code&gt;plugins=(...)&lt;/code&gt; 中移除 &lt;code&gt;z&lt;/code&gt;，保存退出，重新打开终端。&lt;/li&gt;
&lt;li&gt;如果卡顿消失，进一步确认 &lt;code&gt;z&lt;/code&gt; 插件就是主要原因。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;3-清理-z-插件数据库删除家目录下的-z-数据文件&#34;&gt;3) 清理 &lt;code&gt;z&lt;/code&gt; 插件数据库：删除家目录下的 &lt;code&gt;.z&lt;/code&gt; 数据文件&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;z&lt;/code&gt; 插件默认会在家目录存储路径权重数据库，文件名通常为 &lt;code&gt;~/.z&lt;/code&gt;（可能还有备份，比如 &lt;code&gt;~/.z.1&lt;/code&gt; 等）。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;执行：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;rm -f ~/.z ~/.z.*
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;注意：只删除 &lt;code&gt;.z&lt;/code&gt; 及其备份，勿用宽泛的通配符误删其他以 &lt;code&gt;.z&lt;/code&gt; 开头的配置文件（例如 &lt;code&gt;~/.zshrc&lt;/code&gt;、&lt;code&gt;~/.zsh_history&lt;/code&gt; 等）。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;4-验证&#34;&gt;4) 验证&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;再次启动 Git Bash，观察输入响应与命令执行返回。若明显恢复正常，则问题确认并解决。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;三更多可能导致终端卡顿的原因与优化方法&#34;&gt;三、更多可能导致终端卡顿的原因与优化方法&lt;/h2&gt;
&lt;p&gt;下面按层次列出常见瓶颈与处理策略。建议从“快速隔离”到“逐步优化”依次进行。&lt;/p&gt;
&lt;h3 id=&#34;a-zsh-配置与插件层面&#34;&gt;A. zsh 配置与插件层面&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;用 &lt;code&gt;zsh -f&lt;/code&gt; 快速隔离：先确认卡顿是否源自 &lt;code&gt;~/.zshrc&lt;/code&gt;。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;用内置性能分析：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;在交互会话里执行：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;zmodload zsh/zprof
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;source&lt;/span&gt; ~/.zshrc
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;zprof
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;查看哪个函数或插件耗时最多，针对性优化或禁用。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;精简/优化高开销插件：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;zsh-autosuggestions&lt;/code&gt;：在超长历史或远程磁盘上可能放大延迟，必要时暂时禁用。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;zsh-syntax-highlighting&lt;/code&gt;：对超长命令行或复杂高亮也可能造成卡顿，可移到 &lt;code&gt;~/.zshrc&lt;/code&gt; 最末加载或暂时禁用。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;git&lt;/code&gt; 相关主题/段：提示符中显示仓库状态若每次刷新都做代价高的检测，易导致卡顿（详见下一节）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;清理与限制缓存/历史：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;删除过期的 &lt;code&gt;~/.zcompdump*&lt;/code&gt; 文件，让补全缓存重新生成：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;rm -f ~/.zcompdump*
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;compinit -C
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;限制历史大小，避免历史过大：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;HISTSIZE&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;5000&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;SAVEHIST&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;5000&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;必要时压缩或清理 &lt;code&gt;~/.zsh_history&lt;/code&gt;（先备份，再用专门工具或谨慎操作）。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;优化补全与缓存（选做）：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 开启补全缓存（需确保缓存目录存在）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;zstyle &lt;span class=&#34;s1&#34;&gt;&amp;#39;:completion:*&amp;#39;&lt;/span&gt; use-cache on
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;zstyle &lt;span class=&#34;s1&#34;&gt;&amp;#39;:completion:*&amp;#39;&lt;/span&gt; cache-path &lt;span class=&#34;nv&#34;&gt;$HOME&lt;/span&gt;/.zsh/cache
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;控制 &lt;code&gt;PATH&lt;/code&gt; 长度与重复项：超长 &lt;code&gt;PATH&lt;/code&gt; 或大量网络路径会增加命令解析成本，去重并移除不必要条目。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;跳转插件替代：如果依赖频繁路径跳转，可以考虑更高性能的 &lt;code&gt;zoxide&lt;/code&gt;（Rust 实现，跨平台），或使用 &lt;code&gt;fzf&lt;/code&gt; + &lt;code&gt;cd&lt;/code&gt; 组合实现快速导航。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;b-git-状态提示符层面对大型仓库尤其重要&#34;&gt;B. Git 状态/提示符层面（对大型仓库尤其重要）&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;减少提示符的 Git 状态开销：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;如果使用 oh-my-zsh 的 &lt;code&gt;git&lt;/code&gt; 主题段，可以只显示分支名，不显示“脏状态”（新增/删除/未跟踪），显著减少每次刷新调用：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;DISABLE_UNTRACKED_FILES_DIRTY&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;true&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;避免在 &lt;code&gt;PROMPT&lt;/code&gt; 或 &lt;code&gt;RPROMPT&lt;/code&gt; 中触发完整的 &lt;code&gt;git status&lt;/code&gt;（尤其是有大量未跟踪文件时）。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;提升 Git 的基础性能（全局设置，温和安全）：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git config --global core.preloadIndex &lt;span class=&#34;nb&#34;&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git config --global core.fscache &lt;span class=&#34;nb&#34;&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git config --global gc.writeCommitGraph &lt;span class=&#34;nb&#34;&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git maintenance start
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;说明：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;core.preloadIndex&lt;/code&gt; 与 &lt;code&gt;core.fscache&lt;/code&gt; 常见于 Git for Windows 的加速选项（新版本多为默认开启，显式配置更稳妥）。&lt;/li&gt;
&lt;li&gt;写入 commit-graph 与开启维护任务，可以加速多种 Git 操作（包括 &lt;code&gt;status&lt;/code&gt;、&lt;code&gt;log&lt;/code&gt; 等），对大仓库尤为明显。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;仅在确定版本支持的情况下考虑文件监控（fsmonitor）：新版本 Git 在 Windows 上逐步完善内置 FS 监控特性，能减少反复扫描文件系统的成本。建议升级到较新的 Git for Windows 后再查阅对应版本说明开启；旧版或不支持时不要启用。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;c-终端系统层面windows&#34;&gt;C. 终端/系统层面（Windows）&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;升级工具与组件：
&lt;ul&gt;
&lt;li&gt;升级到最新的 Git for Windows。&lt;/li&gt;
&lt;li&gt;如果使用外部终端（如 Windows Terminal），留意 ConPTY 后端的兼容参数；不同设置在部分环境下会影响交互流畅度。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;杀毒/安全软件与索引扫描：
&lt;ul&gt;
&lt;li&gt;为 &lt;code&gt;C:\Program Files\Git\&lt;/code&gt; 安装目录与主要仓库路径添加实时扫描排除规则，避免每次命令触发大量 I/O 扫描。&lt;/li&gt;
&lt;li&gt;避免在网络盘、同步盘（如 OneDrive）或被系统索引服务重度扫描的目录中工作。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;字体与渲染：
&lt;ul&gt;
&lt;li&gt;某些 Nerd Font 或高开销渲染配置在低配环境下也会造成刷新卡顿，可换用常规字体测试。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;四快速排查与操作清单可直接拿来用&#34;&gt;四、快速排查与操作清单（可直接拿来用）&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;干净启动，判断是否为配置问题：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;zsh -f
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;性能画像（找出最慢的函数/插件）：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;zmodload zsh/zprof
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;source&lt;/span&gt; ~/.zshrc
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;zprof
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;移除 &lt;code&gt;z&lt;/code&gt; 插件，并清理数据库：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;编辑 &lt;code&gt;~/.zshrc&lt;/code&gt;，从 &lt;code&gt;plugins=(...)&lt;/code&gt; 中删除 &lt;code&gt;z&lt;/code&gt;；&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;删除数据库文件：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;rm -f ~/.z ~/.z.*
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;限制 Git 状态显示开销（oh-my-zsh）：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;DISABLE_UNTRACKED_FILES_DIRTY&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;true&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;提升 Git 基础性能（全局）：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git config --global core.preloadIndex &lt;span class=&#34;nb&#34;&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git config --global core.fscache &lt;span class=&#34;nb&#34;&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git config --global gc.writeCommitGraph &lt;span class=&#34;nb&#34;&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git maintenance start
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;清理补全缓存并快速初始化：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;rm -f ~/.zcompdump*
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;compinit -C
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;五结语&#34;&gt;五、结语&lt;/h2&gt;
&lt;p&gt;这次卡顿的根因是 &lt;code&gt;z&lt;/code&gt; 插件的路径数据库过大，移除插件并清理 &lt;code&gt;.z&lt;/code&gt; 数据后问题即刻消失。更通用的经验是：先用 &lt;code&gt;zsh -f&lt;/code&gt; 快速隔离，再用 &lt;code&gt;zprof&lt;/code&gt; 定位耗时点&lt;/p&gt;
</description>
      <content:encoded><![CDATA[<p>当终端出现输入卡顿、命令执行后迟迟“回不来”的情况，往往不是单一因素导致。本文记录了我在 Git Bash 上的排查过程：最终发现是 oh-my-zsh 的 <code>z</code> 插件在家目录累积了大量 <code>.z</code> 数据文件，引发了明显的慢响应。同时也整理了一份更系统的优化与排错清单，帮助你快速定位并消除常见的性能瓶颈。</p>
<h2 id="一现象与环境">一、现象与环境</h2>
<ul>
<li>Git Bash 终端卡顿：输入有明显延迟，命令执行后迟迟不返回提示符。</li>
<li>使用的是 <code>zsh</code>（配合 oh-my-zsh），启用了包括 <code>z</code> 在内的多个插件。</li>
<li>家目录出现了很多 <code>.z</code> 相关文件（<code>z</code> 插件的跳转数据库），怀疑数据库过大导致慢响应。</li>
</ul>
<h2 id="二我的排查与解决过程">二、我的排查与解决过程</h2>
<h3 id="1-先隔离配置用干净的-zsh--f-启动">1) 先隔离配置：用干净的 <code>zsh -f</code> 启动</h3>
<ul>
<li><code>zsh -f</code> 会在不加载 <code>~/.zshrc</code> 的前提下启动一个“空配置”的 zsh，能快速判断是否是配置或插件导致问题。</li>
<li>如果 <code>zsh -f</code> 下终端恢复顺畅，基本可以确定问题在 <code>~/.zshrc</code> 或其引入的插件与脚本。</li>
</ul>
<h3 id="2-定位嫌疑插件移除-zshrc-中的-z-插件">2) 定位“嫌疑插件”：移除 <code>~/.zshrc</code> 中的 <code>z</code> 插件</h3>
<ul>
<li>打开 <code>~/.zshrc</code>，从 <code>plugins=(...)</code> 中移除 <code>z</code>，保存退出，重新打开终端。</li>
<li>如果卡顿消失，进一步确认 <code>z</code> 插件就是主要原因。</li>
</ul>
<h3 id="3-清理-z-插件数据库删除家目录下的-z-数据文件">3) 清理 <code>z</code> 插件数据库：删除家目录下的 <code>.z</code> 数据文件</h3>
<ul>
<li>
<p><code>z</code> 插件默认会在家目录存储路径权重数据库，文件名通常为 <code>~/.z</code>（可能还有备份，比如 <code>~/.z.1</code> 等）。</p>
</li>
<li>
<p>执行：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">rm -f ~/.z ~/.z.*
</span></span></code></pre></div><p>注意：只删除 <code>.z</code> 及其备份，勿用宽泛的通配符误删其他以 <code>.z</code> 开头的配置文件（例如 <code>~/.zshrc</code>、<code>~/.zsh_history</code> 等）。</p>
</li>
</ul>
<h3 id="4-验证">4) 验证</h3>
<ul>
<li>再次启动 Git Bash，观察输入响应与命令执行返回。若明显恢复正常，则问题确认并解决。</li>
</ul>
<h2 id="三更多可能导致终端卡顿的原因与优化方法">三、更多可能导致终端卡顿的原因与优化方法</h2>
<p>下面按层次列出常见瓶颈与处理策略。建议从“快速隔离”到“逐步优化”依次进行。</p>
<h3 id="a-zsh-配置与插件层面">A. zsh 配置与插件层面</h3>
<ul>
<li>
<p>用 <code>zsh -f</code> 快速隔离：先确认卡顿是否源自 <code>~/.zshrc</code>。</p>
</li>
<li>
<p>用内置性能分析：</p>
<ol>
<li>
<p>在交互会话里执行：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">zmodload zsh/zprof
</span></span><span class="line"><span class="cl"><span class="nb">source</span> ~/.zshrc
</span></span><span class="line"><span class="cl">zprof
</span></span></code></pre></div></li>
<li>
<p>查看哪个函数或插件耗时最多，针对性优化或禁用。</p>
</li>
</ol>
</li>
<li>
<p>精简/优化高开销插件：</p>
<ul>
<li><code>zsh-autosuggestions</code>：在超长历史或远程磁盘上可能放大延迟，必要时暂时禁用。</li>
<li><code>zsh-syntax-highlighting</code>：对超长命令行或复杂高亮也可能造成卡顿，可移到 <code>~/.zshrc</code> 最末加载或暂时禁用。</li>
<li><code>git</code> 相关主题/段：提示符中显示仓库状态若每次刷新都做代价高的检测，易导致卡顿（详见下一节）。</li>
</ul>
</li>
<li>
<p>清理与限制缓存/历史：</p>
<ul>
<li>
<p>删除过期的 <code>~/.zcompdump*</code> 文件，让补全缓存重新生成：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">rm -f ~/.zcompdump*
</span></span><span class="line"><span class="cl">compinit -C
</span></span></code></pre></div></li>
<li>
<p>限制历史大小，避免历史过大：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="nb">export</span> <span class="nv">HISTSIZE</span><span class="o">=</span><span class="m">5000</span>
</span></span><span class="line"><span class="cl"><span class="nb">export</span> <span class="nv">SAVEHIST</span><span class="o">=</span><span class="m">5000</span>
</span></span></code></pre></div></li>
<li>
<p>必要时压缩或清理 <code>~/.zsh_history</code>（先备份，再用专门工具或谨慎操作）。</p>
</li>
</ul>
</li>
<li>
<p>优化补全与缓存（选做）：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># 开启补全缓存（需确保缓存目录存在）</span>
</span></span><span class="line"><span class="cl">zstyle <span class="s1">&#39;:completion:*&#39;</span> use-cache on
</span></span><span class="line"><span class="cl">zstyle <span class="s1">&#39;:completion:*&#39;</span> cache-path <span class="nv">$HOME</span>/.zsh/cache
</span></span></code></pre></div></li>
<li>
<p>控制 <code>PATH</code> 长度与重复项：超长 <code>PATH</code> 或大量网络路径会增加命令解析成本，去重并移除不必要条目。</p>
</li>
<li>
<p>跳转插件替代：如果依赖频繁路径跳转，可以考虑更高性能的 <code>zoxide</code>（Rust 实现，跨平台），或使用 <code>fzf</code> + <code>cd</code> 组合实现快速导航。</p>
</li>
</ul>
<h3 id="b-git-状态提示符层面对大型仓库尤其重要">B. Git 状态/提示符层面（对大型仓库尤其重要）</h3>
<ul>
<li>
<p>减少提示符的 Git 状态开销：</p>
<ul>
<li>
<p>如果使用 oh-my-zsh 的 <code>git</code> 主题段，可以只显示分支名，不显示“脏状态”（新增/删除/未跟踪），显著减少每次刷新调用：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="nb">export</span> <span class="nv">DISABLE_UNTRACKED_FILES_DIRTY</span><span class="o">=</span><span class="s2">&#34;true&#34;</span>
</span></span></code></pre></div></li>
<li>
<p>避免在 <code>PROMPT</code> 或 <code>RPROMPT</code> 中触发完整的 <code>git status</code>（尤其是有大量未跟踪文件时）。</p>
</li>
</ul>
</li>
<li>
<p>提升 Git 的基础性能（全局设置，温和安全）：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">git config --global core.preloadIndex <span class="nb">true</span>
</span></span><span class="line"><span class="cl">git config --global core.fscache <span class="nb">true</span>
</span></span><span class="line"><span class="cl">git config --global gc.writeCommitGraph <span class="nb">true</span>
</span></span><span class="line"><span class="cl">git maintenance start
</span></span></code></pre></div><p>说明：</p>
<ul>
<li><code>core.preloadIndex</code> 与 <code>core.fscache</code> 常见于 Git for Windows 的加速选项（新版本多为默认开启，显式配置更稳妥）。</li>
<li>写入 commit-graph 与开启维护任务，可以加速多种 Git 操作（包括 <code>status</code>、<code>log</code> 等），对大仓库尤为明显。</li>
</ul>
</li>
<li>
<p>仅在确定版本支持的情况下考虑文件监控（fsmonitor）：新版本 Git 在 Windows 上逐步完善内置 FS 监控特性，能减少反复扫描文件系统的成本。建议升级到较新的 Git for Windows 后再查阅对应版本说明开启；旧版或不支持时不要启用。</p>
</li>
</ul>
<h3 id="c-终端系统层面windows">C. 终端/系统层面（Windows）</h3>
<ul>
<li>升级工具与组件：
<ul>
<li>升级到最新的 Git for Windows。</li>
<li>如果使用外部终端（如 Windows Terminal），留意 ConPTY 后端的兼容参数；不同设置在部分环境下会影响交互流畅度。</li>
</ul>
</li>
<li>杀毒/安全软件与索引扫描：
<ul>
<li>为 <code>C:\Program Files\Git\</code> 安装目录与主要仓库路径添加实时扫描排除规则，避免每次命令触发大量 I/O 扫描。</li>
<li>避免在网络盘、同步盘（如 OneDrive）或被系统索引服务重度扫描的目录中工作。</li>
</ul>
</li>
<li>字体与渲染：
<ul>
<li>某些 Nerd Font 或高开销渲染配置在低配环境下也会造成刷新卡顿，可换用常规字体测试。</li>
</ul>
</li>
</ul>
<h2 id="四快速排查与操作清单可直接拿来用">四、快速排查与操作清单（可直接拿来用）</h2>
<ul>
<li>
<p>干净启动，判断是否为配置问题：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">zsh -f
</span></span></code></pre></div></li>
<li>
<p>性能画像（找出最慢的函数/插件）：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">zmodload zsh/zprof
</span></span><span class="line"><span class="cl"><span class="nb">source</span> ~/.zshrc
</span></span><span class="line"><span class="cl">zprof
</span></span></code></pre></div></li>
<li>
<p>移除 <code>z</code> 插件，并清理数据库：</p>
<ol>
<li>
<p>编辑 <code>~/.zshrc</code>，从 <code>plugins=(...)</code> 中删除 <code>z</code>；</p>
</li>
<li>
<p>删除数据库文件：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">rm -f ~/.z ~/.z.*
</span></span></code></pre></div></li>
</ol>
</li>
<li>
<p>限制 Git 状态显示开销（oh-my-zsh）：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="nb">export</span> <span class="nv">DISABLE_UNTRACKED_FILES_DIRTY</span><span class="o">=</span><span class="s2">&#34;true&#34;</span>
</span></span></code></pre></div></li>
<li>
<p>提升 Git 基础性能（全局）：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">git config --global core.preloadIndex <span class="nb">true</span>
</span></span><span class="line"><span class="cl">git config --global core.fscache <span class="nb">true</span>
</span></span><span class="line"><span class="cl">git config --global gc.writeCommitGraph <span class="nb">true</span>
</span></span><span class="line"><span class="cl">git maintenance start
</span></span></code></pre></div></li>
<li>
<p>清理补全缓存并快速初始化：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">rm -f ~/.zcompdump*
</span></span><span class="line"><span class="cl">compinit -C
</span></span></code></pre></div></li>
</ul>
<h2 id="五结语">五、结语</h2>
<p>这次卡顿的根因是 <code>z</code> 插件的路径数据库过大，移除插件并清理 <code>.z</code> 数据后问题即刻消失。更通用的经验是：先用 <code>zsh -f</code> 快速隔离，再用 <code>zprof</code> 定位耗时点</p>
]]></content:encoded>
    </item>
    <item>
      <title>oh-my-zsh 让你的终端更加顺手（眼）</title>
      <link>https://lifeislife.cn/posts/oh-my-zsh%E8%AE%A9%E4%BD%A0%E7%9A%84%E7%BB%88%E7%AB%AF%E6%9B%B4%E5%8A%A0%E9%A1%BA%E6%89%8B%E7%9C%BC/</link>
      <pubDate>Sun, 29 Aug 2021 09:56:21 +0000</pubDate>
      <guid>https://lifeislife.cn/posts/oh-my-zsh%E8%AE%A9%E4%BD%A0%E7%9A%84%E7%BB%88%E7%AB%AF%E6%9B%B4%E5%8A%A0%E9%A1%BA%E6%89%8B%E7%9C%BC/</guid>
      <description>&lt;h2 id=&#34;效果&#34;&gt;效果&lt;/h2&gt;
&lt;p&gt;主题：evan&lt;/p&gt;
&lt;p&gt;

&lt;!DOCTYPE html&gt;
&lt;html lang=&#34;en&#34;&gt;
&lt;head&gt;
    &lt;meta charset=&#34;UTF-8&#34;&gt;
    &lt;meta name=&#34;viewport&#34; content=&#34;width=device-width, initial-scale=1.0&#34;&gt;
    &lt;title&gt;Responsive Image&lt;/title&gt;
    &lt;style&gt;
        .post-img-view {
            text-align: center;
        }
        .responsive-image {
            display: block;
            margin: 0 auto;
        }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
    
    &lt;div class=&#34;post-img-view&#34;&gt;
        &lt;a data-fancybox=&#34;gallery&#34; href=&#34;https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img//2022/09/11/12-36-00-26c3a41581cb4dc000d8c78d6ca8a8ce-20220911123600-4f3a26.png&#34;&gt;
            &lt;img class=&#34;responsive-image&#34; src=&#34;https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img//2022/09/11/12-36-00-26c3a41581cb4dc000d8c78d6ca8a8ce-20220911123600-4f3a26.png&#34; alt=&#34;&#34;  style=&#34;margin: 0 auto;&#34;/&gt;
        &lt;/a&gt;
    &lt;/div&gt;
    

    &lt;script&gt;
        document.addEventListener(&#34;DOMContentLoaded&#34;, function() {
            var images = document.querySelectorAll(&#34;.responsive-image&#34;);
            var maxHeight = window.innerHeight / 3;
            images.forEach(function(image) {
                image.style.maxHeight = maxHeight + &#34;px&#34;;
            });
        });
    &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;&lt;/p&gt;
&lt;p&gt;主题：dallas&lt;/p&gt;
&lt;p&gt;

&lt;!DOCTYPE html&gt;
&lt;html lang=&#34;en&#34;&gt;
&lt;head&gt;
    &lt;meta charset=&#34;UTF-8&#34;&gt;
    &lt;meta name=&#34;viewport&#34; content=&#34;width=device-width, initial-scale=1.0&#34;&gt;
    &lt;title&gt;Responsive Image&lt;/title&gt;
    &lt;style&gt;
        .post-img-view {
            text-align: center;
        }
        .responsive-image {
            display: block;
            margin: 0 auto;
        }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
    
    &lt;div class=&#34;post-img-view&#34;&gt;
        &lt;a data-fancybox=&#34;gallery&#34; href=&#34;https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img//2022/09/11/12-36-51-167fdec4a32cab8991e86880c5f8ca19-20220911123650-efd6fd.png&#34;&gt;
            &lt;img class=&#34;responsive-image&#34; src=&#34;https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img//2022/09/11/12-36-51-167fdec4a32cab8991e86880c5f8ca19-20220911123650-efd6fd.png&#34; alt=&#34;&#34;  style=&#34;margin: 0 auto;&#34;/&gt;
        &lt;/a&gt;
    &lt;/div&gt;
    

    &lt;script&gt;
        document.addEventListener(&#34;DOMContentLoaded&#34;, function() {
            var images = document.querySelectorAll(&#34;.responsive-image&#34;);
            var maxHeight = window.innerHeight / 3;
            images.forEach(function(image) {
                image.style.maxHeight = maxHeight + &#34;px&#34;;
            });
        });
    &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;&lt;/p&gt;
&lt;p&gt;主题：robbyrussell&lt;/p&gt;
&lt;p&gt;

&lt;!DOCTYPE html&gt;
&lt;html lang=&#34;en&#34;&gt;
&lt;head&gt;
    &lt;meta charset=&#34;UTF-8&#34;&gt;
    &lt;meta name=&#34;viewport&#34; content=&#34;width=device-width, initial-scale=1.0&#34;&gt;
    &lt;title&gt;Responsive Image&lt;/title&gt;
    &lt;style&gt;
        .post-img-view {
            text-align: center;
        }
        .responsive-image {
            display: block;
            margin: 0 auto;
        }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
    
    &lt;div class=&#34;post-img-view&#34;&gt;
        &lt;a data-fancybox=&#34;gallery&#34; href=&#34;https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img//2022/09/11/12-37-28-73012302d8cccf379a5f7664265e5c26-20220911123727-adbe5e.png&#34;&gt;
            &lt;img class=&#34;responsive-image&#34; src=&#34;https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img//2022/09/11/12-37-28-73012302d8cccf379a5f7664265e5c26-20220911123727-adbe5e.png&#34; alt=&#34;&#34;  style=&#34;margin: 0 auto;&#34;/&gt;
        &lt;/a&gt;
    &lt;/div&gt;
    

    &lt;script&gt;
        document.addEventListener(&#34;DOMContentLoaded&#34;, function() {
            var images = document.querySelectorAll(&#34;.responsive-image&#34;);
            var maxHeight = window.innerHeight / 3;
            images.forEach(function(image) {
                image.style.maxHeight = maxHeight + &#34;px&#34;;
            });
        });
    &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;&lt;/p&gt;
&lt;h2 id=&#34;如果原先其他电脑安装过&#34;&gt;如果原先其他电脑安装过&lt;/h2&gt;
&lt;p&gt;把&lt;code&gt;.oh-my-zsh&lt;/code&gt;整个文件夹，&lt;code&gt;.zshrc&lt;/code&gt;，&lt;code&gt;.zsh_history&lt;/code&gt;复制到&lt;code&gt;/home/user/&lt;/code&gt;目录；&lt;/p&gt;
&lt;p&gt;安装&lt;code&gt;zsh&lt;/code&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-C++&#34; data-lang=&#34;C++&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;sudo&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;apt&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;install&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;zsh&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;切换&lt;code&gt;shell&lt;/code&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-C++&#34; data-lang=&#34;C++&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;chsh&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;s&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;bin&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;zsh&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-C++&#34; data-lang=&#34;C++&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;source&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;~/&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;zshrc&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;即可使用。所有配置都会和原先一样。&lt;/p&gt;
&lt;h2 id=&#34;如果是新安装&#34;&gt;如果是新安装&lt;/h2&gt;
&lt;p&gt;官方方法，&lt;code&gt;curl&lt;/code&gt;和&lt;code&gt;wget&lt;/code&gt;二选一即可&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;应该也有人和我一样，可能会遇到连接 GitHub 失败的问题，要不就是 SSL 验证失败，要不就是连接无响应。可以更换下面的方法。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;# 先下载
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;## 再替换
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;重启终端即可成功。&lt;/p&gt;
&lt;p&gt;如果无法访问 GitHub，其实&lt;code&gt;oh-my-zsh&lt;/code&gt;并不需要安装，完整的工程就是&lt;code&gt;oh-my-zsh&lt;/code&gt;本体，只要想办法把整个工程下载下来，并重命名为&lt;code&gt;oh-my-zsh&lt;/code&gt;即可。所以找找 gitee 有没有相关工程。这也是为什么从旧电脑里直接复制&lt;code&gt;.oh-my-zsh&lt;/code&gt;就能用的原因。&lt;/p&gt;
&lt;h2 id=&#34;插件安装&#34;&gt;插件安装&lt;/h2&gt;
&lt;h3 id=&#34;自动补全命令&#34;&gt;自动补全命令&lt;/h3&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git clone https://github.com/zsh-users/zsh-autosuggestions ~/.oh-my-zsh/custom/plugins/zsh-autosuggestions
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;plugins&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=(&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        zsh-autosuggestions
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;彩色ls&#34;&gt;彩色ls&lt;/h3&gt;
&lt;p&gt;

&lt;!DOCTYPE html&gt;
&lt;html lang=&#34;en&#34;&gt;
&lt;head&gt;
    &lt;meta charset=&#34;UTF-8&#34;&gt;
    &lt;meta name=&#34;viewport&#34; content=&#34;width=device-width, initial-scale=1.0&#34;&gt;
    &lt;title&gt;Responsive Image&lt;/title&gt;
    &lt;style&gt;
        .post-img-view {
            text-align: center;
        }
        .responsive-image {
            display: block;
            margin: 0 auto;
        }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
    
    &lt;div class=&#34;post-img-view&#34;&gt;
        &lt;a data-fancybox=&#34;gallery&#34; href=&#34;https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img//2024/09/08/8b288e971890f861c9c8dfabc88bafdc.png&#34;&gt;
            &lt;img class=&#34;responsive-image&#34; src=&#34;https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img//2024/09/08/8b288e971890f861c9c8dfabc88bafdc.png&#34; alt=&#34;&#34;  style=&#34;margin: 0 auto;&#34;/&gt;
        &lt;/a&gt;
    &lt;/div&gt;
    

    &lt;script&gt;
        document.addEventListener(&#34;DOMContentLoaded&#34;, function() {
            var images = document.querySelectorAll(&#34;.responsive-image&#34;);
            var maxHeight = window.innerHeight / 3;
            images.forEach(function(image) {
                image.style.maxHeight = maxHeight + &#34;px&#34;;
            });
        });
    &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apt install lsd
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;如果没有软件包，说明系统版本老旧，可以直接前往&lt;code&gt;https://github.com/lsd-rs/lsd/releases&lt;/code&gt;下载二进制包安装：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo dpkg -i lsd-musl_1.1.5_amd64.deb
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;添加别名：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;alias&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;ls&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;lsd&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;alias&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;l&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;ls -l&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;alias&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;ll&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;ls -al&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;alias&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;la&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;ls -a&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;alias&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;lt&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;ls --tree&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;命令行命令高亮&#34;&gt;命令行命令高亮&lt;/h3&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git clone https://github.com/zdharma-continuum/fast-syntax-highlighting.git ~/.oh-my-zsh/custom/plugins/fast-syntax-highlighting
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;plugins&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=(&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        fast-syntax-highlighting
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;别名提示纠正&#34;&gt;别名提示纠正&lt;/h3&gt;
&lt;p&gt;如果命令有缩写别名，提示下次使用建议的别名。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git clone https://github.com/MichaelAquilina/zsh-you-should-use.git  ~/.oh-my-zsh/custom/plugins/you-should-use
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;plugins&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=(&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        git
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        extract
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        sudo
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        z
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        thefuck
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        zsh-autosuggestions
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        you-should-use
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        fast-syntax-highlighting
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;问题&#34;&gt;问题&lt;/h2&gt;
&lt;h3 id=&#34;oh-my-zshsh-parse-error-near-&#34;&gt;oh-my-zsh.sh parse error near `&amp;laquo;&amp;lt;&#39;&lt;/h3&gt;
&lt;p&gt;一般是在更新&lt;code&gt;oh-my-zsh&lt;/code&gt;时出现，因为更新相当于就是从远程拉取了内容，可能本地的&lt;code&gt;oh-my-zsh.sh&lt;/code&gt;脚本自己做了修改与远程冲突了。只要退回上个版本，重新拉取就可以了。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-Bash&#34; data-lang=&#34;Bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$ZSH&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git reset --hard HEAD^
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git pull --rebase
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;如果本地修改了一些内容需要保留，可以打开&lt;code&gt;oh-my-zsh.sh&lt;/code&gt;看看冲突在哪，自己做个备份，保存一下。&lt;/p&gt;
</description>
      <content:encoded><![CDATA[<h2 id="效果">效果</h2>
<p>主题：evan</p>
<p>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Responsive Image</title>
    <style>
        .post-img-view {
            text-align: center;
        }
        .responsive-image {
            display: block;
            margin: 0 auto;
        }
    </style>
</head>
<body>
    
    <div class="post-img-view">
        <a data-fancybox="gallery" href="https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img//2022/09/11/12-36-00-26c3a41581cb4dc000d8c78d6ca8a8ce-20220911123600-4f3a26.png">
            <img class="responsive-image" src="https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img//2022/09/11/12-36-00-26c3a41581cb4dc000d8c78d6ca8a8ce-20220911123600-4f3a26.png" alt=""  style="margin: 0 auto;"/>
        </a>
    </div>
    

    <script>
        document.addEventListener("DOMContentLoaded", function() {
            var images = document.querySelectorAll(".responsive-image");
            var maxHeight = window.innerHeight / 3;
            images.forEach(function(image) {
                image.style.maxHeight = maxHeight + "px";
            });
        });
    </script>
</body>
</html></p>
<p>主题：dallas</p>
<p>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Responsive Image</title>
    <style>
        .post-img-view {
            text-align: center;
        }
        .responsive-image {
            display: block;
            margin: 0 auto;
        }
    </style>
</head>
<body>
    
    <div class="post-img-view">
        <a data-fancybox="gallery" href="https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img//2022/09/11/12-36-51-167fdec4a32cab8991e86880c5f8ca19-20220911123650-efd6fd.png">
            <img class="responsive-image" src="https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img//2022/09/11/12-36-51-167fdec4a32cab8991e86880c5f8ca19-20220911123650-efd6fd.png" alt=""  style="margin: 0 auto;"/>
        </a>
    </div>
    

    <script>
        document.addEventListener("DOMContentLoaded", function() {
            var images = document.querySelectorAll(".responsive-image");
            var maxHeight = window.innerHeight / 3;
            images.forEach(function(image) {
                image.style.maxHeight = maxHeight + "px";
            });
        });
    </script>
</body>
</html></p>
<p>主题：robbyrussell</p>
<p>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Responsive Image</title>
    <style>
        .post-img-view {
            text-align: center;
        }
        .responsive-image {
            display: block;
            margin: 0 auto;
        }
    </style>
</head>
<body>
    
    <div class="post-img-view">
        <a data-fancybox="gallery" href="https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img//2022/09/11/12-37-28-73012302d8cccf379a5f7664265e5c26-20220911123727-adbe5e.png">
            <img class="responsive-image" src="https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img//2022/09/11/12-37-28-73012302d8cccf379a5f7664265e5c26-20220911123727-adbe5e.png" alt=""  style="margin: 0 auto;"/>
        </a>
    </div>
    

    <script>
        document.addEventListener("DOMContentLoaded", function() {
            var images = document.querySelectorAll(".responsive-image");
            var maxHeight = window.innerHeight / 3;
            images.forEach(function(image) {
                image.style.maxHeight = maxHeight + "px";
            });
        });
    </script>
</body>
</html></p>
<h2 id="如果原先其他电脑安装过">如果原先其他电脑安装过</h2>
<p>把<code>.oh-my-zsh</code>整个文件夹，<code>.zshrc</code>，<code>.zsh_history</code>复制到<code>/home/user/</code>目录；</p>
<p>安装<code>zsh</code></p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-C++" data-lang="C++"><span class="line"><span class="cl"><span class="n">sudo</span> <span class="n">apt</span> <span class="n">install</span> <span class="n">zsh</span>
</span></span></code></pre></div><p>切换<code>shell</code></p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-C++" data-lang="C++"><span class="line"><span class="cl"><span class="n">chsh</span> <span class="o">-</span><span class="n">s</span> <span class="o">/</span><span class="n">bin</span><span class="o">/</span><span class="n">zsh</span>
</span></span></code></pre></div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-C++" data-lang="C++"><span class="line"><span class="cl"><span class="n">source</span> <span class="o">~/</span><span class="p">.</span><span class="n">zshrc</span>
</span></span></code></pre></div><p>即可使用。所有配置都会和原先一样。</p>
<h2 id="如果是新安装">如果是新安装</h2>
<p>官方方法，<code>curl</code>和<code>wget</code>二选一即可</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl">curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh
</span></span><span class="line"><span class="cl">wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh
</span></span></code></pre></div><p>应该也有人和我一样，可能会遇到连接 GitHub 失败的问题，要不就是 SSL 验证失败，要不就是连接无响应。可以更换下面的方法。</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-text" data-lang="text"><span class="line"><span class="cl"># 先下载
</span></span><span class="line"><span class="cl">git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh
</span></span><span class="line"><span class="cl">## 再替换
</span></span><span class="line"><span class="cl">cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
</span></span></code></pre></div><p>重启终端即可成功。</p>
<p>如果无法访问 GitHub，其实<code>oh-my-zsh</code>并不需要安装，完整的工程就是<code>oh-my-zsh</code>本体，只要想办法把整个工程下载下来，并重命名为<code>oh-my-zsh</code>即可。所以找找 gitee 有没有相关工程。这也是为什么从旧电脑里直接复制<code>.oh-my-zsh</code>就能用的原因。</p>
<h2 id="插件安装">插件安装</h2>
<h3 id="自动补全命令">自动补全命令</h3>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">git clone https://github.com/zsh-users/zsh-autosuggestions ~/.oh-my-zsh/custom/plugins/zsh-autosuggestions
</span></span></code></pre></div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="nv">plugins</span><span class="o">=(</span>
</span></span><span class="line"><span class="cl">        zsh-autosuggestions
</span></span><span class="line"><span class="cl">        <span class="o">)</span>
</span></span></code></pre></div><h3 id="彩色ls">彩色ls</h3>
<p>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Responsive Image</title>
    <style>
        .post-img-view {
            text-align: center;
        }
        .responsive-image {
            display: block;
            margin: 0 auto;
        }
    </style>
</head>
<body>
    
    <div class="post-img-view">
        <a data-fancybox="gallery" href="https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img//2024/09/08/8b288e971890f861c9c8dfabc88bafdc.png">
            <img class="responsive-image" src="https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img//2024/09/08/8b288e971890f861c9c8dfabc88bafdc.png" alt=""  style="margin: 0 auto;"/>
        </a>
    </div>
    

    <script>
        document.addEventListener("DOMContentLoaded", function() {
            var images = document.querySelectorAll(".responsive-image");
            var maxHeight = window.innerHeight / 3;
            images.forEach(function(image) {
                image.style.maxHeight = maxHeight + "px";
            });
        });
    </script>
</body>
</html></p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">sudo apt install lsd
</span></span></code></pre></div><p>如果没有软件包，说明系统版本老旧，可以直接前往<code>https://github.com/lsd-rs/lsd/releases</code>下载二进制包安装：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">sudo dpkg -i lsd-musl_1.1.5_amd64.deb
</span></span></code></pre></div><p>添加别名：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="nb">alias</span> <span class="nv">ls</span><span class="o">=</span><span class="s1">&#39;lsd&#39;</span>
</span></span><span class="line"><span class="cl"><span class="nb">alias</span> <span class="nv">l</span><span class="o">=</span><span class="s2">&#34;ls -l&#34;</span>
</span></span><span class="line"><span class="cl"><span class="nb">alias</span> <span class="nv">ll</span><span class="o">=</span><span class="s1">&#39;ls -al&#39;</span>
</span></span><span class="line"><span class="cl"><span class="nb">alias</span> <span class="nv">la</span><span class="o">=</span><span class="s1">&#39;ls -a&#39;</span>
</span></span><span class="line"><span class="cl"><span class="nb">alias</span> <span class="nv">lt</span><span class="o">=</span><span class="s1">&#39;ls --tree&#39;</span>
</span></span></code></pre></div><h3 id="命令行命令高亮">命令行命令高亮</h3>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">git clone https://github.com/zdharma-continuum/fast-syntax-highlighting.git ~/.oh-my-zsh/custom/plugins/fast-syntax-highlighting
</span></span></code></pre></div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="nv">plugins</span><span class="o">=(</span>
</span></span><span class="line"><span class="cl">        fast-syntax-highlighting
</span></span><span class="line"><span class="cl">        <span class="o">)</span>
</span></span></code></pre></div><h3 id="别名提示纠正">别名提示纠正</h3>
<p>如果命令有缩写别名，提示下次使用建议的别名。</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">git clone https://github.com/MichaelAquilina/zsh-you-should-use.git  ~/.oh-my-zsh/custom/plugins/you-should-use
</span></span></code></pre></div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="nv">plugins</span><span class="o">=(</span>
</span></span><span class="line"><span class="cl">        git
</span></span><span class="line"><span class="cl">        extract
</span></span><span class="line"><span class="cl">        sudo
</span></span><span class="line"><span class="cl">        z
</span></span><span class="line"><span class="cl">        thefuck
</span></span><span class="line"><span class="cl">        zsh-autosuggestions
</span></span><span class="line"><span class="cl">        you-should-use
</span></span><span class="line"><span class="cl">        fast-syntax-highlighting
</span></span><span class="line"><span class="cl">        <span class="o">)</span>
</span></span></code></pre></div><h2 id="问题">问题</h2>
<h3 id="oh-my-zshsh-parse-error-near-">oh-my-zsh.sh parse error near `&laquo;&lt;'</h3>
<p>一般是在更新<code>oh-my-zsh</code>时出现，因为更新相当于就是从远程拉取了内容，可能本地的<code>oh-my-zsh.sh</code>脚本自己做了修改与远程冲突了。只要退回上个版本，重新拉取就可以了。</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-Bash" data-lang="Bash"><span class="line"><span class="cl"><span class="nb">cd</span> <span class="nv">$ZSH</span>
</span></span><span class="line"><span class="cl">git reset --hard HEAD^
</span></span><span class="line"><span class="cl">git pull --rebase
</span></span></code></pre></div><p>如果本地修改了一些内容需要保留，可以打开<code>oh-my-zsh.sh</code>看看冲突在哪，自己做个备份，保存一下。</p>
]]></content:encoded>
    </item>
  </channel>
</rss>
