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?

  • ᕙ(⇀‸↼‶)ᕗ
    link
    fedilink
    24 months ago

    seeing mscode/codium/vswhatever makes my brain hurt. geocities of code. now i am using Zed. problem solved.

  • @[email protected]
    link
    fedilink
    14 months ago

    I switched to helix last year after over twenty years of vim. I really like helix, but it did take some getting used to. Using multiple cursors instead of repeated commands etc

  • @[email protected]
    link
    fedilink
    1
    edit-2
    4 months ago

    I use vim, or spacemacs with evil mode (emacs distribution with sensible shortcuts and vim emulation). Or VSCode with spacemacs emulation.

    You will pass your current productivity in less than a month. All of the things you describe are easily done in VSCode with vim emulation (I prefer the full spacemacs emulation but it’s not actually a huge difference). You won’t have to move your hands away from the normal typing spot on your keyboard – no home and end, just 0 and $. No control+arrow keys, just w and b (or e or even more motion options). Highlighting is as easy as v and then motion commands. And there are so many more useful things that vim (and vim emulation) make simple and fast. Orthogonal VSCode features like multi cursors still work.

  • @[email protected]
    link
    fedilink
    24 months ago

    I use pycharm at work for most things. Work paid for it. It has some nice stuff i like. I’m sure other editors do all of this, too, but nothing’s been causing me enough pain to switch

    • Database integration. Little side panel shows me the tables, and I can do queries, view table structure, etc, right here
    • Find usages/declaration is pretty good. Goes into library code, too.
    • The autocomplete is pretty good. I think they have newfangled AI options now, but the traditional introspection autocomplete has been doing it for me.
    • Can use the python interpreter inside the docker container
    • The refactor functions are pretty good. Rename, move, etc
    • Naive search is pretty good. Can limit it to folders, do regex, filter by file name, etc

    It does have multiple cursors but I’ve rarely needed that.

    I use sublime for quick note taking. Mostly I like that it has syntax highlighting, and it doesn’t require me to explicitly save a tab for it to stay open

  • @[email protected]
    link
    fedilink
    134 months ago

    Helix is absolutely wonderful.

    Used to use Vim/Neovim, but the hassle of setting it up and maintaining huge configuration files was a pain (for me).

    Also I never really got it working the way I wanted and never had LSP working for all the languages I needed.

    Helix on the other hand. My config file is under 20 lines, LSP works super for all my needs. Well thought out keybindings (mostly) and overall a joy to use.

    Nice features and fast.

    Still a bunch of things missing, it is a rather young piece of software, but I have been using it as my only editor for the last 1 1/2 years.

    • @[email protected]OP
      link
      fedilink
      44 months ago

      Yeah, keybindings are well thought out. The most off-putting thing of default vim is that there are about 5 different “delete” commands. One for a character, one for the whole line, one for selected text, one for end of line. In helix, this is all just “delete selected text” and then “x” is for selecting a line. Make so much more sense.

    • @[email protected]
      link
      fedilink
      English
      94 months ago

      I took a look at Helix when I was trying to learn vim and found it very easy to get started with, but was concerned about missing out on learning more standard vim bindings and functionality.

      I found LazyVim + NeoVim got me pretty much the same experience without diverging as much from vim. Mostly I appreciate having access to a cheatsheet for commands.

      • @[email protected]OP
        link
        fedilink
        34 months ago

        was concerned about missing out on learning more standard vim bindings and functionality.

        What do you mean? Do the standard vim bindings have some specific quality that you are after? Or do you work with many different servers and would have to use what ever editor is installed there?

        • @[email protected]
          link
          fedilink
          English
          34 months ago

          Well I was mostly looking to learn vim and was trying to use Helix as a way to do that because it looked like vim, but with a commands window that popped up to help learn the commands. They’re upfront about making some breaking changes from vim though, and while I may not need to jump into a bunch of different machines that often I do like the flexibility of being able to hop into vi, vim, nvim, or some GUI editors with vim bindings relatively comfortably. So I found that LazyVim was more what I was looking for personally and nearly as easy to work with out of the box.

          I am glad to see the project seems to be going strong. That was another minor concern of mine, there’s little risk of vim going anywhere, but I remember being excited about the Atom editor a while back and that just kinda faded away. If it passes the test of time I’d be happy to try it again in the future. I figure it would be easier to go from vim -> helix than vice versa.

    • @[email protected]OP
      link
      fedilink
      34 months ago

      A coworker has told me that in a previous job, he was talking to an intern and mentioned IRC and intern asked what was that. He told him that it is the “old instant messaging”, which another senior coworker overheard and chimed in that “no, IRC is the new messaging thing”.

      If someone would be asking be what netbean is, I’d say “an IDE from the old generation of editors”, but I guess that is all relative :D

  • @[email protected]
    link
    fedilink
    English
    3
    edit-2
    4 months ago

    I mainly work with C#, where I use Visual Studio. I think I mainly changed bindings for expand selection, and go to definition, declaration, implementation (ALT+A/+S/+D). All other bindings work out for me.

    Cursor and selection “jumping” with CTRL and SHIFT, and using multiple cursors is a regular occurrence for me. I largely keep using keyboard, but for navigating I do often switch to or combine it with mouse.

    When it’s not C#, it’s often VS Code, or otherwise Notepad++ for non-IDE simple editing. For even simpler quick edits I also use Double Commanders integrated text editor.

    I use TortoiseGit, and its diff editor. I sometimes make changes there too. I also occasionally use KDiff or Winmerge.


    I think whether it’s worth to learn a new one should be determined by 1. what are your pain points/shortcomings, 2. what are the promises or your hopes, and 3. testing it out.

    If you explore a promise and quickly find it not useful to you, it may be easy and simple to dismiss a switch without investing more.

    • @[email protected]
      link
      fedilink
      14 months ago

      Have you ever tried Rider? I found it such a pleasure to use in place of Visual Studio and I’ve never looked back.

      Any times I’ve loaded VS since it just feels so slow in comparison.

      • @[email protected]
        link
        fedilink
        English
        14 months ago

        I’ve tried it briefly, but didn’t like it/did not find an intuitive or preferred way into it.

  • troed
    link
    fedilink
    54 months ago

    Sublime Text.

    The only thing I need from my editor is syntax highlighting and not be slow.

    (Assembler, C, Python, Java and Bash are the languages I mostly work with)

      • troed
        link
        fedilink
        44 months ago

        Depends on language and platform ;) Ghidra, strace, printouts gets you quite far. The only language I regularly step would be assembler.

        • @[email protected]
          link
          fedilink
          34 months ago

          Ghidra seems intense when gdb is right there. Lol. What advantages do you see in using Ghidra on your own code? It seems interesting.

          • troed
            link
            fedilink
            24 months ago

            A lot of what I do (hw/fw hacking) involves running Ghidra on code by others so it’s just a tool I know well. As I mentioned I seldomly step through my own code while debugging high level languages.

  • Sickday
    link
    fedilink
    14 months ago

    Depends on what device I’m using. On my tower(s), I’m typically reaching for Rider, Pycharm, or Zed. On my laptop(s) it’s pretty much always Helix or Zed. On servers it’s vim 100% baby. I’ve gotten pretty comfortable working with theses tools, so I haven’t really needed to look into alternatives at all.

      • Sickday
        link
        fedilink
        24 months ago

        Nah. When I’m using Zed it’s typically for Elixir/Erlang and I’m usually run debugging tools outside of Zed in a separate shell. When I’m using iex and/or observer I like to use a full screen terminal on a separate workspace/tab than the editor itself

  • Ben Matthews
    link
    fedilink
    English
    14 months ago

    Zed, for the last few months, and happy with it (previously vscode) - I code in Scala, so Metals provides the complex hints / actions.

  • @[email protected]
    link
    fedilink
    34 months ago

    If I’m working on a Qt project, I use Qt Creator, for a Java project I use Eclipse, otherwise I use VSCode.