Brian Lovin
/
Hacker News
Daily Digest email

Get the top HN stories in your inbox every day.

lofatdairy

This is only tangentially related, but regarding:

>>Post-modern?!

>It's a joke. If Neovim is the modern Vim, then Helix is post-modern.

It's interesting that postmodern is so often used by people, perhaps less familiar with the arts and the humanities, to mean "an update to modern" or a progression thereof. They use it in a strictly literal sense, eschewing the precise meaning of the term they're referencing by mere addition of discontinuity as incremental difference.

Obviously, there's little impact to this. The term is hardly degraded by engineers advertising to other engineers. It looks a touch unread, but then again we have people like Thiel and Luckey misinterpreting Tolkien, so again it's hardly the most egregious example. I guess it just jumped out to me because I was hoping to see something creative truly postmodern.

ctmnt

That jumped out at me too the first time I ran into Helix making this joke, and I was also disappointed to find that they meant modern++.

That said, I’m not sure I agree with your assessment that it’s wrong, exactly. Postmodernism did indeed follow modernism and come into being as a reaction to modernism. So I think “postmodernism” has a naive and original sense of being “what follows modernism”. Decades (so many at this point!) of discourse have added layers to that and undermined it and generally made it more complex. But the underlying meaning of the term remains.

(If your instinct is to respond with arguments about how works not limited to late 20th century western culture can be nonetheless classified as postmodern, I hear you, but the fact that the term itself was only coined post modernism remains, and is all I’m pointing to.)

Personally, I get more hung up on people using “modern” to mean “new”. Then to use “postmodern” to mean “more new” while to my ears (eyes) it means “dated af” is even funnier and more jarring.

Helix, the first editor to not believe in grand narratives. Helix, the relativist editor. Helix, now updated with the latest from Foucault and Derrida!

lofatdairy

>Postmodernism did indeed follow modernism and come into being as a reaction to modernism.

I definitely agree that, strictly speaking, postmodernism is a somewhat loose label for an eclectic set of ideas and expressions following modernism. My issue was not with the label being denotatively incorrect – that postmodernism implies a deliberate and retrospective relation to what is labeled "modern" – but rather that the term invokes a spirit that is utterly missing from the project.

There is no rejection of teleological narratives, and in fact by misapplying this term acts to reinforcing them. It doesn't meaningful critique the projects its in conversation with except in terms that reinforce the underlying assumptions that motivated their production. It critiques Vim in terms of codebase complexity and multiplexity, and these concepts are nothing if not deeply familiar. Even with regards to the concept of coding as the composition and production of language, Helix only looks to make that process more efficient, rather than examine how this process reproduces itself, or how intent is masked and produced through abstraction and reference to the work of other programmers/authors.

I am not saying that it should have done that. It is by all means a perfectly good editor. But a perfectly good editor does not a postmodern editor make.

If anything, one could argue that the process of vibecoding is more recognizably postmodern, especially as a strict rejection of the modernist belief system that produces that process of coding. Its nondeterminism rejects efficient, coherent processes. It requires one to reimagine production as its ends, rather than by beginning with conventional initialization rituals. Its discursive rather than dictatorial.

Not to say vibecoding is the end of coding or even the way "forward", just as to say postmodernism is not the teleological end to thought.

ctmnt

Lol. You win.

Good point on vibing though.

undefined

[deleted]

the_hoser

Blame Perl. As far as I can tell, they started it.

vaylian

wk_end

Except that, from that talk, Larry clearly has some idea about what the term postmodernism means in art & culture and isn’t just using it to mean “modern++”.

humanizersequel

>we have people like Thiel and Luckey misinterpreting Tolkien

Could you provide an example / be more specific about this?

NERD_ALERT

Peter Thiel owns a company called Palantir that designs its offices to look like Hobbiton.

It might be less of a misinterpretation and more of an on the nose joke about being overtly evil.

lofatdairy

I mean its fair to say that its deliberately on the nose. However, I would argue that despite being definitionally correct, Palantir still represents a misinterpretation by discarding the works in their whole. I brought it up because postmodern does correctly imply a reaction to what is "modern", but its also a body of work in its own right.

