基于官方 Master 分支的定制版本,包含未合并的 PR 和自定义功能。
# branch local-dev
git clone -b local-dev https://github.com/erasin/helix
cd helix
cargo install --path helix-term发布版本下载: Releases
| PR | 描述 |
|---|---|
| #14544 | 文件监控 |
| #12369 | Icons v2 (需 Nerd Fonts) |
| #13133 | 行内 Git Blame |
| #13206 | 单词补全 |
| #12275 | 语法符号选择器 |
| #5768 | 文件目录树 |
| #14544 | 文件变动 |
| 功能 | 说明 |
|---|---|
| tree_explorer | 文件目录树,支持鼠标操作 |
| icons | 文件类型图标显示 |
| lang-config-open | 打开语言配置文件 |
| commandline | 隐藏命令行 |
| inline-blame | 行内 Git Blame |
| word-completion | 单词补全 |
| zen-mode | 写作专注模式 |
~/.config/helix/
├── config.toml # 主配置文件
├── languages.toml # 语言服务器配置
├── themes/ # 主题目录
├── snippets/ # 代码片段
├── actions/ # LSP Actions
├── scripts/ # 辅助脚本
└── runtime/ # 运行时文件
~/.config/helix/(全局配置){PROJECT}/.helix/(项目配置)
- config.toml: 编辑器配置 (主题、快捷键、状态栏等)
- languages.toml: 语言服务器和语言特定配置
| 快捷键 | 功能 |
|---|---|
Space + w + c |
重新加载配置 |
Space + w + r |
重新加载文件 |
Space + . |
当前目录文件选择 |
Space + x |
关闭当前缓冲区 |
Space + n |
函数签名帮助 |
\ + z |
软换行切换 |
Z + Z |
保存并退出 |
| 快捷键 | 功能 |
|---|---|
Esc |
退出到普通模式 |
i |
进入插入模式 |
I |
行首插入 |
a |
后移并插入 |
A |
行尾插入 |
o |
下方新行 |
O |
上方新行 |
| 快捷键 | 功能 |
|---|---|
Space + o + s |
Scooter 全局搜索 |
Space + o + g |
LazyGit |
Space + o + e |
Yazi 文件浏览器 |
| 脚本 | 说明 |
|---|---|
ime-switch |
输入法自动切换 |
yazi-picker.sh |
Yazi 文件选择器 |
lazygit-picker.sh |
LazyGit 集成 |
scooter-picker.sh |
Scooter 搜索集成 |
hx-open |
Tmux 中打开文件 |
hx-sh |
Tmux 执行命令 |
在 tmux 中的 Helix 编辑器中打开文件,适用于 Godot 等外部编辑器集成。
参数:
hx-open [项目路径] 文件路径[:行号[:列号]]
项目路径:项目根目录(Godot 调用时必传)文件路径:要打开的文件,支持行号和列号-v:竖直拆分 pane(默认水平拆分)
示例:
# 完整参数
hx-open /path/to/project scene.tscn:10:5
# 无项目路径时,自动向上查找 .git 目录
hx-open scene.tscn:20
# Godot 配置(External Editor)
hx-open {project} {file}:{line}:{col}功能:
- 优先使用项目根目录的 hx 实例
- 已有 hx 时发送
:o命令打开文件 - 无 hx 时创建新窗口
- 自动切换 tmux 焦点到目标窗口
在 tmux 新 pane 中执行 shell 命令,适用于 Helix 编辑器 :sh 调用。
参数:
hx-sh [命令]
命令:要执行的命令(可选),默认为交互式 shell
示例:
# 打开交互式 shell
hx-sh
# 执行命令并退出
hx-sh ls -la
# 打开交互式程序
hx-sh htop功能:
- 自动查找当前 hx 所在窗口
- 复用窗口中空闲的 shell pane (zsh/bash/sh)
- 智能选择拆分方向(避免同方向叠加)
- 1 pane:水平拆分
- 已有水平 pane:竖直拆分
- 已有竖直 pane:水平拆分
- 编译型: Rust, Go, C/C++, Dart
- 脚本型: Python, Ruby, PHP, Lua
- Web: TypeScript, JavaScript, HTML, CSS, Vue, Svelte
- 数据: JSON, YAML, TOML, XML
- 游戏: GDScript, GDShader
- 其他: Markdown, LaTeX, Typst
| 语言 | 服务器 |
|---|---|
| Rust | rust-analyzer |
| Go | gopls |
| Python | ruff-lsp, ty |
| TypeScript | typescript-language-server |
| PHP | intelephense |
| Lua | lua-language-server |
| Markdown | markdown-oxide |
- Linux/MacOS: Alacritty, Ghostty
- Windows: Windows Terminal
export COLORTERM=truecolor
export TERM=xterm-256colorset -g default-terminal "tmux-256color"
set -ga terminal-overrides ',xterm-256color:Tc'
set -as terminal-overrides ',*:Smulx=\E[4::%p1%dm'
set -as terminal-overrides ',*:Setulc=\E[58::2::%p1%{65536}%/%d::%p1%{256}%/%{255}%&%d::%p1%{255}%&%d%;m'如需透明背景,创建自定义主题:
# themes/onedark_local.toml
inherits = "onedark"
"ui.background" = {} # 使用终端背景