The Marksman LSP server experience with Helix is so smooth. Given a directory of Markdown files, dropping in a blank .marksman.toml
or running git init .
puts the directory on Marksman’s radar as a thing to work with. Provided Marksman is in your path, there’s no need for additional config.
Drop into insert mode, start typing wikilink brackets ([[
) and it invokes autocomplete on every file in the directory.
Placing the cursor over a wikilink, you can use gd
(go to definition
) to open that file in a new buffer.
In other Helix progress notes, I briefly had a bunch of vim keybindings set up to quit stumbling over the evil muscle memory I picked up from Doom Emacs. Over the weekend, sitting in a hotel room waiting for a concert to start, I decided I wasn’t so proficient at vim that I should cling to it, so I got rid of them.
That is definitely making for a few mistakes here and there, but Helix isn’t that hard to pick up.
Other Helix stuff I picked up:
You can hack in Markdown auto-increment for unordered lists and tasks by saying they’re comments in your languages.toml
file:
[[language]]
name = "markdown"
comment-tokens = ["-", "+", "*", "1.", ">", "- [ ]"]
… and this lets me check off Markdown tasks with spc x
:
[keys.normal."space"]
x = [
"extend_to_line_start",
"flip_selections",
"extend_to_line_end",
"extend_line",
""":pipe awk '{
if ($0 ~ /^- \\[ \\]/) {
sub(/^- \\[ \\]/, "- [x]"); print;
} else if ($0 ~ /^- \\[x\\]/) {
sub(/^- \\[x\\]/, "- [ ]"); print;
} else if ($0 ~ /^- /) {
sub(/^- /, "- [ ] "); print;
} else {
print "- [ ] " $0;
}
}'""",
"goto_first_nonwhitespace",
"collapse_selection",
"move_line_down"
]
When I kick off the day with a daily note I like to check whatever I’m using for tasks to figure out the most pressing stuff, and it goes into a checklist where it’s not an official todo, just a priority I’ll keep seeing as I go in and out of the daily note to log stuff during the day.
It is a little disorienting to have a full-featured editor that launches so quickly without worrying about daemonizing it. I mean, micro is pretty full-featured and has some nice plugins, but at some point evil-mode won me over to modal editing and micro doesn’t do that. It’s got a remarkably flexible keymapping system, but not so flexible that you can go modal with it.