[{"data":1,"prerenderedAt":401},["ShallowReactive",2],{"category-data-折腾笔记":3},[4],{"id":5,"title":6,"body":7,"description":6,"extension":389,"meta":390,"navigation":326,"ogImage":392,"path":397,"seo":398,"stem":399,"__hash__":400},"content/blogs/3. 记录一下我的 zsh 配置.md","记录一下我的 zsh 配置",{"type":8,"value":9,"toc":372},"minimark",[10,14,18,22,25,28,31,34,37,93,96,100,103,106,179,182,201,204,207,211,214,217,237,240,243,245,264,266,273,276,279,282,292,295,298,301,304,307,362,365,368],[11,12,13],"h2",{"id":13},"背景",[15,16,17],"p",{},"最近想写点东西记录一下自己折腾这些工具的经历，之前没想到记录什么，今年实验室的服务器迁移需要重新配置一下 zsh,于是想着干脆顺手写一下自己折腾 zsh 出来的方案。",[11,19,21],{"id":20},"什么是-zsh","什么是 Zsh",[15,23,24],{},"Zsh 也是一种 shell 软件，可以看成是一个更好用的 Bash，目前 MacOS 中的默认 shell 已经是 Zsh 了。Zsh 完全兼容 Bash，拥有极其丰富的插件，其强大的自动补全参数、文件名以及自定义功能，可以大大提高我们使用 Linux 的效率。",[15,26,27],{},"Zsh 可以通过大部分主流 Linux 发行版的包管理器进行安装，若在没有 sudo 权限的服务器上也可以通过conda进行安装。",[11,29,30],{"id":30},"oh-my-zsh",[15,32,33],{},"Zsh 固然好用，但初始时只有白板没有任何插件，距离理想的使用体验还有一些差距，这里我们介绍 oh-my-zsh。",[15,35,36],{},"oh-my-zsh 是社区为 zsh 收集的一个第三方插件和主题合集，我们可以通过国内镜像快速安装，这里使用了南京大学镜像站。",[38,39,44],"pre",{"className":40,"code":41,"language":42,"meta":43,"style":43},"language-bash shiki shiki-themes github-light dracula","git clone https://mirror.nju.edu.cn/git/ohmyzsh.git\ncd ohmyzsh/tools\nREMOTE=https://mirror.nju.edu.cn/git/ohmyzsh.git sh install.sh\n","bash","",[45,46,47,63,73],"code",{"__ignoreMap":43},[48,49,52,56,60],"span",{"class":50,"line":51},"line",1,[48,53,55],{"class":54},"sCLZk","git",[48,57,59],{"class":58},"sEzAm"," clone",[48,61,62],{"class":58}," https://mirror.nju.edu.cn/git/ohmyzsh.git\n",[48,64,66,70],{"class":50,"line":65},2,[48,67,69],{"class":68},"sDgm9","cd",[48,71,72],{"class":58}," ohmyzsh/tools\n",[48,74,76,80,84,87,90],{"class":50,"line":75},3,[48,77,79],{"class":78},"scEb-","REMOTE",[48,81,83],{"class":82},"szJfE","=",[48,85,86],{"class":58},"https://mirror.nju.edu.cn/git/ohmyzsh.git",[48,88,89],{"class":54}," sh",[48,91,92],{"class":58}," install.sh\n",[15,94,95],{},"通过这三条指令可以在境内快速安装我们的 oh-my-zsh，同时也可以选择将 zsh 设置为默认 shell。",[11,97,99],{"id":98},"powerlevel10k","Powerlevel10k",[15,101,102],{},"oh-my-zsh 中的主题我认为还是不够美观和定制，我希望有个更好的体验，这里我们引入 Powerlevel10k 主题。在众多主题中，Powerlevel10k 因其美观性和高度定制的特性脱颖而出，截止到 2026年4月28日，Powerlevel10k 在 github 已累计收获 54k 个 star。",[15,104,105],{},"在国内，安装 Powerlevel10k 可以使用 gitee 的镜像进行安装，安装指令如下：",[38,107,109],{"className":40,"code":108,"language":42,"meta":43,"style":43},"git clone --depth=1 https://gitee.com/romkatv/powerlevel10k.git \"${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k\"\necho 'source /usr/share/zsh-theme-powerlevel10k/powerlevel10k.zsh-theme' >>~/.zshrc\n",[45,110,111,159],{"__ignoreMap":43},[48,112,113,115,117,121,124,128,131,134,137,140,143,146,148,150,153,156],{"class":50,"line":51},[48,114,55],{"class":54},[48,116,59],{"class":58},[48,118,120],{"class":119},"soDru"," --depth=1",[48,122,123],{"class":58}," https://gitee.com/romkatv/powerlevel10k.git",[48,125,127],{"class":126},"sMWOi"," \"",[48,129,130],{"class":58},"${",[48,132,133],{"class":78},"ZSH_CUSTOM",[48,135,136],{"class":82},":-",[48,138,139],{"class":78},"$HOME",[48,141,142],{"class":82},"/",[48,144,145],{"class":58},".",[48,147,30],{"class":78},[48,149,142],{"class":82},[48,151,152],{"class":78},"custom",[48,154,155],{"class":58},"}/themes/powerlevel10k",[48,157,158],{"class":126},"\"\n",[48,160,161,164,167,170,173,176],{"class":50,"line":65},[48,162,163],{"class":68},"echo",[48,165,166],{"class":126}," '",[48,168,169],{"class":58},"source /usr/share/zsh-theme-powerlevel10k/powerlevel10k.zsh-theme",[48,171,172],{"class":126},"'",[48,174,175],{"class":82}," >>",[48,177,178],{"class":58},"~/.zshrc\n",[15,180,181],{},"之后需要安装一款推荐字体，这里我个人使用的 0xProtoNerdFont 字体，大家也可以在其他博客或者官方仓库中使用其他人推荐的字体。",[15,183,184,185,188,189,192,193,196,197,200],{},"之后修改 ",[45,186,187],{},"~/.zshrc"," 文件，将变量 ",[45,190,191],{},"ZSH_THEME"," 修改为 ",[45,194,195],{},"powerlevel10k/powerlevel10k",",即 ",[45,198,199],{},"ZSH_THEME=\"powerlevel10k/powerlevel10k\""," 即可，之后重启终端即可根据个人喜好开始配置。",[11,202,203],{"id":203},"插件设置",[15,205,206],{},"现在主题已经搞定了，下一步开始设置真正能帮助我们提高生产力的插件。",[208,209,210],"h3",{"id":210},"zsh-autosuggestions",[15,212,213],{},"一个非常有用的插件，它根据历史记录和补全信息在输入时建议命令。",[15,215,216],{},"安装指令：",[38,218,220],{"className":40,"code":219,"language":42,"meta":43,"style":43},"git clone https://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions\n",[45,221,222],{"__ignoreMap":43},[48,223,224,226,228,231,234],{"class":50,"line":51},[48,225,55],{"class":54},[48,227,59],{"class":58},[48,229,230],{"class":58}," https://github.com/zsh-users/zsh-autosuggestions",[48,232,233],{"class":78}," $ZSH_CUSTOM",[48,235,236],{"class":58},"/plugins/zsh-autosuggestions\n",[208,238,239],{"id":239},"zsh-syntax-highlighting",[15,241,242],{},"提供指令和文件路径的高亮限制，方便你检查指令和路径的正确性。",[15,244,216],{},[38,246,248],{"className":40,"code":247,"language":42,"meta":43,"style":43},"git clone https://github.com/zsh-users/zsh-syntax-highlighting $ZSH_CUSTOM/plugins/zsh-syntax-highlighting\n",[45,249,250],{"__ignoreMap":43},[48,251,252,254,256,259,261],{"class":50,"line":51},[48,253,55],{"class":54},[48,255,59],{"class":58},[48,257,258],{"class":58}," https://github.com/zsh-users/zsh-syntax-highlighting",[48,260,233],{"class":78},[48,262,263],{"class":58},"/plugins/zsh-syntax-highlighting\n",[208,265,55],{"id":55},[15,267,268,269,272],{},"oh-my-zsh 自带的插件，将大量常用的 git 指令简化，具体怎么使用可以参考 ",[45,270,271],{},"$ZSH/plugins/git/git.plugin.zsh "," 这个文件。",[11,274,275],{"id":275},"一些软件",[208,277,278],{"id":278},"nvm",[15,280,281],{},"一个好用的 node.js 版本管理器，无需 sudo 权限。",[15,283,284,285,291],{},"参考 ",[286,287,288],"a",{"href":288,"rel":289},"https://github.com/nvm-sh/nvm",[290],"nofollow"," 安装。",[208,293,294],{"id":294},"conda",[15,296,297],{},"无需多言。",[208,299,300],{"id":300},"fastfetch",[15,302,303],{},"获取本机发行版和硬件信息，比较酷炫，装逼使用。",[15,305,306],{},"可以进行美化，参考指令：",[38,308,310],{"className":40,"code":309,"language":42,"meta":43,"style":43},"cd $HOME/.config\n\n# 下载并解压然后删除\nwget https://github.com/sqlsec/fastfetch/releases/download/v0.1/fastfetch-for-Linux.zip\nunzip fastfetch-for-Linux.zip && rm fastfetch-for-Linux.zip\n",[45,311,312,322,328,334,343],{"__ignoreMap":43},[48,313,314,316,319],{"class":50,"line":51},[48,315,69],{"class":68},[48,317,318],{"class":78}," $HOME",[48,320,321],{"class":58},"/.config\n",[48,323,324],{"class":50,"line":65},[48,325,327],{"emptyLinePlaceholder":326},true,"\n",[48,329,330],{"class":50,"line":75},[48,331,333],{"class":332},"sfgPZ","# 下载并解压然后删除\n",[48,335,337,340],{"class":50,"line":336},4,[48,338,339],{"class":54},"wget",[48,341,342],{"class":58}," https://github.com/sqlsec/fastfetch/releases/download/v0.1/fastfetch-for-Linux.zip\n",[48,344,346,349,352,356,359],{"class":50,"line":345},5,[48,347,348],{"class":54},"unzip",[48,350,351],{"class":58}," fastfetch-for-Linux.zip",[48,353,355],{"class":354},"scbbO"," && ",[48,357,358],{"class":54},"rm",[48,360,361],{"class":58}," fastfetch-for-Linux.zip\n",[208,363,364],{"id":364},"onefetch",[15,366,367],{},"获取当前 git 项目信息，使用时需保证当前目录已经 git 初始化。",[369,370,371],"style",{},"html pre.shiki code .sCLZk, html code.shiki .sCLZk{--shiki-default:#6F42C1;--shiki-dark:#50FA7B}html pre.shiki code .sEzAm, html code.shiki .sEzAm{--shiki-default:#032F62;--shiki-dark:#F1FA8C}html pre.shiki code .sDgm9, html code.shiki .sDgm9{--shiki-default:#005CC5;--shiki-dark:#8BE9FD}html pre.shiki code .scEb-, html code.shiki .scEb-{--shiki-default:#24292E;--shiki-dark:#BD93F9}html pre.shiki code .szJfE, html code.shiki .szJfE{--shiki-default:#D73A49;--shiki-dark:#FF79C6}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .soDru, html code.shiki .soDru{--shiki-default:#005CC5;--shiki-dark:#BD93F9}html pre.shiki code .sMWOi, html code.shiki .sMWOi{--shiki-default:#032F62;--shiki-dark:#E9F284}html pre.shiki code .sfgPZ, html code.shiki .sfgPZ{--shiki-default:#6A737D;--shiki-dark:#6272A4}html pre.shiki code .scbbO, html code.shiki .scbbO{--shiki-default:#24292E;--shiki-dark:#F8F8F2}",{"title":43,"searchDepth":65,"depth":65,"links":373},[374,375,376,377,378,383],{"id":13,"depth":65,"text":13},{"id":20,"depth":65,"text":21},{"id":30,"depth":65,"text":30},{"id":98,"depth":65,"text":99},{"id":203,"depth":65,"text":203,"children":379},[380,381,382],{"id":210,"depth":75,"text":210},{"id":239,"depth":75,"text":239},{"id":55,"depth":75,"text":55},{"id":275,"depth":65,"text":275,"children":384},[385,386,387,388],{"id":278,"depth":75,"text":278},{"id":294,"depth":75,"text":294},{"id":300,"depth":75,"text":300},{"id":364,"depth":75,"text":364},"md",{"date":391,"image":392,"alt":393,"tags":394,"published":326},"28 April 2026","/blogs-img/blog3.jpg","PPO学习笔记",[395,396],"Linux","折腾笔记","/blogs/zsh",{"title":6,"description":6},"blogs/3. 记录一下我的 zsh 配置","y9ctoXQRoVK6l-0b4XyZbWKIXs5GhZ_Pvm3uVi1sgLU",1777363049358]