This is not to say that Tolkien's authorial intent is final, nor necessarily discernible, but we are obligated to examine the palantirs' presentation as not just a passive object with certain, defined qualities, but as devices that have their own consequential histories within the narrative. Thiel naming his company after a tool presented textually as fallible, misleading, and myopic (in addition to its obvious power) with ostensibly no desire to attach such connotations to the company requires, in my mind, at least a superficial reading. We can even disregard the fact that these were mostly tools for an evil opposed by Tolkien, and not make the (valid) argument that their presentation within the text is could be considered direct argument in opposition to their creation. I personally think that to build a company and name it after a work that argues against that company's mission/purpose requires misinterpretation of the reference material, both in terms of poor comprehension of metaphor and as a poor response to the text and the body of discourse that surrounds and infuses it.

ryanlbrown

They are Tolkien fans and yet they are building the devices (Palantir, Anduril) which evil will eventually use to dominate. Palantir is well-named but tragic that a fan would build it. Anduril is poorly-named as it is the sword used to combat industrial power rather than represent it.

Curiositry

This has been my main editor for prose and code for a few years now (Sublime Text -> Atom -> Vim -> Helix). Overall, it has been great. Many LSPs work almost out-of-the-box, and my config is a fraction the size of my old .vimrc.

Surprisingly, it didn’t take that long to update my Vim muscle memory. Days or weeks, maybe? However, I still have mixed feelings about modal editors in general, and most of my gripes with Helix are actually about modal editors and/or console editors in general.

Code folding is a feature I’m still waiting for.

wilkystyle

Curious to hear your gripes about modal editors! I'm a long time Emacs user (traditional keybindings, not evil-mode), but I also started using Vim in parallel a little over a decade ago. I feel very proficient/productive in both, regularly using many of Vim's more advanced motions and functionality. I generally love the power and composability of Vim text objects, and definitely experience the benefit of using them. But there are some times where I am doing things like many small edits within a line where rapidly changing modes for all of the edits starts to feel cumbersome.

For Emacs, I use multiple cursors and a treesitter-based plug-in for incrementally expanding or reducing the selection by text objects. I also have a collection of my own helper functions for working with text that make my non-modal Emacs approach still feel very comparable to the power of manipulating text in Vim.

Curious to hear if your issues with modal editing are similar.

undefined

[deleted]

Curiositry

- It feels like I know all the efficient keybindings, but when someone looks over my shoulder, I become conscious of how much time I spend mashing Esc/CapsLock and i/I/a/A/o/O, compared to how much editing actually happens.

- I have nomouse mode on, to try to learn modal editors properly. But the mouse is actually fairly fast for getting to a specific cursor position. In theory, using Helix motions could be faster (and there's gw if I don't know what motion to use). In practice, the mental process of turning a point on the coordinate plane into the correct series of motions (including i) feels vastly slower.

Still, Vim, Helix, etc are incredible for structural manipulation of text, and I miss what they provide any time I edit text somewhere else, even with the universal keybindings that are available for navigating/selecting/deleting words, lines, etc. I tried Vim mode in Zed and it just didn't cut it.

Some things about Helix that I particularly like: speed and stability (no weird lag on visual block insert!), the jump to diagnostics/changes pattern (]d <Space>a is a surprisingly nice spellcheck interface, with <Space>d for the overview), the jumplist, and the good-by-default fuzzy pickers.

cassepipe

My main gripe with modal editors is that they still use the Escape key to go back to normal mode even though Escape was chosen for historical reasons (used to sit much much closer to the home row on older Unix Keyboards) In Linux and MacOs I can change it with just one gui setting but it's still annoying how everyone went with it. It's not mentionned in most vim tutorials. According to a vim reddit poll, at least half of the users are just using Escape where it is now instead of one of the alternatives. This is beyond me, it feels like someone inventing glasses in order to see better but everyone settled on cast iron frames.

andrewl

Cassepipe, it’s not a great default for sure. What do you have yours mapped to? I mapped jj to return to normal mode and also save my file. So, as I’m typing, I just hit jj, the jj vanishes, and this command is run:

<Esc>:w<CR>

I could just have it escape instead without saving.

If I hadn’t chose jj it would have been ff, which is also always under an index finger. I do wish I’d been clued into the idea when I started with Vim instead of two years later.

