---
title: "SpaceVim checkers 模块"
description: "这一模块为 SpaceVim 提供了代码语法检查的特性，同时提供代码实时检查，并列出语法错误的位置。"
lang: zh
---

# [可用模块](../) >> checkers

<!-- vim-markdown-toc GFM -->

- [模块描述](#模块描述)
- [启用模块](#启用模块)
- [模块配置](#模块配置)
- [快捷键](#快捷键)

<!-- vim-markdown-toc -->

## 模块描述

这一模块为 SpaceVim 提供了自动语法检查的特性，并且可设置为输入时实时检查。默认情况
下已经支持多种语言工具。

## 启用模块

可通过在配置文件内加入如下配置来启用该模块：

```toml
[[layers]]
  name = "checkers"
```

## 模块配置

`checkers` 模块默认已经加载了，与该模块相关的选项有两种，一个是全局选项，一个是模块选项：

**全局选项:**

所有的 SpaceVim 全局选项需要写在`[options]`下方：

| 选项名称      | 默认值    | 功能描述               |
| ------------- | --------- | ---------------------- |
| `lint_engine` | `neomake` | 设置默认的语法检查插件 |

默认的语法检查插件是 `neomake`，你也可以设置成 `ale` 或者 `syntastic`。

如果需要设置 neomake 选项，需要使用启动函数。在启动函数里面可以使用 vim 脚本。具体如何配置 neomake 可以阅读`:h neomake`。

**模块选项：**

默认情况下，语法错误将在当前行下方展示，如果需要禁用这个功能，可以将`show_cursor_error`模块选项设置成`false`。

| 选项名称                | 默认值  | 功能描述                                 |
| ----------------------- | ------- | ---------------------------------------- |
| `lint_on_the_fly`       | `false` | 设置语法实时检查，默认已禁用             |
| `lint_on_save`          | `true`  | 设置保存文件时进行语法检查，默认已启用   |
| `show_cursor_error`     | `true`  | 设置在当前行下方展示语法错误，默认已启用 |
| `lint_exclude_filetype` | `[]`    | 设置禁用语法检查的文件类型列表           |

```toml
[[layers]]
  name = "checkers"
  show_cursor_error = false
```

## 快捷键

| 快捷键    | 功能描述                        |
| --------- | ------------------------------- |
| `SPC e .` | 打开错误临时快捷键菜单          |
| `SPC e c` | 清除错误列表                    |
| `SPC e h` | 描述当前检查工具                |
| `SPC e n` | 跳至下一个语法错误位置          |
| `SPC e N` | 跳至上一个语法错误位置          |
| `SPC e p` | 跳至上一个语法错误位置          |
| `SPC e l` | 列出错误列表窗口                |
| `SPC e L` | 列出错误列表窗口并跳至该窗口    |
| `SPC e e` | 解释光标处的语法错误            |
| `SPC e s` | 设置语法检查工具 (TODO)         |
| `SPC e S` | 设置语法检查工具执行命令 (TODO) |
| `SPC e v` | 确认语法检查工具启动状态        |
| `SPC t s` | 临时启用/禁用语法检查           |
