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