cassepipe

I find the jj/jk hack a bit too clever for my taste. I just map CapsLock to Escape system-wide because it also unlocks quick escaping for shells vi-modes too and I realized that actually Escape is a really nice key to have around in a lot of UIs to get out/go back/cancel what you are doing. I also like that it's a simple gui setting away (or registry key editing in windows).

I either put CapsLock where Escape sits or use both shifts simultaneously (one cancels it) but even then I almost never use it. The rare times I need to type a lot of uppercase together is generally code in vim and visual selection + gU does the job.

The point of my comment was not to shill for a particular solution though but for the vim community to acknowledge the problem publicly instead of it being some insider knowledge you discover in a random internet comment six months into fighting vim (if you haven't dropped out yet)

arbitrandomuser

doesnt it get annoying when you actually have to type two adjacent j ?

dtj1123

I have caps remapped to esc when tapped, and ctrl when held. Takes perhaps a weekend to get used to, but once the muscle memory is there it feels incredibly comfortable and natural.

gpvos

Which tool can do that kind of wizardry? I've seen either but not both.

dev-ns8

Is this macro mapped in vim or OS level? Sounds interesting.

cassepipe

I have hesitated many times to set this up but I don't want to get used to something that I cannot set up in less than 30 seconds on a new machine.

Not having Escape where CapsLock sits on a new machine already makes it infuriatingly unusable already :)

grayrest

