DEV Community

Lukáš Kaňka
Lukáš Kaňka

Posted on

Z Neovim do Helix

Ahoj jsem dlouho dobí uživatel Neovim. Za dlouhou dobu jsem si ho vážně vymazlil k svému aby mi dělal co největší radost a stále ji dělá.

Nedávno jsem okusil Helix editor.
I když mi nenabízí tolik, svým způsobem si mě omotal kolem prstu. A neměl to lehké jíné ovládání, žádné pluginy a například při vývoji frontend nedosahuje na můj již vyladěný Neovim. Nevím proč, ale práce mě v něm velice baví, ale vše není tak růžové. Myslím že šanci aby jste ho zkusily si zaslouží. Můj Helix setup najdeš zde. Zatím ho používám chvíly a ještě se s ním seznamuji, ale na vývoj webu se dá už použít.

config.toml:

theme = "dracula"


[editor]
color-modes = true
auto-pairs = false

[keys.normal]
"tab" = { c = [":config-open"]}
"esc" = ["collapse_selection", ":w"]

[keys.select]
"esc" = ["collapse_selection", "normal_mode", ":w"]

[keys.insert]
"esc" = ["normal_mode", ":w"]
Enter fullscreen mode Exit fullscreen mode

language.toml:

[language-server.emmet-lsp]
command = "emmet-language-server"
args = ["--stdio"]

[[language]]
name = "html"
roots = [".git"]
language-servers = ["emmet-lsp"]

[language-server.rust-analyzer.config.check]
command = "clippy"

[language-server.emmet-ls]
args = ["--stdio"]
command="emmet-ls"

[[language]]
name = "html"
formatter = { command = 'prettier', args = ["--parser", "html"] }
language-servers = ["vscode-html-language-server", "emmet-ls"]

[[language]]
name = "css"
formatter = { command = 'prettier', args = ["--parser", "css"] }

[[language]]
name = "javascript"
formatter = { command = 'prettier', args = ["--parser", "typescript"] }
auto-format = true

[[language]]
name = "typescript"
formatter = { command = 'prettier', args = ["--parser", "typescript"] }
auto-format = true

[[language]]
name = "jsx"
formatter = { command = 'prettier', args = ["--parser", "typescript"] }
auto-format = true
language-servers = ["typescript-language-server", "emmet-ls"]

[[language]]
name = "tsx"
formatter = { command = 'prettier', args = ["--parser", "typescript"] }
auto-format = true
language-servers = ["typescript-language-server", "emmet-ls"]

[[language]]
name = "json"
formatter = { command = 'prettier', args = ["--parser", "json"] }

[[language]]
name = "markdown"
formatter = { command = 'prettier', args = ["--parser", "markdown"] }
soft-wrap.enable = true
soft-wrap.wrap-at-text-width = true
Enter fullscreen mode Exit fullscreen mode

A jaké jsou největší bolístky po přechodu z Neovim na Helix?
Ze začátku to bude určitě ovládaní a otočená logiga příkazů kde nejdříve označíte a pak dáte příkaz.
Potom někomu mohou chybět pluginy jako NERDTree s čím jsem, ale něměl problém protože nejvíce používám fzf což v Helixu je defáltně podobný systém který vyvoláte klávesami space -> f.
Ne všechny věci běží jako u mě v Neovim například dokončování kódu.
A co mě nejvíce překvapilo?
Vše hned funguje pokud vám něco chybí pro váš jazyk stačí zadat v terminálu: helix --health a hned vydíte co je třeba doinstalovat a vše najdete zde.
V Helixu máte přes 100 témat už naistalovaných, bohužel nemůžete si například modifikovat úvodní stranu, nebo jsem aspoň na to nepřišel.
Jak vám ovládání vleze pod ruce budete stejně rychlí jako v Neovim.

Zatím asi na Helix na 100% nepřejdu, ale na menší projekty ho budu určitě používat. Pokud přibude podpora pro Tabnine a pár malích bolístek opraví tak budu velmi silně přemýšlet o přechodu z Neovim.

Top comments (0)