跳至内容

vale in NvChad (Neovim)

简介

vale.sh 是面向希望提高其语音和风格一致性的技术作家的最主要的开源项目之一。 它可以在几乎所有主要操作系统平台(Linux、macOS、Windows)上的多个编辑器中使用。 你可以通过前往vale.sh 网站了解更多关于该项目的信息。 本指南将引导你将vale添加到 NvChad。 由于它包含在用于安装的 Mason 包中,因此该过程并不太难,尽管它确实需要一些小的编辑和配置才能开始运行。 需要明确的是,NvChad 实际上是编辑器 Neovim 的配置管理器,因此从现在开始,参考将是nvim

先决条件

  • 熟悉 NvChad 2.0 有助于
  • 能够通过使用你最喜欢的编辑器从命令行更改文件。 (vi 或者你最喜欢的)
  • nvim-lint 插件在 NvChad 中已正确安装。

安装 nvim-lint

nvim-lint 插件通过纠正代码或内容的句法和语义部分来支持将linters插入编辑器。

要安装nvim-lint 插件,只需在lua/plugins 文件夹中创建一个nvim-lint.lua 文件; 下次启动 Neovim 实例时,它将被集成到配置中。

该文件的内容如下

nvim-lint.lua
return {
 {
  "mfussenegger/nvim-lint",
  enabled = true,
  event = "VeryLazy",
  config = function()
   require("lint").linters_by_ft = {
    markdown = { "markdownlint", "vale" },
    yaml = { "yamllint" },
   }

   vim.api.nvim_create_autocmd({ "BufWritePost" }, {
    callback = function()
     require("lint").try_lint()
    end,
   })
  end,
 },
}

此配置文件设置为与 markdown 代码一起使用,但可以使用项目站点上可用的那些进行修改或扩展。

更改完成后,退出并重新进入 NvChad 以安装插件并导入配置。

使用 Mason 安装 vale

使用 Mason 从 NvChad 内部安装 vale,只需几个额外的步骤即可保持包最新。 定期从nvim内部运行 Mason 将向你显示是否有需要安装的更新,并允许你从那里更新它们。 这包括安装 vale 后。 让我们从运行nvim以拉起一个空文件开始,然后使用Shift + : + Mason 进入命令模式,这应该会显示一个类似于此的界面

vale_mason

与其查看整个包列表,不如使用菜单项 4 将列表限制为 linters。 按4 并向下滚动列表,直到找到 vale,并将光标放在该行上,按i 进行安装。 你的列表现在应该显示已安装的 vale

vale_mason_installed

配置和初始化 vale

有两种方法可以用来配置 vale。 你可以从以下两种选择中挑选你喜欢的。 一个会让你在 vale 二进制文件路径内创建配置文件,然后将它们移动到你的主文件夹,另一个会让你直接在你的主文件夹中创建配置文件。 它们的效果都一样。 第二个选项的手动步骤更少,但需要 vale 二进制文件的长路径。

提示

如果你想隐藏你的 "styles" 文件夹(如下),请在创建期间通过将 "StylesPath" 选项从 "styles" 更改为隐藏的名称(如 ".styles" 或 ".vale_styles")来稍微修改 .vale.ini 的内容。 例如

StylesPath = .vale_styles

仅仅安装 `vale` 是不够的。您还需要一些额外的项目。首先,您需要一个 `vale.ini` 文件,该文件将位于您主文件夹的根目录下。接下来,您需要使用 `vale sync` 命令生成 "styles" 目录。

如果您在 `vale` 二进制文件路径下:`~/.local/share/nvim/mason/packages/vale/`,您可以直接在此处创建 `vale.ini` 文件,生成 "styles" 目录,然后将它们都移动到您的主目录根目录 `~/`。使用来自 vale.sh 网站 的配置工具很容易创建 `vale.ini` 文件。在这里,选择 "Red Hat Documentation Style Guide" 作为基本样式,并选择 "alex" 作为补充样式。使用 "alex" 是可选的,但它可以帮助您发现和修复性别歧视、两极分化或种族相关的词语等,这很重要。如果您选择这些选项,您的屏幕应如下所示

vale_ini_nvchad

只需将底部的内容复制下来,使用您喜欢的编辑器创建 `vale.ini` 文件,然后粘贴您复制的内容。

您需要创建 "styles" 文件夹。通过使用 `sync` 命令运行 `vale` 二进制文件来执行此操作。同样,如果您从 `~/.local/share/nvim/mason/packages/vale/` 目录进行操作,只需执行

./vale sync

完成后将显示以下内容

vale_sync

将 `vale.ini` 文件和 `styles` 文件夹复制到您主文件夹的根目录。

cp .vale.ini ~/
cp -rf styles ~/

如果您不想复制文件,只想在您的主目录中创建它们,您可以从 `~/` 使用以下命令

首先,使用 vale.sh 网站 在您的主文件夹中创建 `vale.ini` 文件。同样,选择 "Red Hat Documentation Style Guide" 作为您的基本样式,并选择 "alex" 作为补充样式。然后将内容复制到 `vale.ini` 文件中。

vale_ini_nvchad

接下来,运行 `vale sync` 命令。由于您在您的主目录中,您需要二进制文件的完整路径

~/.local/share/nvim/mason/packages/vale/vale sync

vale_sync

在这种情况下,无需复制文件,因为它们将在您的主目录根目录中创建。

`lint.lua` 文件的更改

还需要最后一步。您需要更改位于 `~/.config/nvim/lua/configs/` 中的 `lint.lua` 文件,并添加 `vale` linter。

使用上面的示例将 *vale* 添加到 markdown 文件可用的 linter 中,需要将新的 linter 添加到已存在的字符串中

markdown = { "markdownlint", "vale" },

完成后的文件将如下所示

require("lint").linters_by_ft = {
  markdown = { "markdownlint", "vale" },
  yaml = { "yamllint" },
}

vim.api.nvim_create_autocmd({ "BufWritePost" }, {
  callback = function()
    require("lint").try_lint()
  end,
})

结论和最终想法

现在,正常启动 `nvim` 将调用 `vale`,您的文档将与您首选的样式进行比较。打开现有文件将启动 `vale` 并显示任何标记的项目,而启动新文件则不会在插入模式下显示任何内容。退出插入模式后,将检查您的文件。这样可以避免屏幕过于杂乱。`vale` 是一款优秀的开源产品,可以很好地集成到许多编辑器中。NvChad 也不例外,虽然设置它需要几个步骤,但它并不困难。

作者:Steven Spencer

贡献者:Franco Colussi, Krista Burdine, Serge, Ganna Zhyrnova