The following gif demonstrates folding:

  • Nibodhika@lemmy.world
    link
    fedilink
    arrow-up
    5
    ·
    6 days ago

    Others have given you many options, but I would like to know why Nvim or Emacs are not good options for you?

    • HayadSont@discuss.onlineOP
      link
      fedilink
      arrow-up
      1
      ·
      edit-2
      4 days ago

      No no, don’t get me wrong. I think both Emacs and Neovim are excellent. And this little endeavor/search/pursuit has (perhaps more than anything) solidified (and gave context as to) why they’re in their own league.

      Like, I’ve tried about a dozen of text editors in last couple of days. And with most[1] of them I’ve failed to reproduce the functionality demonstrated in the gif.

      But even the very best of what I’ve tried since making this post pales -or at least seems to be*- in terms of extensibility. And, when we add in Emacs’ proven[2] longevity, it becomes hard to root for any of the alternatives. At least…, so far*.

      Still, I had to answer for myself if committing to Emacs (or Neovim for that matter) was justified given the fact that I had not a lot of experience with text editors 😅. Like, as funny as it sounds, I’ve moved from Word+StickyNotes to (GNOME’s) Text Editor to a bunch[3] of Markdown text editors to Emacs. And the switch to Emacs was mostly motivated when I saw Obsidian do the very thing you see in the gif 😂. But as cool as learning the ropes of Emacs was, I think I was experiencing some impostor syndrome shenanigans.

      Thankfully, it seems that this has mostly served to be a huge motivation boost. Perhaps I was (more than) ready to conquer Emacs all along…


      1. Heck, I’ve only been able to confirm that Kate and KDevelop at least do what has been advertised (by others). ↩︎

      2. Neovim is still relatively new. I don’t think I can justifiably vouch for its longevity yet. ↩︎

      3. I can recall ghostwriter, MarkText and QOwnNotes. ↩︎

      • Nibodhika@lemmy.world
        link
        fedilink
        arrow-up
        2
        ·
        4 days ago

        If you had started with that people would have told you that nothing comes even close. The closest things you will find are Atom (archived), Sublime (closed source) and Helix (still very new and no plugin support, but something to keep an eye on).

        Speaking of obsidian, the reason why it took me forever to start using Silverbullet is that Emacs has org-mode which does most of what Silverbullet/Obsidian do out of the box, plus some other stuff that they don’t do (e.g. excel like tables).

        But I wanted something I could edit remotely through my phone and web interfaces are better than using text editors over ssh connections. Also I have migrated from Emacs to Nvim, the reasons are purely ergonomical (pinky fatigue is a real issue) but after switching I found a jump in the way to think about an editor. Emacs is great, don’t get me wrong, and if you decide to learn Emacs I can assure you it will be the best editor you’ve used, but it still edits things at a character level, while there are concepts for matching brackets or quotes changing the text inside quotes in Emacs is very character oriented, I.e. go to start of quote, start marking, move to matching quote, delete, whereas in vim is sort of a higher level language where you say Change Inside Next Quote using cin", and expanded with some plugins you can even do srnq' to Surround Replace Next Quote with ’ (which will change the quotations on the next text from whatever to '). And that’s a lot closer to the way I think so it skips a mental step (plus it’s a lot less keystrokes and no Ctrl for my pinky).

        But those are the reasons why I switched, many people use Emacs for decades without ergonomic issues, whichever of the two you decide to learn you’ll understand why they’re the staple editors for most people who actually choose an editor.

        • HayadSont@discuss.onlineOP
          link
          fedilink
          arrow-up
          1
          ·
          3 days ago

          Thank you for the raving endorsement and otherwise very informative reply!

          Also I have migrated from Emacs to Nvim, the reasons are purely ergonomical (pinky fatigue is a real issue) but after switching I found a jump in the way to think about an editor. Emacs is great, don’t get me wrong, and if you decide to learn Emacs I can assure you it will be the best editor you’ve used, but it still edits things at a character level, while there are concepts for matching brackets or quotes changing the text inside quotes in Emacs is very character oriented, I.e. go to start of quote, start marking, move to matching quote, delete, whereas in vim is sort of a higher level language where you say Change Inside Next Quote using cin", and expanded with some plugins you can even do srnq' to Surround Replace Next Quote with ’ (which will change the quotations on the next text from whatever to '). And that’s a lot closer to the way I think so it skips a mental step (plus it’s a lot less keystrokes and no Ctrl for my pinky).

          Hmm…, interesting. I’m still pretty new to evil-mode, but doesn’t that bridge the gap here? Btw, I don’t know why, but I wasn’t able to see for myself how cin" worked within Vim*.

          • Nibodhika@lemmy.world
            link
            fedilink
            arrow-up
            2
            ·
            3 days ago

            Yes, evil-mode would have bridged the gap, however I didn’t go emacs -> vim in one step, I left emacs back in 2017 because of pinky strain, and other ergonomic issues that made me switch keyboard layout as well (which made me lose lots of agility on emacs) and started using Pycharm for python dev, VSCode for other languages (including Markdown for note taking) and nano for system file edition. I tried some of the other suggestions here like atom, sublime, Kate, etc, but they never became my everything tool like emacs used to be. Very recently I discovered Helix, and I gave it a try and loved it, however the lack of plugin support made me have reservations on diving in. But the interaction mode is very close to vim, so I decided to give vim another go and went through a few tutorials on how to set Nvim up while refreshing muscle memory for vim movements and learning new stuff and it’s slowly becoming the everything tool that emacs once was for me.

            All of that being said, I don’t think I would use evil-mode on Emacs, the reason is that vim is made with those motions from the ground up, whereas in emacs they will be an after-thought so it will probably not be integrated enough (or more likely will require lots of configurations).

            I wasn’t able to see for myself how cin" worked within Vim*.

            It’s simple, imagine you have a line of code like so:

            my_var = "some string with spaces"
            

            If your cursor is almost anywhere on that line pressing ci" will erase the contents of inside the string and place you in insert mode, i.e. the line will look line this:

            my_var = "|"
            

            With | being the cursor in insert mode. There are other similar things, for example ca" (Change Around ") will also erase the quotes, very useful for example to change a hard coded string with a variable.

            • HayadSont@discuss.onlineOP
              link
              fedilink
              arrow-up
              1
              ·
              edit-2
              8 hours ago

              Sorry fam for the late response! I was writing up a draft a couple of days ago, but that one somehow disappeared. Which…, is kinda peculiar as I don’t recall the last time a draft spoofed out of existence. Regardless, it really puts me off to start a reply all over. As such, I’ve been mustering motivation since 😅. Anyhow, thank you for your patience!

              Thank you (also) for sharing your journey around the many text editors! If anything, it reminds me how life has got many surprises for us. As such, being wed to any software, regardless of how powerful it may be, may still result in a break later down the line.

              Thank you (once more) for touching on ergonomics! I haven’t mentioned it, but I do experience some RSI-related pains/aches.

              Steps I've undertaken to alleviate the pains/aches. This has been put in spoilers, because I don't think it's very relevant for the subject matter.
              • I use a split keyboard, and hope to switch in the upcoming months to one of the most ergonomic keyboard around.
              • I have made changes to my workflow to become (mostly) keyboard-only, so little to no mouse/touchpad. Which led me to embrace and become more familiar with modal editing.
              • I have dabbled into the alt keyboard layouts and intend to make the switch when the aforementioned ergonomic keyboard arrives.
              • I have made many other changes to how I work in order to better align with ergonomics; laptop-stand so that it’s lifted to the appropriate height, worked on better posture, only making minimal use of my phone etc. And intend to back this up further with a height-adjustable desk.
              • Employ speech to text whenever I can afford it.

              Anyhow, I do have concerns on how Emacs’ default keybindings might be detrimental on someone using a regular keyboard. I believe this article makes an interesting case on this. That’s also one of the reasons why I’ve (almost) exclusively been on evil mode.

              I hope you’ve recovered completely from the strain on your pinky! And, hopefully, nothing else has been causing any issues since!


              Btw, the trick with ci" and ca" is pretty cool! Thank you for teaching me something new! FWIW, it was reproducible within Emacs’ evil mode*.

              • Nibodhika@lemmy.world
                link
                fedilink
                arrow-up
                1
                ·
                2 hours ago

                Hey, yeah, I know the feeling, every time I lose an already typed reply I completely lose motivation to rewrite it.

                Yeah, my pinky strain issue is completely gone, I also used to have some more pain on my wrist which made me go through a very similar journey to you, I took many steps for it to the point where nowadays my setup is (in order of what I think has made the largest impact)

                • Using i3/sway as my WM for a keyboard centric usage
                • Switching to Colemak and learning touch typing properly
                • Split ortholineal keyboard (crkbd)
                • Trackball instead of mouse

                I’ve also got a height adjustable desk and a good chair to prevent issues with my back, and my monitors use an arm to be in the right position. It was a slow process of making one change here, few months later another z etc, but this has been my setup for a few years and all of my pains in wrist, lower back, neck, etc have disappeared. I figured if I’m going to ve sitting in front of a computer typing stuff for 8h a day I need to make that as comfortable as possible to be able to do it for longer.


                As for emacs with evil mode I was sure that ci" would work, that’s basic vim functionality, what I’m less sure would work is more complex stuff for which I use plugins, e.g. <space>srq" (Surround Replace Quotes with ") to replace the next quotes for " (e.g. changing var = 'some text' to var = "some text"). That same plugin allows me to also do <space>srb[ to Surround Replace Bracket/Braces with [ (to change the surrounding [, (, or { to [ ). Another plugin allows me to move to any part of the screen in 4 keystrokes, I press s the two characters of where I want to move, and a third disambiguation character and the cursor moves there. Those are advanced usages that I think will be difficult to reproduce in emacs, plus plugins will not incorporate the basic ideas for movements.

                May I ask why emacs in evil-mode instead of Nvim?