I map caps to ctrl and do ctrl-[ to get to normal mode. The main reason is using Vim bindings in other editors where Esc can get intercepted by other bindings but ctrl-[ has always worked everywhere.

cassepipe

My opinion is that going back to normal mode is too important a key to be a key combo, and a weird one at that (is it [ or ] ?). I am pretty sure you can get used to it but we humans get used to anything really, doesn't make it good. My pressing on CapsLock happens at a subconscious level. Quick edit and then punctuate with CapsLock with the pinkie. Some random key combo is not acceptable.

But again my point is that the default sucks. You probably learned a about Ctrl + [ while looking online for alternatives after realizing the default sucked

zem

at least on linux you can map caps lock to esc if tapped and ctrl if held

sodapopcan

I mean... if people don't mind reaching, so what? I purposefully don't remap my leader key, although I don't have many leader mappings so it's not like I'm reaching for it constantly.

paddim8

It is not good for your wrists. Don't do that to yourself

cassepipe

I mean if people don't mind having cast iron glasses, sure

No but really, vim's paradim that you should go back to normal mode constantly. With the current situation you get posts on the vim subreddit asking/telling you about insert mode editing commands. You might as well use Emacs at that point, at least it would be the intended workflow

the_killer

[flagged]

bayesianbot

Tried it again few days ago. I kinda get that currently you can only use AI on Helix through LSP, but on top of that it does not have auto-refreshing files when changed outside - makes it really hard to work with external AIs, as I'm just constantly worrying if I'm editing a stale file.

small_scombrus

I know it's not a proper fix, but helix does have `:reload` and `:reload-all` commands

I have reload-all bound to Ctrl-r

dcre

Same!

g947o

GitHub Copilot, Claude Code and Codex provide fairly good IDE integrations. They don't just edit files behind your back. They actually edit the files you have in the IDEs using editor APIs and even show you a nice diff view. This way you never have content that is out of sync. I find this approach very usable and appealing.

On the other hand, many of the AI tools and their companies think that you should completely ditch IDEs for CLIs only, because "nobody needs to write code anymore". Some of them even stopped maintaining IDE extensions and go all-in in CLIs.

(I call that complete BS)

yonatan8070

I've noticed that Codex usually uses the native editing tools and shows me a diff, but sometimes it just sidesteps that and does a cat > file << EOF, so I need to rely on Git diffs to tell what it did.

MrJohz

> This way you never have content that is out of sync.

They can definitely go out of sync, particularly if something that isn't the editor or the AI changes the code (e.g. running shell commands or opening the file in a different editor and making changes there). I've had a whole load of issues with VSCode where there's been spurious edits all over the place that show up again even if I try and revert them, because every time the AI makes an unrelated edit, VSCode tries to reset the file to the version it thinks exists and then play the AI's edits on top.

g947o

That problem already existed long before the age of LLMs?

buzzerbetrayed

I don’t even open a text editor anymore 90% of the time. Seems clear to me that IDEs, in the traditional sense, don’t really have a place in the future of software creation. They might morph into something that does, but definitely not in their current form, imo.

satvikpendem

If you actually want to engineer properly and review the code rather than pushing out vibe coded slop PRs, then IDEs absolutely do have a future.

dayjah

I was feeling this pain also; so I switched my workflow to watching file changes with lazygit, and then switching to helix to make small tweaks.

Another option you may want to try is mux (github.com/coder/mux). It wraps the LLM in a nice interface which has the ability to do line/block comments on changes by the LLM that then goes goes into your next prompt. It’s very early stage though: v0.19.0.

clouedoc

With time I actually came to get accustomed to it and to enjoy my files not reloading automatically with Claude Code changes.

vaylian

> you can only use AI on Helix through LSP

How do other editors do this, if they don't use LSPs? Helix specifically choses LSP as the integration mechanism (in combination with TreeSitter) for supporting different programming languages, because it is a language-agnostic protocol and therefore only needs to be implemented once. Is there some established AI-agnostic protocol/interface? I don't think MCP would work here?

potro

beaker52

This is a distinctly Zed solution - trying to move the agent experience into the editor, rather than just giving the agent an interface with which to control and read from the editor.

Not only do the most popular editors have little-to-no incentive to implement it (they’re more interested in pushing their own first-class implementations, rather than integrating those of others), it’s much more work to integrate the evolving agent experience into the IDE than it would be to provide IDE integration points for the agents themselves.

So, I think this project would have been much more successful if it had been more focussed on keeping the agent and IDE experiences separated but united by the protocol, instead of trying to deeply marry them. But that’s not in line with Zed’s vision and monetization strategy.

It won’t be long before the big players start to release their own cloud-based editors. They’ll be cloud-based because the moat is wider, and they’ll try to move coding to the cloud in the way that Google Workspaces moved docs to the cloud. Probably with huge token discounts to capture people. If you squint, you can already see this starting to happen with Claude Desktop, which runs its agent loop on the cloud (you can tell because skills appear to need to be uploaded).

Notably, Microsoft, with VSCode and GitHub have a web-based editor advantage in this space, but no models.

nikita2206

Just watching filesystem for file changes and updating the in-memory view of the file on any change? This isn’t really relevant to MCP, though one option is to provide a different tool to the AI agent for file modifications, which would make modifications through the file editor itself.

vaylian

> Just watching filesystem for file changes

This is non-trivial, if you want to do it efficiently. On Linux you can set up an inotify listener for individual files, but not for entire directories. This also breaks down if you are working with data on non-local drives.

small_scombrus

> Is there some established AI-agnostic protocol/interface?

AFAIK no

burke

The latter is pretty easy to vibe-patch in:

https://github.com/burke/helix/pull/1

mgrandl

Man I heard about this being addressed soon for years. I have given up on Helix by now, but it’s wild that this still hasn’t been released.

lukaslalinsky

I really wanted to like Helix, it's a great software, works out of the box. I dedicated energy to unlearn my vim habits and learn the helix way. I'm now able to use it fairly effectively, but eventually I just came to the conclusion the bindings are done the way they are due to simpler implementation, not simpler user interface. I'm back to neovim for small updates and zed in vim mode for larger code editing.

exidex

Have you tried Ki Editor[0]? It seems to be more into direction that you are looking for. It is not as mature as the rest of the editors but the editing model is definitely an improvement from ux perspective

[0]: https://ki-editor.org/

rfmoz

Vis editor [0] also has multicursor and powerful sam's structural regular expression

[0]: https://github.com/martanne/vis

rgoulter

Hadn't heard of this. So I looked at the docs for Ki.

I see the "Why Ki?", and then it has this:

> Being first-class means that it is not an extra or even sidekick; it is the protagonist.

Eh.

I find it quite off putting.

I guess my expectation is that someone enthusiastic enough to write a text editor with a value proposition of "it's got good tree-sitter-based navigation" would want to discuss why they thing syntactic selection is neat.

Seeing cliche LLMisms doesn't signal the same level of care to me.

exidex

Having been in the community for some time, it is just how the authors are, very enthusiastic about the wording. They like to come up with some wild terms explaining different behaviors and reasoning behind those behaviors, like "positional coherence" or "behavioral asymmetry", and the term "kimmunity" to reference to ki editor community. On a surface level, sure, it looks LLM generated, but I would be very surprised if they used LLM to generate that sentence. I choose to look at the actual meaning of the content and what they are trying to do differently

hou32hou

It's not generated by LLM, it was actually my idea, but grammar-corrected by LLM, but you are not wrong either, the docs are really subpar in a lot of ways, and not clearly explaining why is one of them, and of course, the potentially cringey sentences too, someone complained the docs read like a Vogue magazine before lol

itsn0tm3

There is also evil-helix [0] a helix fork with vim bindings. Maybe that‘s something you would enjoy :)

[0] https://github.com/usagi-flow/evil-helix

deafpolygon

at that point… use vim? genuinely asking. what does this get you?

lukaslalinsky

Not having to deal with neovim plugins is a HUGE win. Using neovim with plugins feels like using a rolling Linux distro, you never know what breaks next. That's what I use zed, personally. It's the best modern vi-like editor, in my opinion.

itsn0tm3

I just use neovim ;) Just commented to inform. But I can see the benefit of something like evil-helix, very limited setup being needed and getting features like LSP out of the box …

Groxx

>eventually I just came to the conclusion the bindings are done the way they are due to simpler implementation, not simpler user interface

This was my general feel from using it for a bit too. I don't think that necessarily makes it a worse result (there's a form of user-facing consistency in 'this implements like that', it's just a bit meta), but it's one of the things that constantly pushed me away a bit. Some semi-common actions just didn't feel ergonomic, even after a couple weeks. (not implying that vim is a bastion of perfection, of course)

That said, I HIGHLY recommend people give Helix and/or Kakoune it a try. The different mental model is immediately compelling in some ways, and on balance I think it's a better approach. It's just that you have to weigh the details that might not work for you against all the other IDEs out there that have a heck of a lot more stuff already built for them... and it may mean you don't keep using them. Or you'll be thrilled with the end result.

linsomniac

I'm a very long time user of vi/vim, and I've gotten tired of maintaining vim configs. I've gotta have my LSPs and treesitters. I decided I wanted to move away from self maintenance and use something opinionated.

But, I found helix a little too opinionated. In particular, when you exit and go back into the file it won't take you back to where you were. I decided I'd start using helix on my "work journal" file which is over 20K lines and I edit somewhere towards but not at the end (done is above the cursor, to do and notes are below). Also, I NEED hard line wrapping for that.

Helix doesn't seem interested in incorporating either of those, which were "must haves" for me.

So I set the LLMs on it and they were able to make those changes, which was pretty cool. But I ended up deciding that I really didn't want to maintain my own helix fork for this, not really a plus over maintaining my vim config.

beefsack

The different bindings vs Vim was actually what stopped me using it. I really really wanted to love it and love a lot of the motivation and principles behind it, but unlearning decades of muscle memory is an absolute nightmare.

imjonse

what do you mean it does not have a simpler user interface? I found the combo of hx for quick edits/terminal work and Zed with hx bindings for everything else great.

haxfn

Vim is like C, Helix is like C++ and Ki Editor is like Rust.

"Within C++, there is a much smaller and cleaner language struggling to get out."

Helix carries a baggage of ideas from Vim. It does not have consistent and transferable keybinds. It does not have composition of ideas:

You can move to the next line in the buffer editor with `k` but to move down to the next line in the file explorer you have to do `ctrl+n`?

Vim is like C, Helix is like C++ and Ki Editor is like Rust.

efnx

But how is ki like rust, and why is that significant? Helix is pretty rad, even if what you say is true.

worksonmine

> You can move to the next line in the buffer editor with `k` but to move down to the next line in the file explorer you have to do `ctrl+n`?

I've never used Helix, but this exists in vim too, but it the autocompletion, because in that context hitting k would type k. Makes sense right? I'm guessing hitting k in Helix file explorer has a similar use, maybe searching?

eviks

Nope, you'd then do Ctrl+K, not N

worksonmine

(Neo)Vim omnifunc? Ctrl+k does nothing in my setup, probably your config or a plugin. Or am I misunderstanding what you mean?

undefined

[deleted]

n_kr

Wait, helix has a file explorer now? The lack of one has been preventing me from using it more

christophilus

It does, but iirc, it’s only an explorer and isn’t able to delete, rename, or create.

hbbio

Been playing with agent strategies, vibe coding this: https://github.com/hbbio/rc that uses helix by default

Using it already (the granular branch) but it's far from stabilized...

ministryofwarp

I'm puzzled by the idea that positional constant is good for key bindings. How does the machine I ssh to know my keyboard layout or whether I am using a input with a related positional concept? (I suppose I should say I was puzzled by it, and now I am puzzled why this idea is back yet again.)

hou32hou

> How does the machine I ssh to know my keyboard layout

Why does it need to? If you are using say, Dvorak, you can just pick the keyboard layout by pressing `*` (a keybinding which is not affected by the chosen keyboard layout)

ministryofwarp

The machines and coworkers I have have no idea what I am using locally if they don't watch my typing, it could be QWERTZ or Turkish-F it could be a chorded keyboard.

Going backwards to layout makes no sense to me. They then can't tell me what to type, we get to fight about env defaults, etc.. And for what? If your composition is any good it is approaching the abstract of code so looking at your hands and some visual feedback is of little value as it traverses the whole context.

rw_panic0_0

it's either ragebait or smth. Helix is not C++ and never would be it. Vim is C, Neovim is C++

redrobein

People really need to stop making analogies and saying what things really are.

pineaux

I agree. Helix is more like ruby on rails.

I will try ki editor

canistel

Do have a look at the second question in the FAQ :).

