<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Neovim on 映屿</title>
    <link>https://blog.verdant.ee/tags/neovim/</link>
    <description>Recent content in Neovim on 映屿</description>
    <generator>Hugo</generator>
    <language>zh-cn</language>
    
      <managingEditor>i@glowisle.me (五葉地錦)</managingEditor>
    
    
      <webMaster>i@glowisle.me (五葉地錦)</webMaster>
    
    
    
    <lastBuildDate>Sun, 01 Feb 2026 01:54:09 +0800</lastBuildDate>
    
    
    <atom:link href="http://blog.verdant.ee/tags/neovim/atom.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>回声周刊 Vol.7：bilibili-API-collect项目停止维护</title>
      <link>https://blog.verdant.ee/posts/weekly/7/</link>
      <pubDate>Sun, 01 Feb 2026 01:54:09 +0800</pubDate><author>i@glowisle.me (五葉地錦)</author>
      <guid>https://blog.verdant.ee/posts/weekly/7/</guid>
      <description>&lt;p&gt;这里是回声周刊，分享我这周读过的文章书籍、近期发生的大事小事。每周日更新。如果你对这个周刊感兴趣，可以 &lt;a href=&#34;https://blog.verdant.ee/categories/%E5%9B%9E%E5%A3%B0%E5%91%A8%E5%88%8A/atom.xml&#34;&gt;订阅周刊&lt;/a&gt;。&lt;/p&gt;&#xA;&lt;h2 id=&#34;-声波&#34;&gt;〰︎ 声波&lt;/h2&gt;&#xA;&#xA;&#xA;&lt;div class=&#34;music-card&#34;&gt;&#xA;    &#xA;    &lt;div class=&#34;music-info&#34;&gt;&#xA;        &lt;img class=&#34;music-cover&#34;&#xA;            src=&#34;https://images.glowisle.me/ab67616d00001e02c48071fe875fcf12dd1dfc8b.jpeg&#34; loading=&#34;lazy&#34; alt=&#34;Cover&#34; /&gt;&#xA;        &lt;div class=&#34;music-text&#34;&gt;&#xA;            &lt;h4 class=&#34;music-title&#34;&gt;炉心融解&lt;/h4&gt;&#xA;            &lt;p class=&#34;music-artist&#34;&gt;iroha(sasaki)&lt;/p&gt;&#xA;        &lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;&#xA;    &#xA;    &lt;div class=&#34;music-links&#34;&gt;&#xA;        &#xA;&#xA;        &#xA;&#xA;        &#xA;        &lt;a href=&#34;https://open.spotify.com/track/705CVl7WvtnJgVpGIgZ6dQ?si=2235f7584dbb4962&#34; class=&#34;music-btn&#34; target=&#34;_blank&#34; title=&#34;在 Spotify 中打开&#34; data-tooltip&gt;&#xA;            &lt;img src=&#34;https://blog.verdant.ee/images/spotify.png&#34; loading=&#34;lazy&#34; class=&#34;music-icon&#34; alt=&#34;Spotify&#34; /&gt;&#xA;            &lt;span class=&#34;music-btn-text&#34;&gt;Spotify&lt;/span&gt;&#xA;        &lt;/a&gt;&#xA;        &#xA;    &lt;/div&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;p&gt;最近一直单曲循环这首，和朋友聊天时谈起这首歌才知道它是2008年的。&lt;/p&gt;&#xA;&lt;h2 id=&#34;-声源&#34;&gt;🕮 声源&lt;/h2&gt;&#xA;&lt;h3 id=&#34;bilibili-api-收集项目停止维护&#34;&gt;BiliBili API 收集项目停止维护&lt;/h3&gt;&#xA;&lt;p&gt;2026年1月28日，B站官方认为其收集API的行为构成了不正当竞争，向仓库维护者发送了律师函。次日，在Github上有20.4k Star的项目「&lt;a href=&#34;https://github.com/SocialSisterYi/bilibili-API-collect&#34;&gt;bilibili-API-collect&lt;/a&gt;」&#xA;停止维护，并删除了相关文档及源代码。&lt;/p&gt;&#xA;&lt;p&gt;印象中这个仓库有相当完善、结构清晰的文档，还有各种编程语言的测试用例，Issue里也一直在火热地讨论，继微信之后又一封律师函砸在了开源界。&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure class=&#34;image-caption&#34;&gt;&#xA;    &lt;img src=&#34;https://github.com/SocialSisterYi/bilibili-API-collect/raw/deprecated/reason.jpg&#34; alt=&#34;律师函（来自仓库README）&#34;&gt;&#xA;    &lt;figcaption&gt;律师函（来自仓库README）&lt;/figcaption&gt;&#xA;&lt;/figure&gt;&lt;/p&gt;&#xA;&lt;p&gt;这次事件一定会波及到不少下游应用，不过有利也有弊，没有人能保证接口不被用于黑灰产、侵犯用户隐私等行为，这次官方出手也一定程度上保护了用户的权益和平台的环境。&lt;/p&gt;&#xA;&lt;h3 id=&#34;cloudflare-入驻b站小红书&#34;&gt;Cloudflare 入驻B站小红书&lt;/h3&gt;&#xA;&lt;p&gt;&lt;figure class=&#34;image-caption&#34;&gt;&#xA;    &lt;img src=&#34;https://images.glowisle.me/2605-908f5d90a138c5483d65a56769ef125a.jpg&#34; alt=&#34;B站账号主页&#34;&gt;&#xA;    &lt;figcaption&gt;B站账号主页&lt;/figcaption&gt;&#xA;&lt;/figure&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure class=&#34;image-caption&#34;&gt;&#xA;    &lt;img src=&#34;https://images.glowisle.me/b000-6d03da085a6043335765a258b2cb78fc.png&#34; alt=&#34;小红书账号主页&#34;&gt;&#xA;    &lt;figcaption&gt;小红书账号主页&lt;/figcaption&gt;&#xA;&lt;/figure&gt;&lt;/p&gt;&#xA;&lt;p&gt;入驻Bilibili似乎很合理，但小红书的用户群体看起来不太匹配。或许是想当成推特发布一些公告类的内容？&lt;/p&gt;&#xA;&lt;h3 id=&#34;moltbook一个ai社交网络&#34;&gt;Moltbook：一个AI社交网络&lt;/h3&gt;&#xA;&lt;p&gt;&lt;figure class=&#34;image-caption&#34;&gt;&#xA;    &lt;img src=&#34;https://images.glowisle.me/2026-02-01_10-30.png&#34; alt=&#34;Moltbook首页截图&#34;&gt;&#xA;    &lt;figcaption&gt;Moltbook首页截图&lt;/figcaption&gt;&#xA;&lt;/figure&gt;&lt;/p&gt;&#xA;&lt;p&gt;最近被一个叫&lt;a href=&#34;https://www.moltbook.com/&#34;&gt;Moltbook&lt;/a&gt;的网站刷屏了，这是一个AI Agents的社交网络，人类无法在这个网站上发送消息。虽然这可能很有趣，但是也有点荒诞。也许在讨厌AIGC的人眼中，这只是在互联网中疯狂地批量生产垃圾。&lt;/p&gt;&#xA;&lt;p&gt;目前&lt;code&gt;Moltbook&lt;/code&gt;这个关键词，在必应中排名最高的中文结果是一篇AI生成的介绍，倒也合理。&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure class=&#34;image-caption&#34;&gt;&#xA;    &lt;img src=&#34;https://images.glowisle.me/G_9o7M6bUAApIzY.jpeg&#34; alt=&#34;新时代: 慈母心中线, 傻儿网络闯&amp;hellip;&#34;&gt;&#xA;    &lt;figcaption&gt;&lt;a href=&#34;https://x.com/zoomq/status/2017446665544925201&#34;&gt;新时代: 慈母心中线, 傻儿网络闯&amp;hellip;&lt;/a&gt;&lt;/figcaption&gt;&#xA;&lt;/figure&gt;&lt;/p&gt;&#xA;&lt;h3 id=&#34;chatgpt-web&#34;&gt;CHATGPT-WEB&lt;/h3&gt;&#xA;&lt;p&gt;纯JS实现的ChatGPT项目，支持复制/更新/刷新会话，语音输入，朗读等功能，以及众多自定义选项。&lt;/p&gt;&#xA;&lt;p&gt;支持搜索会话，深色模式，自定义头像，快捷键，多语言，环境变量，PWA应用，API额度显示等。&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure class=&#34;image-caption&#34;&gt;&#xA;    &lt;img src=&#34;https://raw.githubusercontent.com/xqdoo00o/chatgpt-web/main/example.png&#34; alt=&#34;预览图（来自仓库README）&#34;&gt;&#xA;    &lt;figcaption&gt;预览图（来自仓库README）&lt;/figcaption&gt;&#xA;&lt;/figure&gt;&lt;/p&gt;&#xA;&lt;h3 id=&#34;一些好用的neovim插件英文&#34;&gt;一些好用的Neovim插件（英文）&lt;/h3&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;🔗 &lt;a href=&#34;https://btj93.github.io/nvim-plugins-202504&#34;&gt;文章链接&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;作者推荐了自己使用的一些Vim插件，每一个插件都有详细的说明。我在里面找到了很多有意思的插件，有点想换到Neovim了……但是已经养成了Emacs的快捷键习惯。&lt;/p&gt;&#xA;&lt;p&gt;这个&lt;a href=&#34;https://github.com/chrisgrieser/nvim-spider&#34;&gt;nvim-spider&lt;/a&gt;挺有意思的，专治大驼峰命名光标跳转不听话：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#d6cbb4;background-color:#252b2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-mysql&#34; data-lang=&#34;mysql&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#859289;font-style:italic&#34;&gt;-- positions vim&amp;#39;s `w` will move to&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;local myVariableName &lt;span style=&#34;color:#7a8478&#34;&gt;=&lt;/span&gt; FOO_BAR_BAZ&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#859289;font-style:italic&#34;&gt;--    ^              ^ ^&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#859289;font-style:italic&#34;&gt;-- positions spider&amp;#39;s `w` will move to&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;local myVariableName &lt;span style=&#34;color:#7a8478&#34;&gt;=&lt;/span&gt; FOO_BAR_BAZ&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#859289;font-style:italic&#34;&gt;--    ^ ^       ^    ^ ^   ^   ^&#xA;&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;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;🔗 &lt;a href=&#34;https://telegra.ph/%E4%B8%BA%E4%BB%80%E4%B9%88%E6%9C%89%E4%BA%BA%E8%AF%B4%E5%9C%A8%E7%8E%B0%E4%BB%A3%E8%AE%A1%E7%AE%97%E6%9C%BA%E4%BD%93%E7%B3%BB%E4%B8%AD%E9%93%BE%E8%A1%A8%E5%B7%B2%E6%AD%BB-01-26-2&#34;&gt;文章链接&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;文章从现代硬件和实际开发的角度探讨了链表的优劣。由于链表是非连续的内存空间，会导致大量缓存未命中，性能往往不如数组。但如Linux内核中的&lt;code&gt;list_head&lt;/code&gt;等&lt;strong&gt;侵入式链表&lt;/strong&gt;无需额外内存分配，适合管理生命周期复杂的对象，以及无锁、并发、图和树等场景仍有用武之地。&lt;/p&gt;&#xA;&lt;p&gt;原知乎回答评论区有人说是AI文，第一遍读还真没看出来。&lt;/p&gt;&#xA;&lt;h3 id=&#34;当代义和团&#34;&gt;当代义和团&lt;/h3&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;🔗 &lt;a href=&#34;https://www.bilibili.com/video/BV1wqBjB2EaJ&#34;&gt;视频链接&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;最近期末考试成绩公布，很多英语课上睡觉、不写作业的人抱怨英语太难，自己的分数太低的人，嚷嚷着「要加入义和团」「我要洋人死」。历史教材上这里一笔带过，于是我找了一些视频和资料来详细了解这段历史。&lt;/p&gt;&#xA;&lt;p&gt;首先，一个明显的误区就是，义和团并不是从头到尾都要「扶清灭洋」的。甲午战争战败后，西方列强进一步侵略瓜分中国，四处修建教堂，传教士压迫平民百姓。无能的清政府不仅不为百姓讨公道，还继续偏袒基督教组织，民间的义和拳组织开始抵抗，后这个组织改名为义和团。在这个期间，他们的口号是「扫清灭洋」。&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;关于义和团的源头，高志运有不同观点。义和团起初还是反清组织，故清末吴桥知县劳乃宣就强烈地主张义和团源于八卦教，因此应当断然镇压。&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;为此他刊布了小册子《义和团教门源流考》，而且亲自出马镇压义和团。当代义和团史著名学者路遥、李世瑜、佐藤公彦等也都认为义和拳与长期流行在山东一带的举着反清复明大旗的白莲教有关。&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;&lt;del&gt;所以这群当代义和团想干嘛？&lt;/del&gt;&lt;/p&gt;&#xA;&lt;p&gt;还有「因为自己英语不好就要杀洋人」是什么逻辑……？&lt;/p&gt;&#xA;&lt;h2 id=&#34;-回望&#34;&gt;✍︎ 回望&lt;/h2&gt;&#xA;&lt;p&gt;根据更新频率来看，这个栏目更适合每月一次。&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://blog.verdant.ee/posts/hitori-biyori/&#34;&gt;读《一个人的好天气》&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;2026年读完的第一本书，也是今年写的第一篇书评。比起书评这更像是读后感，现在看来写得太仓促，内容质量一般般，其实这本书也没有多少能特别深挖的地方。不过第一篇写得不太好，或许是好事。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://blog.verdant.ee/posts/pseudo-philosopher/&#34;&gt;哲学之癫&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;主人公的形象改编于现实中的某个人。这是博客中第一篇以「小说」为分类的文章，其实严格来说这一篇不能算作小说的范畴，至少我认为小说至少要有情节冲突或主题思想。质量何止一般般，简直是半成品。这个月我写了不少半成品发出来……&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;-所在&#34;&gt;♇ 所在&lt;/h2&gt;&#xA;&lt;h3 id=&#34;停用telegram频道&#34;&gt;停用Telegram频道&lt;/h3&gt;&#xA;&lt;p&gt;细心的读者应该已经发现了，这期开头的intro里没有放TG频道的链接。&lt;/p&gt;&#xA;&lt;p&gt;我发现自己注册Mastodon后，更喜欢在那里说话，而且TG作为一个即时通讯软件，由于GFW的原因，它甚至不如邮件及时，我也很少有朋友要用Telegram联系，所以对比之下，我停用了Telegram频道并注销了账号。&lt;/p&gt;&#xA;&lt;p&gt;这个软件让我有点烦的一点是，总是会被莫名其妙拉到虚拟货币交流群，虽然应该可以通过一些隐私设置避免，但我还是不打算继续用下去了。如果想看一些碎碎念，那就请关注&lt;a href=&#34;https://c7.io/@Verdant&#34;&gt;我的Mastodon账号&lt;/a&gt;吧！&lt;/p&gt;&#xA;&lt;p&gt;以上就是本期回声周刊的全部内容，感谢你的阅读，祝你有充满ECHO的一周！👋&lt;/p&gt;&#xA;&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;&#xA;&lt;hr&gt;&#xA;&lt;ol&gt;&#xA;&lt;li id=&#34;fn:1&#34;&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://zh.wikipedia.org/wiki/%E4%B9%89%E5%92%8C%E5%9B%A2%E8%BF%90%E5%8A%A8&#34;&gt;义和团运动 - 维基百科&lt;/a&gt;&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;/div&gt;</description>
    </item>
    <item>
      <title>从0开始搭建自己的终端开发环境</title>
      <link>https://blog.verdant.ee/posts/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E6%90%AD%E5%BB%BA%E8%87%AA%E5%B7%B1%E7%9A%84%E7%BB%88%E7%AB%AF%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83/</link>
      <pubDate>Tue, 15 Apr 2025 21:15:24 +0000</pubDate><author>i@glowisle.me (五葉地錦)</author>
      <guid>https://blog.verdant.ee/posts/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E6%90%AD%E5%BB%BA%E8%87%AA%E5%B7%B1%E7%9A%84%E7%BB%88%E7%AB%AF%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83/</guid>
      <description>&lt;p&gt;&lt;strong&gt;系统&lt;/strong&gt;：WSL Arch&lt;/p&gt;&#xA;&lt;h3 id=&#34;主折腾点&#34;&gt;主折腾点&lt;/h3&gt;&#xA;&lt;p&gt;&lt;strong&gt;代码编辑器&lt;/strong&gt;：Vim(Neovim)&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;终端体验优化&lt;/strong&gt;：tmux&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;文件管理器&lt;/strong&gt;：yazi&lt;/p&gt;&#xA;&lt;h2 id=&#34;代码编辑器neovim&#34;&gt;代码编辑器——Neovim&lt;/h2&gt;&#xA;&lt;h3 id=&#34;前言&#34;&gt;前言&lt;/h3&gt;&#xA;&lt;p&gt;Neovim和Vim相比，在性能和易用性上有很大的提升，在异步任务表现突出；使用更加现代的lua脚本配置，可读性更高。&lt;/p&gt;&#xA;&lt;h4 id=&#34;为什么不用lazyvim&#34;&gt;为什么不用Lazyvim？&lt;/h4&gt;&#xA;&lt;p&gt;答：我个人用了很长一段时间Lazyvim，虽然开箱即用，简单调试就可以使用，但是我并不能清除的理解他到底给我装了什么，我是否需要那些插件。感觉像在用别人的软件，而自己从头开始配置vim的掌控感是使用他人的配置文件无法比拟的，在配置的过程中也可以培养排错和程序调试能力，唯一的缺点就是略微耗费时间。&lt;/p&gt;&#xA;&lt;h3 id=&#34;安装&#34;&gt;安装&lt;/h3&gt;&#xA;&lt;p&gt;先滚一把系统保证软件包都是最新的&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;sudo pacman -Syyu&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;安装Neovim&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;sudo pacman -S neovim&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;这时候在终端输入&lt;code&gt;nvim&lt;/code&gt;就可以打开neovim了。![image-20250415212435171](E:/Blog/source/im&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;按&lt;code&gt;:q&lt;/code&gt;退出。&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;这个初始的界面非常简陋，我们先进行核心功能配置，后续在更改主题。&lt;/p&gt;&#xA;&lt;p&gt;nvim的用户级配置文件在&lt;code&gt;~/.config/nvim&lt;/code&gt;中。&lt;/p&gt;&#xA;&lt;h3 id=&#34;安装包管理器&#34;&gt;安装包管理器&lt;/h3&gt;&#xA;&lt;p&gt;我们选择Lazy作为包管理器，他和其他的包管理器相比起来，在懒加载、UI界面等方面有显著优势，可以减小配置复杂度。&lt;/p&gt;&#xA;&lt;p&gt;访问&lt;a href=&#34;https://lazy.folke.io/installation&#34;&gt;lazy.nvim官网&lt;/a&gt;，官方文档永远都是最好的教程。这里有一段代码&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#d6cbb4;background-color:#252b2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-lua&#34; data-lang=&#34;lua&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#859289;font-style:italic&#34;&gt;-- Bootstrap lazy.nvim&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e67e80&#34;&gt;local&lt;/span&gt; lazypath &lt;span style=&#34;color:#7a8478&#34;&gt;=&lt;/span&gt; vim.fn.stdpath(&lt;span style=&#34;color:#b2c98f&#34;&gt;&amp;#34;data&amp;#34;&lt;/span&gt;) &lt;span style=&#34;color:#7a8478&#34;&gt;..&lt;/span&gt; &lt;span style=&#34;color:#b2c98f&#34;&gt;&amp;#34;/lazy/lazy.nvim&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e67e80&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#7a8478&#34;&gt;not&lt;/span&gt; (vim.uv &lt;span style=&#34;color:#7a8478&#34;&gt;or&lt;/span&gt; vim.loop).fs_stat(lazypath) &lt;span style=&#34;color:#e67e80&#34;&gt;then&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#e67e80&#34;&gt;local&lt;/span&gt; lazyrepo &lt;span style=&#34;color:#7a8478&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#b2c98f&#34;&gt;&amp;#34;https://github.com/folke/lazy.nvim.git&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#e67e80&#34;&gt;local&lt;/span&gt; out &lt;span style=&#34;color:#7a8478&#34;&gt;=&lt;/span&gt; vim.fn.system({ &lt;span style=&#34;color:#b2c98f&#34;&gt;&amp;#34;git&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#b2c98f&#34;&gt;&amp;#34;clone&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#b2c98f&#34;&gt;&amp;#34;--filter=blob:none&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#b2c98f&#34;&gt;&amp;#34;--branch=stable&amp;#34;&lt;/span&gt;, lazyrepo, lazypath })&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#e67e80&#34;&gt;if&lt;/span&gt; vim.v.shell_error &lt;span style=&#34;color:#7a8478&#34;&gt;~=&lt;/span&gt; &lt;span style=&#34;color:#d699b6&#34;&gt;0&lt;/span&gt; &lt;span style=&#34;color:#e67e80&#34;&gt;then&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    vim.api.nvim_echo({&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      { &lt;span style=&#34;color:#b2c98f&#34;&gt;&amp;#34;Failed to clone lazy.nvim:&lt;/span&gt;&lt;span style=&#34;color:#b2c98f&#34;&gt;\n&lt;/span&gt;&lt;span style=&#34;color:#b2c98f&#34;&gt;&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#b2c98f&#34;&gt;&amp;#34;ErrorMsg&amp;#34;&lt;/span&gt; },&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      { out, &lt;span style=&#34;color:#b2c98f&#34;&gt;&amp;#34;WarningMsg&amp;#34;&lt;/span&gt; },&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      { &lt;span style=&#34;color:#b2c98f&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#b2c98f&#34;&gt;\n&lt;/span&gt;&lt;span style=&#34;color:#b2c98f&#34;&gt;Press any key to exit...&amp;#34;&lt;/span&gt; },&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    }, &lt;span style=&#34;color:#e67e80&#34;&gt;true&lt;/span&gt;, {})&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    vim.fn.getchar()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    os.exit(&lt;span style=&#34;color:#d699b6&#34;&gt;1&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#e67e80&#34;&gt;end&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e67e80&#34;&gt;end&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;vim.opt.rtp:prepend(lazypath)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#859289;font-style:italic&#34;&gt;-- Make sure to setup `mapleader` and `maplocalleader` before&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#859289;font-style:italic&#34;&gt;-- loading lazy.nvim so that mappings are correct.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#859289;font-style:italic&#34;&gt;-- This is also a good place to setup other settings (vim.opt)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;vim.g.mapleader &lt;span style=&#34;color:#7a8478&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#b2c98f&#34;&gt;&amp;#34; &amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;vim.g.maplocalleader &lt;span style=&#34;color:#7a8478&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#b2c98f&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#b2c98f&#34;&gt;\\&lt;/span&gt;&lt;span style=&#34;color:#b2c98f&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#859289;font-style:italic&#34;&gt;-- Setup lazy.nvim&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;require(&lt;span style=&#34;color:#b2c98f&#34;&gt;&amp;#34;lazy&amp;#34;&lt;/span&gt;).setup({&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  spec &lt;span style=&#34;color:#7a8478&#34;&gt;=&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#859289;font-style:italic&#34;&gt;-- import your plugins&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    { import &lt;span style=&#34;color:#7a8478&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#b2c98f&#34;&gt;&amp;#34;plugins&amp;#34;&lt;/span&gt; },&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  },&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#859289;font-style:italic&#34;&gt;-- Configure any other settings here. See the documentation for more details.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#859289;font-style:italic&#34;&gt;-- colorscheme that will be used when installing plugins.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  install &lt;span style=&#34;color:#7a8478&#34;&gt;=&lt;/span&gt; { colorscheme &lt;span style=&#34;color:#7a8478&#34;&gt;=&lt;/span&gt; { &lt;span style=&#34;color:#b2c98f&#34;&gt;&amp;#34;habamax&amp;#34;&lt;/span&gt; } },&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#859289;font-style:italic&#34;&gt;-- automatically check for plugin updates&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  checker &lt;span style=&#34;color:#7a8478&#34;&gt;=&lt;/span&gt; { enabled &lt;span style=&#34;color:#7a8478&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e67e80&#34;&gt;true&lt;/span&gt; },&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;})&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;这段代码主要在为Lazy包管理器初始化，所以按照官网的目录结构，我们在&lt;code&gt;~/.config/nvim/lua&lt;/code&gt;下新建一个config文件夹，把代码粘贴进去。&lt;/p&gt;&#xA;&lt;p&gt;注意到，代码中有一段是导入plugins这个模块，所以我们需要在&lt;code&gt;~/.config/nvim/lua&lt;/code&gt;下创建一个plugins文件夹&lt;/p&gt;&#xA;&lt;p&gt;然后在&lt;code&gt;~/.config/nvim/init.lua&lt;/code&gt;里粘贴这行代码&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#d6cbb4;background-color:#252b2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-lua&#34; data-lang=&#34;lua&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;require(&lt;span style=&#34;color:#b2c98f&#34;&gt;&amp;#34;config.lazy&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;init/lua&lt;/code&gt;是Neovim的初始化配置文件，程序会首先读取这个文件里的代码。&lt;/p&gt;&#xA;&lt;p&gt;这行代码是引入config/lazy这个文件，初始化Lazy，所以要放在第一行。&lt;/p&gt;&#xA;&lt;p&gt;那么经过这一番操作，Lazy安装好了，我们的目录结构应该如下：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#d6cbb4;background-color:#252b2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;`-- nvim&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    `-- lua&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        `-- config&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            `-- lazy.lua&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;现在在终端输入&lt;code&gt;nvim&lt;/code&gt;启动Neovim，会发现有个报错&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#d6cbb4;background-color:#252b2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;No specs found for module &amp;#34;plugins&amp;#34;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;查阅&lt;a href=&#34;https://github.com/folke/lazy.nvim/discussions/1875&#34;&gt;bug: No specs found for module &amp;ldquo;plugins&amp;rdquo; (Structured Setup) · folke/lazy.nvim · Discussion #1875&lt;/a&gt;可得，这个问题是由于我们还没有安装任何插件导致的，他不影响什么，但是很烦人。如果想要关掉，可以在plugins下新建一个lua文件，然后输入&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#d6cbb4;background-color:#252b2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-lua&#34; data-lang=&#34;lua&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e67e80&#34;&gt;return&lt;/span&gt;{&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;这样就可以正常启动nvim不报错了。由此可见，Lazy安装插件是返回一张表，所以以后每次新建插件文件的时候都要填写以上内容。&lt;/p&gt;&#xA;&lt;h3 id=&#34;基础配置&#34;&gt;基础配置&lt;/h3&gt;&#xA;&lt;p&gt;在安装插件前，我们要先进行一些基础配置，让这个编辑器用的舒服一点。&lt;/p&gt;&#xA;&lt;p&gt;设置别名：``&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#d6cbb4;background-color:#252b2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-lua&#34; data-lang=&#34;lua&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e67e80&#34;&gt;local&lt;/span&gt; opt &lt;span style=&#34;color:#7a8478&#34;&gt;=&lt;/span&gt; vim.opt&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;声明一个本地变量opt=vim.opt，简写提高效率。&lt;/p&gt;&#xA;&lt;p&gt;为什么要显示声明local？原因是lua脚本的所有变量默认都是全局变量，很怪对吧，我也觉得。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#d6cbb4;background-color:#252b2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-lua&#34; data-lang=&#34;lua&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;opt.relativenumber &lt;span style=&#34;color:#7a8478&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e67e80&#34;&gt;false&lt;/span&gt;&#x9;&lt;span style=&#34;color:#859289;font-style:italic&#34;&gt;-- 禁用相对行号&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;opt.number &lt;span style=&#34;color:#7a8478&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e67e80&#34;&gt;true&lt;/span&gt;&#x9;&#x9;   &lt;span style=&#34;color:#859289;font-style:italic&#34;&gt;-- 启用绝对行号&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;vim.api.nvim_set_hl(&lt;span style=&#34;color:#d699b6&#34;&gt;0&lt;/span&gt;, &lt;span style=&#34;color:#b2c98f&#34;&gt;&amp;#34;LineNr&amp;#34;&lt;/span&gt;, { fg &lt;span style=&#34;color:#7a8478&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#b2c98f&#34;&gt;&amp;#34;#FFD700&amp;#34;&lt;/span&gt; }) &lt;span style=&#34;color:#859289;font-style:italic&#34;&gt;-- 所有行号设为金色&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;相对行号可以更容易的数行数来达到&lt;code&gt;hjkl/d/v等 + 行数&lt;/code&gt;来快速进行文本编辑操作，但是我个人不太适应，就没开，后期可以通过修改按键配置来做到随时开关。&lt;/p&gt;&#xA;&lt;h3 id=&#34;安装插件&#34;&gt;安装插件&lt;/h3&gt;&#xA;&lt;h4 id=&#34;neo-tree&#34;&gt;neo-tree&lt;/h4&gt;&#xA;&lt;p&gt;neo-tree 编辑器的文件系统资源管理器。使用此插件，用户可以直观地浏览复杂的目录层次结构，快速打开文件进行读取或编辑，并执行基本的文件系统作。&lt;/p&gt;&#xA;&lt;p&gt;仓库：&lt;a href=&#34;https://github.com/nvim-neo-tree/neo-tree.nvim&#34;&gt;nvim-neo-tree/neo-tree.nvim: Neovim plugin to manage the file system and other tree like structures.&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;进入Plugins目录，新建一个文件名为nerdtree的lua脚本。先把上文提到的返回表写进去。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#d6cbb4;background-color:#252b2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-lua&#34; data-lang=&#34;lua&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#859289;font-style:italic&#34;&gt;-- neo-tree.lua&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#859289;font-style:italic&#34;&gt;-- 代码来自仓库README&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;{&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#b2c98f&#34;&gt;&amp;#34;nvim-neo-tree/neo-tree.nvim&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  branch &lt;span style=&#34;color:#7a8478&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#b2c98f&#34;&gt;&amp;#34;v3.x&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  dependencies &lt;span style=&#34;color:#7a8478&#34;&gt;=&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#b2c98f&#34;&gt;&amp;#34;nvim-lua/plenary.nvim&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#b2c98f&#34;&gt;&amp;#34;nvim-tree/nvim-web-devicons&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#859289;font-style:italic&#34;&gt;-- not strictly required, but recommended&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#b2c98f&#34;&gt;&amp;#34;MunifTanjim/nui.nvim&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#859289;font-style:italic&#34;&gt;-- {&amp;#34;3rd/image.nvim&amp;#34;, opts = {}}, -- Optional image support in preview window: See `# Preview Mode` for more information&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  },&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  lazy &lt;span style=&#34;color:#7a8478&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e67e80&#34;&gt;false&lt;/span&gt;, &lt;span style=&#34;color:#859289;font-style:italic&#34;&gt;-- neo-tree will lazily load itself&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#859289;font-style:italic&#34;&gt;---@module &amp;#34;neo-tree&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#859289;font-style:italic&#34;&gt;---@type neotree.Config?&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  opts &lt;span style=&#34;color:#7a8478&#34;&gt;=&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#859289;font-style:italic&#34;&gt;-- fill any relevant options here&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  },&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;插件装好了发现，不知道怎么打开啊。这时候就需要我们自己动手改一个舒服点的键位。在&lt;code&gt;~/.config/nvim/lua/config&lt;/code&gt;中新建一个keymaps.lua，并在init.lua中引用&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#d6cbb4;background-color:#252b2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-lua&#34; data-lang=&#34;lua&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#859289;font-style:italic&#34;&gt;-- 习惯上，我喜欢把leader键映射到空格，敲起来顺手&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#859289;font-style:italic&#34;&gt;-- 基础按键配置&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;vim.g.mapleader &lt;span style=&#34;color:#7a8478&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#b2c98f&#34;&gt;&amp;#34; &amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e67e80&#34;&gt;local&lt;/span&gt; opt &lt;span style=&#34;color:#7a8478&#34;&gt;=&lt;/span&gt; { noremap &lt;span style=&#34;color:#7a8478&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e67e80&#34;&gt;true&lt;/span&gt;, slient &lt;span style=&#34;color:#7a8478&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e67e80&#34;&gt;true&lt;/span&gt; }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#859289;font-style:italic&#34;&gt;-- 窗口切换更顺手，少按一个w&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;vim.keymap.set(&lt;span style=&#34;color:#b2c98f&#34;&gt;&amp;#34;n&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#b2c98f&#34;&gt;&amp;#34;&amp;lt;C-h&amp;gt;&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#b2c98f&#34;&gt;&amp;#34;&amp;lt;C-w&amp;gt;h&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;vim.keymap.set(&lt;span style=&#34;color:#b2c98f&#34;&gt;&amp;#34;n&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#b2c98f&#34;&gt;&amp;#34;&amp;lt;C-j&amp;gt;&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#b2c98f&#34;&gt;&amp;#34;&amp;lt;C-w&amp;gt;j&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;vim.keymap.set(&lt;span style=&#34;color:#b2c98f&#34;&gt;&amp;#34;n&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#b2c98f&#34;&gt;&amp;#34;&amp;lt;C-k&amp;gt;&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#b2c98f&#34;&gt;&amp;#34;&amp;lt;C-w&amp;gt;k&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;vim.keymap.set(&lt;span style=&#34;color:#b2c98f&#34;&gt;&amp;#34;n&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#b2c98f&#34;&gt;&amp;#34;&amp;lt;C-l&amp;gt;&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#b2c98f&#34;&gt;&amp;#34;&amp;lt;C-w&amp;gt;l&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#859289;font-style:italic&#34;&gt;-- Neotree&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;vim.keymap.set(&lt;span style=&#34;color:#b2c98f&#34;&gt;&amp;#34;n&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#b2c98f&#34;&gt;&amp;#34;&amp;lt;Leader&amp;gt;e&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#b2c98f&#34;&gt;&amp;#34;&amp;lt;cmd&amp;gt;Neotree toggle&amp;lt;CR&amp;gt;&amp;#34;&lt;/span&gt;, opts)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id=&#34;代码补全格式化检查&#34;&gt;代码补全、格式化、检查&lt;/h4&gt;&#xA;&lt;p&gt;要让vim看起来像一个正经的处理代码的文本编辑器，这些是必不可少的。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#d6cbb4;background-color:#252b2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-lua&#34; data-lang=&#34;lua&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#859289;font-style:italic&#34;&gt;-- 文件路径：lua/plugins/code-edit.lua&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e67e80&#34;&gt;return&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#859289;font-style:italic&#34;&gt;-- LSP 核心组件 (必须最先声明)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#b2c98f&#34;&gt;&amp;#34;neovim/nvim-lspconfig&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    dependencies &lt;span style=&#34;color:#7a8478&#34;&gt;=&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#b2c98f&#34;&gt;&amp;#34;williamboman/mason.nvim&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#b2c98f&#34;&gt;&amp;#34;williamboman/mason-lspconfig.nvim&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    },&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    config &lt;span style=&#34;color:#7a8478&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e67e80&#34;&gt;function&lt;/span&gt;()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#859289;font-style:italic&#34;&gt;-- 延迟加载 LSP 配置&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      vim.schedule(&lt;span style=&#34;color:#e67e80&#34;&gt;function&lt;/span&gt;()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#e67e80&#34;&gt;local&lt;/span&gt; lspconfig &lt;span style=&#34;color:#7a8478&#34;&gt;=&lt;/span&gt; require(&lt;span style=&#34;color:#b2c98f&#34;&gt;&amp;#34;lspconfig&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#e67e80&#34;&gt;local&lt;/span&gt; mason &lt;span style=&#34;color:#7a8478&#34;&gt;=&lt;/span&gt; require(&lt;span style=&#34;color:#b2c98f&#34;&gt;&amp;#34;mason&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#e67e80&#34;&gt;local&lt;/span&gt; mason_lspconfig &lt;span style=&#34;color:#7a8478&#34;&gt;=&lt;/span&gt; require(&lt;span style=&#34;color:#b2c98f&#34;&gt;&amp;#34;mason-lspconfig&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#859289;font-style:italic&#34;&gt;-- 通用 LSP 配置&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#e67e80&#34;&gt;local&lt;/span&gt; on_attach &lt;span style=&#34;color:#7a8478&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e67e80&#34;&gt;function&lt;/span&gt;(client, bufnr)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;          &lt;span style=&#34;color:#859289;font-style:italic&#34;&gt;-- 快捷键配置...&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#e67e80&#34;&gt;end&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        mason.setup()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        mason_lspconfig.setup({&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;          ensure_installed &lt;span style=&#34;color:#7a8478&#34;&gt;=&lt;/span&gt; { &lt;span style=&#34;color:#b2c98f&#34;&gt;&amp;#34;tsserver&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#b2c98f&#34;&gt;&amp;#34;cssls&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#b2c98f&#34;&gt;&amp;#34;html&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#b2c98f&#34;&gt;&amp;#34;clangd&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#b2c98f&#34;&gt;&amp;#34;eslint&amp;#34;&lt;/span&gt; }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        })&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        mason_lspconfig.setup_handlers({&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;          &lt;span style=&#34;color:#e67e80&#34;&gt;function&lt;/span&gt;(server_name)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            lspconfig[server_name].setup({&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;              on_attach &lt;span style=&#34;color:#7a8478&#34;&gt;=&lt;/span&gt; on_attach,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;              capabilities &lt;span style=&#34;color:#7a8478&#34;&gt;=&lt;/span&gt; require(&lt;span style=&#34;color:#b2c98f&#34;&gt;&amp;#34;cmp_nvim_lsp&amp;#34;&lt;/span&gt;).default_capabilities(),&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;              &lt;span style=&#34;color:#859289;font-style:italic&#34;&gt;-- 各语言特殊配置...&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            })&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;          &lt;span style=&#34;color:#e67e80&#34;&gt;end&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        })&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#e67e80&#34;&gt;end&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e67e80&#34;&gt;end&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  },&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#859289;font-style:italic&#34;&gt;-- 自动补全引擎（需在 LSP 之后加载）&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#b2c98f&#34;&gt;&amp;#34;hrsh7th/nvim-cmp&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    dependencies &lt;span style=&#34;color:#7a8478&#34;&gt;=&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#b2c98f&#34;&gt;&amp;#34;hrsh7th/cmp-nvim-lsp&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#b2c98f&#34;&gt;&amp;#34;L3MON4D3/LuaSnip&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    },&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    config &lt;span style=&#34;color:#7a8478&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e67e80&#34;&gt;function&lt;/span&gt;()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#859289;font-style:italic&#34;&gt;-- cmp 配置...&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e67e80&#34;&gt;end&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  },&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#859289;font-style:italic&#34;&gt;-- 格式化工具&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#b2c98f&#34;&gt;&amp;#34;stevearc/conform.nvim&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    config &lt;span style=&#34;color:#7a8478&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e67e80&#34;&gt;function&lt;/span&gt;()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#859289;font-style:italic&#34;&gt;-- conform 配置...&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e67e80&#34;&gt;end&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  },&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#859289;font-style:italic&#34;&gt;-- 语法高亮增强&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#b2c98f&#34;&gt;&amp;#34;nvim-treesitter/nvim-treesitter&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    build &lt;span style=&#34;color:#7a8478&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#b2c98f&#34;&gt;&amp;#34;:TSUpdate&amp;#34;&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    config &lt;span style=&#34;color:#7a8478&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e67e80&#34;&gt;function&lt;/span&gt;()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#859289;font-style:italic&#34;&gt;-- treesitter 配置...&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#e67e80&#34;&gt;end&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  }&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;代码编辑器的配置就告一段落了，真写规范的代码还是建议vscode（虽然有点偏离终端的主题了）。如果你爱折腾vim那当然也可以，工具自己用的趁手就是最好的。&lt;/p&gt;&#xA;&lt;h2 id=&#34;oh-my-zsh&#34;&gt;Oh-My-Zsh&lt;/h2&gt;&#xA;&lt;p&gt;Oh My Zsh 是基于 zsh 命令行的一个扩展工具集，提供了丰富的扩展功能。&lt;/p&gt;&#xA;&lt;h3 id=&#34;安装zsh&#34;&gt;安装&lt;strong&gt;ZSH&lt;/strong&gt;&lt;/h3&gt;&#xA;&lt;p&gt;&lt;code&gt;sudo pacman -S zsh&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;设置默认终端为zsh&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;chsh -s /bin/zsh&lt;/code&gt;&lt;/p&gt;&#xA;&lt;h3 id=&#34;安装oh-my-zsh&#34;&gt;安装Oh-My-Zsh&lt;/h3&gt;&#xA;&lt;p&gt;国内镜像&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;sh -c &amp;quot;$(curl -fsSL https://gitee.com/pocmon/ohmyzsh/raw/master/tools/install.sh)&amp;quot;&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;我个人觉得这个主题就挺好的了，不多改动。&lt;/p&gt;&#xA;&lt;h4 id=&#34;插件安装&#34;&gt;插件安装&lt;/h4&gt;&#xA;&lt;h4 id=&#34;zsh--autosuggestions&#34;&gt;zsh -autosuggestions&lt;/h4&gt;&#xA;&lt;p&gt;预测命令&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#d6cbb4;background-color:#252b2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;git clone https://github.moeyy.xyz/https://github.com/zsh-users/zsh-autosuggestions &lt;span style=&#34;color:#b2c98f&#34;&gt;${&lt;/span&gt;ZSH_CUSTOM&lt;span style=&#34;color:#e67e80&#34;&gt;:-&lt;/span&gt;~/.oh-my-zsh/custom&lt;span style=&#34;color:#b2c98f&#34;&gt;}&lt;/span&gt;/plugins/zsh-autosuggestions&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id=&#34;zsh-syntax-highlighting&#34;&gt;zsh-syntax-highlighting&lt;/h4&gt;&#xA;&lt;p&gt;语法检查，命令正确时为绿色，否则红色。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#d6cbb4;background-color:#252b2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;git clone https://github.moeyy.xyz/https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id=&#34;启用插件&#34;&gt;启用插件&lt;/h4&gt;&#xA;&lt;p&gt;&lt;code&gt;nvim ~/.zshrc&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;修改：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#d6cbb4;background-color:#252b2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;plugins=(&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  git&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  zsh-autosuggestions&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  zsh-syntax-highlighting&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  )&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;重启终端即可启用。&lt;/p&gt;&#xA;&lt;h4 id=&#34;别名设置&#34;&gt;别名设置&lt;/h4&gt;&#xA;&lt;p&gt;别名可以更快地帮助我们启用命令&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;nvim ~/.zshrc&lt;/code&gt;&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#d6cbb4;background-color:#252b2e;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;alias s=&amp;#34;neofetch&amp;#34;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;alias vim=&amp;#34;nvim&amp;#34;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;alias c=&amp;#34;clear&amp;#34;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;alias gcl = &amp;#34;git clone&amp;#34;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;这里根据我的习惯改了几个别名。&lt;/p&gt;&#xA;</description>
    </item>
  </channel>
</rss>
