I have recently been trying out the helix editor in an attempt to try things that “just work” out of the box.
(also in this vein: alacritty, fish, just, ripgrep, … why are all the good tools written in rust?)
I come from neovim and love the note-management plugin vimwiki, which adds simple navigation, checklists, tables, highlighting, completion and daily journals. This works really well but neovim requires a bit of faff to set up perfectly. How does helix fare?
On Mac the setup was simply:
brew install helix # the editor
brew install markdown-oxide # the lsp
hx index.md # start writingImmediately I had a working note taking app.
The markdown lsp, markdown-oxide, provides
A bit of extra config brought some missing vimwiki ergonomics
[keys.normal]
tab = "@/\\[\\[<ret>"
S-tab = "@?\\[\\[<ret>"
ret = "goto_definition"
backspace = "jump_backward"
[keys.normal.space.w]
w = [":cd ~/Documents/wiki/", ":open index.md"]
t = [":cd ~/Documents/wiki/", ":lsp-workspace-command today"]
T = [":cd ~/Documents/wiki/", ":lsp-workspace-command tomorrow"]Now I can <space>ww to go to my wiki index,
<space>wt to edit today’s journal entry.
I can:
<tab> to go to the first available link, and
<enter> to open the linked fileSee [[foo]] then hit
<alt>a to open an option to create the file<space>a
Because helix does not yet support filetype-specific keybindings, these will apply across all non-markdown files too.
I’d love to contribute to markdown-oxide to add more features like backlinks and table of contents creating for journals.