Helix
Usage
Useful commands:
| Command | Description |
|---|---|
:format :fmt | Format the file using an external formatter or language server. |
Useful shortcuts:
| Shortcut | Description |
|---|---|
Ctrl-x | Open LSP's completion menu. |
Ctrl-c | (With completion menu open) Cancel selection. |
Search
The default search is smart, case insensitive if search pattern is all lower case, case sensitive otherwise. To force a mode, prepend the search with:
(?-i): Case sensitive search(?i): Case insensitive search
Truecolor
When accessing helix in a remote server (through SSH, for example), one may need to set the COLORTERM to get truecolor support.
set -gx COLORTERM truecolorSort
The helix way to sort is:
- Select lines with
x - Press
Alt+sto split selection on newlines - Run
:sortor:rsort
For case insensitive sort or version sort, use pipe to run an external command (in this case sort):
- Select lines with
x - Run
|sort -ffor case insensitive sort, or|sort -Vfor version sort
Configuration
Project specific
Create a .helix folder in the project's root directory.
To override the languages.toml configuration, for example, create it inside the .helix folder.
Vue language server
To update the language server, update languages.toml (read more here).
For hybridMode = true
[language-server.typescript-language-server.config]
plugins = [{ name = "@vue/typescript-plugin", location = "/usr/bin/vue-language-server", languages = ["vue"] }]
[language-server.typescript-language-server.config.vue.inlayHints]
includeInlayEnumMemberValueHints = true
includeInlayFunctionLikeReturnTypeHints = true
includeInlayFunctionParameterTypeHints = true
includeInlayParameterNameHints = "all"
includeInlayParameterNameHintsWhenArgumentMatchesName = true
includeInlayPropertyDeclarationTypeHints = true
includeInlayVariableTypeHints = true
[[language]]
name = "vue"
language-servers = [ "vuels", "typescript-language-server" ]For hybridMode = false
Use vuels for all .{vue,js,ts,tsx,jsx} files (don't use typescript-language-server at all):
[language-server.vuels.config]
vue = { hybridMode = false }
[[language]]
name = "typescript"
language-servers = [ "vuels" ]
[[language]]
name = "tsx"
language-servers = [ "vuels" ]
[[language]]
name = "javascript"
language-servers = [ "vuels" ]
[[language]]
name = "jsx"
language-servers = [ "vuels" ]Switch between vuels and typescript-language-server (use vuels for only .vue files and typescript-language-server for .{js,ts,tsx,jsx} files):
[language-server.vuels.config]
vue = { hybridMode = false }
[language-server.typescript-language-server.config]
plugins = [{ name = "@vue/typescript-plugin", location = "/usr/bin/vue-language-server", languages = ["vue"] }]