--- title: "SpaceVim lang#elixir 模块" description: "这一模块为 SpaceVim 提供了 Elixir 的开发支持,包括代码补全、语法检查、代码格式化等特性。" lang: zh --- # [可用模块](../../) >> lang#elixir - [模块简介](#模块简介) - [功能特性](#功能特性) - [启用模块](#启用模块) - [快捷键](#快捷键) - [语言专属快捷键](#语言专属快捷键) - [交互式编程](#交互式编程) - [运行当前脚本](#运行当前脚本) ## 模块简介 这一模块为 SpaceVim 提供了 Elixir 开发支持,包括代码补全、语法检查以及代码格式化等特性。 ## 功能特性 该模块主要包括插件 [slashmili/alchemist.vim](https://github.com/slashmili/alchemist.vim), 该插件提供: - 代码补全 - 文档查询 - 跳转定义处 同时,SpaceVim 还为 Elixir 开发提供了交互式编程、一键运行和语言服务器等功能。若要启用语言服务器,需要载入 `lsp` 模块。 ## 启用模块 可通过在配置文件内加入如下配置来启用该模块: ```toml [[layers]] name = "lang#elixir" ``` ## 快捷键 ### 语言专属快捷键 | 快捷键 | 功能描述 | | --------------- | --------------------------------------- | | `SPC l d` / `K` | 展示光标函数或变量相关文档 | | `SPC l t` | 跳至 tag 栈 | | `SPC l e` | 重命名光标函数或变量(需要 `lsp` 模块) | | `g d` | 跳至函数或变量定义处 | ### 交互式编程 启动 `iex` 交互进程,快捷键为: `SPC l s i`。 将代码传输给 REPL 进程执行: | 快捷键 | 功能描述 | | ----------- | ----------------------- | | `SPC l s b` | 发送整个文件内容至 REPL | | `SPC l s l` | 发送当前行内容至 REPL | | `SPC l s s` | 发送已选中的内容至 REPL | ### 运行当前脚本 在编辑 Elixir 文件时,可通过快捷键 `SPC l r` 快速异步运行当前文件,运行结果会展示在一个独立的执行窗口内。