<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>终端 on 映屿</title>
    <link>https://blog.verdant.ee/tags/%E7%BB%88%E7%AB%AF/</link>
    <description>Recent content in 终端 on 映屿</description>
    <generator>Hugo</generator>
    <language>zh-cn</language>
    
      <managingEditor>i@glowisle.me (五葉地錦)</managingEditor>
    
    
      <webMaster>i@glowisle.me (五葉地錦)</webMaster>
    
    
    
    <lastBuildDate>Tue, 15 Apr 2025 21:15:24 +0000</lastBuildDate>
    
    
    <atom:link href="http://blog.verdant.ee/tags/%E7%BB%88%E7%AB%AF/atom.xml" rel="self" type="application/rss+xml" />
    <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>
