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.

Image of Datadog

Create and maintain end-to-end frontend tests

Learn best practices on creating frontend tests, testing on-premise apps, integrating tests into your CI/CD pipeline, and using Datadog’s testing tunnel.

Download The Guide

Top comments (0)

Image of Datadog

Master Mobile Monitoring for iOS Apps

Monitor your app’s health with real-time insights into crash-free rates, start times, and more. Optimize performance and prevent user churn by addressing critical issues like app hangs, and ANRs. Learn how to keep your iOS app running smoothly across all devices by downloading this eBook.

Get The eBook