为 Neovim 内置 LSP 客户端提供的一组开箱即用的语言服务器配置。
dense-analysis/ale
一款 Vim/Neovim 插件,编辑时异步检查语法,可调用 prettier、eslint 等工具修复代码,并作为 LSP 客户端使用。
- Star
- 14,025
- Fork
- 1,487
- 未关闭 Issue
- 591
- 最近提交
- 18天前
这是什么?
ALE(Asynchronous Lint Engine)是一款适用于 Neovim 0.7+ 和 Vim 8.2+ 的插件,在编辑文本文件时检查语法和语义错误。检查在后台异步运行,问题可以在保存前就显示出来,检查过程中编辑器不会卡顿。
除了 lint,ALE 还能通过 :ALEFix 命令以非阻塞方式调用 prettier、eslint、autopep8 等命令行格式化和修复工具。它同时作为 Language Server Protocol 客户端,支持诊断、跳转定义、查找引用、悬停信息、符号搜索、重命名和代码操作,并可配合内置补全或 nvim-cmp、Deoplete 使用。
ALE 使用 Vim script 编写,自身没有额外依赖,只有在需要时才加载 LSP 相关代码。可通过常见插件管理器安装,也可以直接克隆到 Vim 的 pack 目录中。
核心功能
- 01编辑时在后台异步对缓冲区内容运行 linter
- 02通过 :ALEFix 调用 prettier、eslint 等工具修复文件
- 03作为 LSP 客户端提供诊断、跳转定义和查找引用
- 04支持悬停信息、符号搜索、重命名和代码操作
- 05同时兼容 Vim 8.2+ 和 Neovim 0.7+,自身无外部依赖
适用场景
- 在 Vim 或 Neovim 中保存文件前就看到 lint 错误
- 保存时用 prettier 或 autopep8 自动格式化 JavaScript 或 Python 文件
- 在终端编辑器中使用跳转定义等 LSP 功能
快速上手
- 1
创建 Vim 插件包目录
mkdir -p ~/.vim/pack/git-plugins/start - 2
将 ALE 克隆到插件包目录
git clone --depth 1 https://github.com/dense-analysis/ale.git ~/.vim/pack/git-plugins/start/ale
使用前须知
- 需要 Vim 8.2 及以上版本或 Neovim 0.7 及以上版本。
- 在 ALE 使用前,linter 和 fixer 工具必须单独安装。
收录于专题
标签
常见问题
- ale 是什么?
- 一款 Vim/Neovim 插件,编辑时异步检查语法,可调用 prettier、eslint 等工具修复代码,并作为 LSP 客户端使用。 ALE(Asynchronous Lint Engine)是一款适用于 Neovim 0.7+ 和 Vim 8.2+ 的插件,在编辑文本文件时检查语法和语义错误。检查在后台异步运行,问题可以在保存前就显示出来,检查过程中编辑器不会卡顿。
- ale 可以免费使用吗?用的什么许可证?
- ale 以 BSD-2-Clause 许可证开源。用于商业产品前,请先确认许可证条款。
- ale 还在维护吗?
- 活跃维护中。ale 最近一次提交是在 2026年10月20日。
- ale 适合用来做什么?
- 在 Vim 或 Neovim 中保存文件前就看到 lint 错误 保存时用 prettier 或 autopep8 自动格式化 JavaScript 或 Python 文件 在终端编辑器中使用跳转定义等 LSP 功能
- ale 怎么安装和运行?
- 创建 Vim 插件包目录: mkdir -p ~/.vim/pack/git-plugins/start 将 ALE 克隆到插件包目录: git clone --depth 1 https://github.com/dense-analysis/ale.git ~/.vim/pack/git-plugins/start/ale
- 在哪里获取 ale?
- 源代码和安装说明在 GitHub 上:https://github.com/dense-analysis/ale
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
轻量、可扩展的 Vim 状态栏与标签栏插件,显示模式、Git 状态、文件信息和光标位置。
一个命令行工具,基于 pyflakes 检测并删除 Python 代码中未使用的导入和变量。
一个 Python 工具和 pre-commit 钩子,可自动为多行调用、字面量和定义补全末尾逗号。
一个用 TypeScript 编写的开源框架,用于构建基于浏览器和桌面端的 IDE 与开发工具。
Emacs 的 Language Server Protocol 客户端,为 Emacs 提供类 IDE 的补全、诊断与代码导航。