如何自定义 Helix 状态栏元素与显示区域
如何自定义 Helix 状态栏元素与显示区域【免费下载链接】helixA post-modern modal text editor.项目地址: https://gitcode.com/GitHub_Trending/he/helixHelix 编辑器窗口底部的状态栏statusline默认显示模式、LSP 活动指示器、文件名和诊断信息等。如果你想在状态栏中显示分支名、光标所在百分比、选区数量或者调整元素在左/中/右三个区域的排布和分隔符可以通过config.toml中的[editor.statusline]配置段完成。本文基于 配置文档 中该配置段的全部可用键说明完整的配置方法和生效方式。打开并定位配置文件状态栏配置写入用户配置目录下的config.toml见 configuration.mdLinux 和 Mac~/.config/helix/config.tomlWindows%AppData%\helix\config.toml在 Helix 普通模式下直接输入:config-open可以打开这个文件不必手动定位路径。项目内还可以放置.helix/config.toml其设置会与用户配置目录和内置配置合并。配置状态栏的三个显示区域文档将状态栏划分为左、中、右三个对齐区域[ ... ... LEFT ... ... | ... ... ... CENTER ... ... ... | ... ... RIGHT ... ... ]文档给出的完整配置示例如下可直接用于config.toml[editor.statusline] left [mode, spinner] center [file-name] right [diagnostics, selections, position, file-encoding, file-line-ending, file-type] separator │ mode.normal NORMAL mode.insert INSERT mode.select SELECT diagnostics [warning, error] workspace-diagnostics [warning, error][editor.statusline]支持的子键及其默认值来自 editor.md键说明默认值left状态栏左侧元素列表[mode, spinner, file-name, read-only-indicator, file-modification-indicator]center状态栏中间元素列表[]right状态栏右侧元素列表[diagnostics, selections, register, position, file-encoding]separator元素之间的分隔字符│mode.normalnormal 模式下mode元素显示的文字NORmode.insertinsert 模式下mode元素显示的文字INSmode.selectselect 模式下mode元素显示的文字SELdiagnostics当前缓冲区中显示的警告/错误严重级别列表[warning, error]workspace-diagnostics工作区级别显示的警告/错误严重级别列表[warning, error]也就是说只修改mode.*三个键就能把状态栏的模式指示从NOR/INS/SEL换成更完整的NORMAL/INSERT/SELECTdiagnostics和workspace-diagnostics则控制诊断元素按哪些严重级别计数显示。可用的状态栏元素left、center、right三个列表中只能使用文档列出的元素名。完整列表如下元素说明mode当前编辑器模式由mode.normal/mode.insert/mode.select控制文字spinner表示 LSP 活动的进度指示器file-name已打开文件的路径/名称file-absolute-path已打开文件的绝对路径/名称file-base-name已打开文件的基名current-working-directory当前工作目录file-modification-indicator文件有未保存修改时显示[]file-encoding打开文件的编码仅在与 UTF-8 不同时显示file-line-ending文件行尾CRLF 或 LFfile-indent-style文件缩进风格read-only-indicator文件不可写时显示[readonly]total-line-numbers打开文件的总行数file-type打开文件的类型diagnostics警告和/或错误的数量workspace-diagnostics工作区的警告和/或错误数量selections主选区索引 / 当前活动选区总数primary-selection-length主选区当前包含的字符数position光标位置position-percentage光标位置占文件总行数的百分比separatoreditor.statusline.separator定义的字符串默认│spacer在元素之间插入空格可连续指定多个version-control已打开工作区的当前分支名或 detached commit 哈希register当前选中的寄存器code-action-hint有可用 code action 时的指示器例如想把 Git 分支名加到左侧、把光标百分比加到右侧只需在对应列表中加入version-control和position-percentage[editor.statusline] left [mode, spinner, version-control] right [selections, position, position-percentage, file-encoding]元素在区域内的显示顺序按列表中的排列顺序依次生效separator元素可用来在任意两个元素之间插入一个额外分隔符spacer则用于插入空格。使配置生效并验证保存config.toml后在 Helix 中执行:config-reload即可重新加载配置在 Unix 系统上也可以向 Helix 进程发送 USR1 信号如pkill -USR1 hx达到同样效果。验证方式状态栏会立即按新配置重新渲染。对照你写入的列表逐项检查左侧是否出现mode、spinner有 LSP 活动时时转动等指定元素且文字为mode.normal/mode.insert/mode.select定义的值在 insert 模式下按i进入可确认显示变为INSERT中间区域是否显示放入center的元素默认center为空中间区域本来不显示任何内容右侧是否按新列表顺序显示diagnostics、selections等元素diagnostics按diagnostics键指定的严重级别计数。如果某个元素不显示通常是因为该元素本身带有条件例如file-encoding只在文件编码与 UTF-8 不同时出现read-only-indicator只在文件不可写时出现file-modification-indicator只在有未保存修改时显示[]。可选让模式指示按模式变色默认情况下状态栏的模式文字不随模式变色。在 editor.md 的[editor]段中color-modes控制是否按模式为模式指示器着色默认是false[editor] color-modes true开启后主题中对应的样式会分别作用于不同模式。这些样式定义在 themes.md 中列出的ui.statusline系列样式下ui.statusline状态栏底色、ui.statusline.inactive非聚焦文档、ui.statusline.separator分隔符以及仅在editor.color-modes启用时生效的ui.statusline.normal、ui.statusline.insert、ui.statusline.select。修改主题或样式后同样用:config-reload生效。相关文档状态栏配置段完整键表book/src/editor.md配置文件位置与重载命令book/src/configuration.md状态栏主题样式book/src/themes.md【免费下载链接】helixA post-modern modal text editor.项目地址: https://gitcode.com/GitHub_Trending/he/helix创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考