When I was in high school I found Sublime Text and learned “multiple cursors”. Since then, I’ve transitioned to vscode, mainly because I need LSP (without too much configuration work) for my work.

I keep hearing about how modal editing is faster and I would like to switch to a more performant editor. I’ve been looking at helix, as the 4th generation of the vi line of editors. Is anyone using it? Is it any good for the main code editor?

The problem that I have is that learning new editing keybindings would probably take me a month of time, before I get to the same amount of productivity (if I ever get here at all). So I’m looking for advice of people who have already done that before.

My code editing does involve a lot of “ctrl-arrow” to move around words, “ctrl-shift-arrow” to select words, “home/end” to move to beginning/end of the line, “ctrl-d” for “new cursor at next occurrence”, “shift-alt-down” for “new cursor in the line below”, “ctrl-shift-f” for “format file” and a few more to move around using LSP-provided “declaration”/“usages”.

I would have to unlearn all of that.

Also, I do use “ctrl-arrow” to edit this post. Have you changed keybindings in firefox too?

    • micro@programming.dev
      link
      fedilink
      English
      arrow-up
      1
      ·
      18 days ago

      Same. Jetbrains makes the best IDEs hands down IMO and I say this after 20 years of coding and using numerous IDEs. I also use vscode as a backup but as more of a glorified text editor.

  • jeffhykin@lemm.ee
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    18 days ago

    Don’t Speculate

    Go to Twitch/YouTube. Watch a senior Vim/Jetbrains/Emacs/VS Code/Helix dev churn out code for a hackathon/advent-of-code, and see what you are (or are not!) missing out on.

    If you have “how the hell did they just do that” moments, figure out what that feature is, and STEAL IT. If its too hard to steal, then maybe you are being limited by your editor. Base your “fear of missing out” on what you see rather than random people tossing their opinions around. Only you can answer “how much is that feature worth to me and my workflows?”

    • If you’re going to try modal editors, sooner is exponentially better. Probably start with Vim bindings for VS Code.
    • If you’re not going to go modal, then make absolutely sure you don’t bottom out. To be frank, Ctrl+D is the tip of the iceberg. Half the benefit of modal editors is, mastery is mandatory; they chase you around with a 10k volt taser until you’ve got 100 instinctual shortcuts. Hardly anyone mentions this but Go beyond/outside your editor: At the OS level, use spacebar as a modifier key, where holding spacebar converts your WASD into arrow keys. Then disable your normal arrow keys. Something like that will get you vim-like benefits, but in every app, and with a learning bump instead of a learning mountain. For VS Code, get cursor jumper extensions like Mario (block jumper), get cursor-alignment extensions, write boatloads of custom code snippets, get a macro record+replay extension, make a jump-to-next quote, jump to next bracket, install sequential number generator extension, a case change (camel case, snake case, etc) extension, sort lines, case-preserving rename. If you can avoid bottoming out, and keep learning, you’ll likely never feel that you are missing out on whatever modal editor people are swearing by.
    • 0101100101@programming.dev
      link
      fedilink
      English
      arrow-up
      0
      arrow-down
      1
      ·
      19 days ago

      I get this, but an IDE should be invisible and grow as you do and not require you to learn lots of janky things before it becomes a little bit useful for you.

      Need the basics, great, here they are. Don’t understand some advanced feature? Well the IDE has it here, but it isn’t in your way, mess with it as and when you want. It’ll still be there.

      I don’t think one IDE does everything for different languages and its ok to swap editors depending on your workflow, your project and your ever-changing skillset.

  • uthredii@programming.dev
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    19 days ago

    I use Helix

    TLDR: Yes I think helix is worth trying out. It has some missing features but it is an amazing piece of software.

    Yes I use helix daily. It is very fun to use and you can do many things faster. It is particularly good when navigating a (large) codebase you know fairly well. You are able to jump around and find/edit relevant code very quickly.

    Compared to vs code:

    • it is much faster and more minimal
    • It might be harder to get things up and running than in vs code, e.g. to get auto-completion working in helix you need to have the LSP for that language installed. It can be a bit confusing if you have never done it before but it is easy once you have done it a few times.

    Compared to neovim I think it is:

    • easier to learn
    • slightly faster - especially with large files
    • you will have a much smaller/simpler configuration. AFAIK Helix has more features working out of the box than neovim (file picker, lsp support ect) and needs less configuration to get things to a workable state.

    The downside of helix compared to both neovim and vscode is that it does not have plugin support yet so you will need to use other tools in combination with it to get an equivalent experience. Here are some tools that are commonly used with helix:

    Helix really shines when:

    • performance matters - I have edited files with millions of lines and had no trouble on codebases where my colleagues IDE’s become very slow.
    • You want to use multiple cursors at times
    • You want a simple or no configuration
    • It is taking too long to learn the vim keybindings - vim keybindings are more concise but less intuitive and harder to learn

    I recommend you use the tutor (hx --tutor) for a few minutes each day to learn the keybidings.

    • Fonzie!@ttrpg.network
      link
      fedilink
      arrow-up
      1
      ·
      12 hours ago

      IMO Kate is just VS Code or Sublime Text but worse. The LSP never works, I can’t have multi-caret editing, it’s harder to extend it’s functionality, etc. etc.

      Just use open source VS Code (or better yet VS Codium), at that point.