I do find Helix very impressive. I remember the Python LSP working without any configuration whatsoever.

However, I have vim muscle memory built over 25 years of use. I already struggle switching between Emacs and vim (or its equivalents) - for example, after a period of vim usage, I would press ESC repeatedly in Emacs, three of which are enough close a window. While Helix borrows modal editing from vim, it introduces subtle (and meaningful - I have to admit) variations, which unfortunately wreaks havoc with my muscle memory. Maybe the worst part about muscle memory is that unlearning is almost impossible. My dilemma, not Helix's fault...

dilawar

I have been using an ergonomics keyboard for a while and find it impossible to go back to normal keyboard.

For the last two weeks, I was forced to work at a normal keyboard. After initial pain for one day, I got back to typing at normal speed. Without losing my comfort with the ergonomic one. I can now just context switch. It wasn't easy though.

Perhaps you will also become comfortable with both vim and helix after the initial struggle?

kleiba

> I would press ESC repeatedly in Emacs, three of which are enough close a window.

You can configure every combination of keystrokes in Emacs - just bind M-ESC ESC to something harmless (such as, e.g., not function at all).

One possibility would be the following line in your ~/.emacs file:

    (global-set-key (kbd "M-ESC ESC") 'keyboard-quit)

canistel

Thank you for mentioning this. I do have something similar...

    (global-unset-key (kbd "ESC ESC ESC"))

kleiba

...which is probably the better alternative, since having to hit ESC three times just in order to quit the current command seems excessive.

ATMLOTTOBEER

Is this kind of comment not just a tautological rebuttal to any criticism of emacs

weinzierl

"However, I have vim muscle memory built over 25 years of use."

Me too and it took a view attempts but I'm on Helix now and don't regret it. Once you are over the most prominent discrepancies like dd and G it's an uphill battle.

imjonse

agreed, it wasn't more than a few days/a week. The real annoyance is if you use other coding environments too which do not have hx bindings (VScode, Google Colab) and have to constantly switch between hx and vim keys. Zed has had very good hx keybindings support for a few months now so this became less of an issue.

lorenzohess

Have you tried Emacs' Extensible Vi Layer ("Evil" mode)? My muscle memory switched almost seamlessly from Vim to Emacs with Evil mode

canistel

I have in fact. I use Emacs for org-mode and markdown. Because of some reason, evil and org-mode did not mix well - for me. There is evil-org, which I did not try.

korantu

I think Zed editor has helix phylosophy of supporting LSP out of the box while having exact vi bindings if it is important.

[1] https://zed.dev/

imjonse

It actually has Helix bindings as well which makes the investment in Helix not that risky anymore. I use both.

kombine

Neovim supports LSP out of the box since version 0.11. It requires very little configuration to enable and configure it.

theusus

Using agents to edit code. And Helix doesn’t support live update of files. This is the reason it’s not my first choice.

kristiandupont

I wrote my own modal-mode extension for vscode/cursor because couldn't get the VIM-ones to function like I wanted. During that time, I thought that I should look into Kakoune and Helix as those seemed to represent a true iteration on the paradigm. Being able to see what you're about to change makes complete sense, as does the "multi-cursor first" approach.

However, after a few weeks, I ended up rewriting things to be more classic VIM-like after all. This might have just been muscle memory refusing to yield, I am not sure. One thing I remember though, was that the multi-cursor+selection approach only really helps when you can see everything you're about to change on the screen. For large edits, most selections will be out of the scroll window and not really helping.

I still haven't written it off completely, though with AI I increasingly find myself writing more prose than keywords and brackets, so I am not sure it's going to feel worth it.

klibertp

> One thing I remember though, was that the multi-cursor+selection approach only really helps when you can see everything you're about to change on the screen. For large edits, most selections will be out of the scroll window and not really helping.

In Emacs, there's an mc-hide-unmatched-lines command that temporarily hides the lines between the ones with cursors. This makes multiple cursors usable with up to a screen-height number of items (being able to place cursors by searching for a regexp helps).

I agree, though - MCs are most useful for simple, localized edits. They're nice because they don't require you to mentally switch between interactive and batch editing modes, while still giving you some of the batch mode benefits. For larger or more complex edits, a batch-mode tool ("Search and replace", editable occur-mode in Emacs, or even shelling out to sed) is often a better choice.

Shorel

> For large edits, most selections will be out of the scroll window and not really helping.

I don't really care about that. Just for fun, and because I can, sometimes I edit huge SQL files using multiple cursors, meaning they are much bigger than just some KBs. Hundreds of cursors, all working at the same time, it is wonderful.

hou32hou

> For large edits, most selections will be out of the scroll window and not really helping.

That's why the Ki editor has a feature called Reveal Cursors (https://ki-editor.org/docs/normal-mode/space-menu#-cursor-re...), which is specifically made to solve this issue

eviks

> only really helps when you can see everything you're about to change on the screen

Which is still a net positive over the alternative?

kubafu

My default editor for the past couple years. Love the simplicity, speed, and the fact I can navigate comfortably with just the keyboard. Plus Elixir LSP integration is a cherry on top.

seg6

Helix has been my main editor for a few years now. I went from Sublime Text to VS Code to Neovim, and eventually landed on Helix. I’ve shipped a lot of code with it, and my config is still under 50 lines, even with a few extra keybindings to emulate some Vim bindings I still find useful. I didn’t find the keybindings particularly hard to get used to, and switching back and forth between Vim and Helix has never been much of an issue when I’ve had to work on a system without `hx`.

For the curious: https://github.com/seg6/dotfiles/blob/1281626127dfbf584c2939...

qudat

I learned about kakoune from helix. I played with both of them to figure out which one I preferred and ended up choosing kakoune for simplicity. It’s a fantastic editor and my cfg is 50 LoC which is just fine for me.

As long as helix doesn’t add a plugin system I think both are superior to neovim. Neovim defaults are just awful. I hate that quickfix and loclist are so close to being useful for pickers but it just misses the mark and now there’s lock in on some terrible impl because we don’t want to break backwards compatibility. The select -> action model is superior.

Having an opinionated editor just makes so much sense. We don’t need 10 different picker implementations.

rgoulter

Helix is a really nice editor. I use it as my go-to for when I'm in the terminal environment.

For sufficiently complex manipulations, I find the "selection-action" ("motion-action") to be more intuitive than "action-motion". Even with vim, I'd often like making use of visual mode.

I think the main limitation to this that I believe is it's probably a bit slower for quick + frequent edits compared to vim.

Daily Digest email

Get the top HN stories in your inbox every day.

Helix: A post-modern text editor - Hacker News