这篇文章来自我之前整理的 10-minutes-to-Helix。
目标很简单,让你用 10 分钟把 Helix 跑起来,知道几个最关键的入口键,能打开文件、搜索、改主题、保存退出,然后再慢慢探索。
如果你用过 Vim、Neovim 或 SpaceVim,Helix 会有熟悉的地方,比如 modal editing、h j k l、搜索、寄存器、宏。
但 Helix 不是一个 Vim 配置集合。
它更像一个从头设计的现代终端编辑器,多选区、语法树选择、文件 picker、项目搜索、主题这些能力默认就有,不需要先搭一套插件系统。
相对 Neovim 或 SpaceVim,Helix 的优势是少配置、默认体验完整、快捷键有弹出提示。缺点也很明确,它和 Vim 有不少键位不同,不能照搬 Vim 肌肉记忆。
Vim 用户先看这里
如果你从 Vim 或 Neovim 过来,不用担心所有东西都要重学。
h j k l、i/a/o/O、/、n/N、:w、:q、:wq 这些常用操作基本还是原来的感觉。
但有一个差异要提前知道:
Vim 经常是「动作 + 范围」,Helix 更像是「先选中,再操作」。
Helix 里很多不顺手都来自这个差异。下面只列真正容易卡住的地方:
| 你想做的事 | Vim 习惯 | Helix 写法 |
| --- | --- | --- |
| 跳到文件开头 / 结尾 | gg / G | g g / g e |
| 找文件、搜项目、用剪贴板 | Leader 或插件快捷键 | Space f、Space /、Space y、Space p |
| 删除当前行 | dd | x d |
| 复制当前行 | yy | x y |
| 修改当前行 | cc | x c |
| 删除一个词 | dw | w d |
| 修改一个词 | cw | w c |
| 修改 inner word | ciw | m i w c |
| 删除括号内内容 | di( | m i ( d |
多行选择最常用的几种写法:
| 你想做的事 | Helix 写法 |
| --- | --- |
| 选中当前行 | x |
| 从当前行向下多选几行 | 连续按 x |
| 删除选中的多行 | 选好多行后按 d |
| 复制选中的多行 | 选好多行后按 y |
| 修改选中的多行 | 选好多行后按 c |
| 把选区变成完整行范围 | X |
| 缩回单个光标 | ; |
如果你想像 Vim visual mode 一样拖出一段范围,按 v 进入 Select mode,用 j/k/h/l/w 等移动扩展选区。如果最后想按整行处理,再按 X 把选区扩成完整行。
刚开始只要把这几组用顺,Helix 就不会显得那么别扭。
一、安装
macOS:
brew install helixArch Linux:
sudo pacman -S helixWindows:
scoop install helix其他平台可以看 官方安装文档。
打开 Helix:
hx打开某个文件:
hx README.md不知道怎么退出时,按 Esc 回到 Normal mode,然后输入:
:q保存并退出:
:wqHelix 自带教程,有空可以跑一遍:
hx --tutor二、先把主题换掉
如果你不喜欢默认主题,可以马上换。
临时试一个主题:
:theme github_dark_high_contrast
:theme dark-synthwave
:theme onedark
:theme gruvbox在 Helix 里输入 :theme 后,可以用 Tab 在候选主题之间切换。
想永久生效,打开配置文件:
:config-open把主题写到文件第一行:
theme = "github_dark_high_contrast"保存:
:w重新加载配置:
:config-reload如果配置文件不存在,也可以先在终端创建:
mkdir -p ~/.config/helix
touch ~/.config/helix/config.toml三、记住三个入口键
Helix 刚上手不用背完整快捷键表,先记住三个入口键:
| 键 | 用来做什么 | 怎么探索 |
| --- | --- | --- |
| g | 跳转,文件开头、文件结尾、行首、行尾、定义、引用 | 按下 g 后看底部提示 |
| Space | 常用功能,文件、buffer、项目搜索、注释、剪贴板、命令面板 | 按下 Space 后看弹出提示 |
| : | 命令行,保存、退出、换主题、打开配置、重新加载配置 | 输入 : 后用 Tab 补全 |
这三个键的价值是,你不需要一开始就记住所有命令。先按入口键,看提示,再继续按下一个键。
四、开始编辑
Helix 最核心的编辑模型是:
先选择,再操作。
在 Vim 里,你经常先输入动作,再输入范围,比如 dw。
在 Helix 里,你通常先得到一个选区,再对选区执行操作,比如 w 后按 d。
基本操作
| 快捷键 | 作用 |
| --- | --- |
| h j k l | 上下左右移动 |
| i | 在选区前进入 Insert mode |
| a | 在选区后进入 Insert mode |
| o / O | 在下方 / 上方新开一行 |
| Esc | 回到 Normal mode |
| u / U | 撤销 / 重做 |
| . | 重复上一次修改 |
选择和修改
| 快捷键 | 作用 |
| --- | --- |
| x | 选中当前行 |
| % | 选中整个文件 |
| w | 移动到下一个 word 起点,并形成选区 |
| e | 移动到下一个 word 结尾,并形成选区 |
| v | 进入 Select mode,更明确地扩展选区 |
| ; | 把选区收缩到光标 |
| d | 删除选区 |
| c | 修改选区,也就是删除并进入 Insert mode |
| y | 复制选区 |
| p | 粘贴 |
| > / < | 增加 / 减少缩进 |
常用组合:
| 快捷键 | 作用 |
| --- | --- |
| x d | 删除当前行 |
| x c | 修改当前行 |
| x y | 复制当前行 |
| % d | 删除整个文件内容 |
| m i w c | 修改当前 word,类似 Vim 的 ciw |
| m a ( | 选中括号和括号内内容 |
搜索
| 快捷键 | 作用 |
| --- | --- |
| / | 在当前文件搜索 |
| n / N | 下一个 / 上一个搜索结果 |
| * | 搜索当前选区 |
| s | 在当前选区里选择匹配项 |
| Space / | 在整个项目里搜索 |
试试多选区:
- 用
%选择整个文件。 - 按
s。 - 输入要匹配的词,比如
count。 - 按
Enter。 - 按
c,输入新词,比如total,然后按Esc。
这时你是在一次性修改所有匹配项。
五、更多 Vim 差异
这一节补充一些细节,前面的速查表已经够你开始用了。
| 你在 Vim 里的习惯 | Helix 里怎么做 | 说明 |
| --- | --- | --- |
| Leader 快捷键 | Space | Helix 的 Space 是内置功能入口,不是用户自定义 leader |
| Vim visual mode 才有选区 | Helix Normal mode 就围绕选区工作 | 这是最需要重新适应的地方 |
| f / t 只在当前行找字符 | Helix 的 f / t 不限当前行 | 这是官方文档特别提示的差异 |
| Ctrl-v 块选择 | 常用 C / Alt-C 做多光标 | C 向下一行复制选区,Alt-C 向上一行复制选区 |
| 搜索后逐个替换 | 常用 s 直接把匹配项变成多个选区 | 选区范围内按 s,输入正则,回车后再 c / d / y |
如果你已经有很多 Vim 肌肉记忆,先别急着把 Helix 改成 Vim。
先按 Helix 的方式用几天,g 跳转、Space 找功能、: 跑命令、先选择再操作。
六、进阶内容
Helix 内置 LSP client,但不会替你安装所有 language server。
如果你只是写 Markdown、改配置、看代码,前面内容已经够用。当你需要补全、跳转定义、诊断、格式化时,再看这一节。
检查当前环境:
hx --health检查某个语言:
hx --health rust
hx --health python
hx --health typescript只要 language server 已经安装,并且在你的 PATH 里,Helix 通常就能直接使用。
一个简单配置:
theme = "github_dark_high_contrast"
[editor]
line-number = "relative"
mouse = false
bufferline = "multiple"
color-modes = true
[editor.cursor-shape]
insert = "bar"
normal = "block"
select = "underline"配置文件位置:
~/.config/helix/config.toml
Comments
Comments appear after approval.