• 0x4E4F@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      5
      arrow-down
      16
      ·
      10 months ago

      When you know how to exit, you just slap your face 🤦 and ask “why… why, please, why don’t they add new shortcuts 🤦!”.

      • mvirts@lemmy.world
        link
        fedilink
        arrow-up
        19
        ·
        10 months ago

        Lol if you know how to exit, you may know that you actually can change almost everything about vim.

        • 0x4E4F@sh.itjust.works
          link
          fedilink
          English
          arrow-up
          2
          arrow-down
          9
          ·
          edit-2
          10 months ago

          I don’t think you can add modifier keys in shortcuts.

          And this behavior should come out of the box, not me changing stuff around so I can make it usable. For something that I use all the time, sure, but I only use a terminal text editor with git, and I don’t use git that often. For everything else, I use a GUI text editor (mousepad, leafpad, whatever).

          • bisby@lemmy.world
            link
            fedilink
            English
            arrow-up
            8
            ·
            edit-2
            10 months ago

            nnoremap <C-q> :q<CR>

            This works for me to bind control+q to quit.

            edit: easier to upload an image because lemmy is eating the “html” characters

          • taladar@sh.itjust.works
            link
            fedilink
            arrow-up
            4
            ·
            10 months ago

            You can set which editor to use with git using the GIT_EDITOR environment variable instead of telling other people their editor isn’t usable by your standards.

            • 0x4E4F@sh.itjust.works
              link
              fedilink
              English
              arrow-up
              1
              ·
              10 months ago

              Yes, I know, and I have it set to nano, but even then, I don’t use nano that much anyway, I do most edits in a GUI text editor.

  • Danny M@lemmy.escapebigtech.info
    link
    fedilink
    arrow-up
    32
    arrow-down
    1
    ·
    edit-2
    10 months ago

    I prefer the extremely intuitive:

    [C-R]=system("grep -P "PPid:\t(\d+)" /proc/$$/status | cut -f2 | xargs kill -9")

    or

    i:!grep -P "PPid:\t(\d+)" /proc/$$/status | cut -f2 | xargs kill -9[esc]Y:@"[cr]

    It just rolls off the fingers, doesn’t it?

    Edit: damn it lemmy didn’t like my meme because it assumes that characters between angle brackets are html tags :( you ruined it lemmy

    EDIT 2: rewrote it, just assume that square brackets are buttons not characters

  • aard@kyu.de
    link
    fedilink
    arrow-up
    35
    arrow-down
    8
    ·
    10 months ago

    I always get annoyed when I’m on some system and nano pops up and I need to figure out how to kill that thing.

      • aard@kyu.de
        link
        fedilink
        arrow-up
        9
        arrow-down
        25
        ·
        10 months ago

        It shows a message which wastes valuable screen estate, especially on low resolution terminals, containing a message I have to read every single time because the keys are not in muscle memory, and never will because the bindings are stupid.

        On systems I have control over the reaction to nano popping up is exiting, removing it, making sure the package system blocks reinstallation attempts, and go back to what I was initially doing in a sane editor.

        • nixcamic@lemmy.world
          link
          fedilink
          arrow-up
          16
          arrow-down
          3
          ·
          10 months ago

          My man, most of us aren’t connecting to our mainframes on VT20s these days. Even on my phone screen the three extra lines nano takes over vi aren’t a problem.

          Also if you have the time to go through all that you have the time to learn ctrl+x.

          • voidMainVoid@lemmy.world
            link
            fedilink
            arrow-up
            10
            arrow-down
            1
            ·
            10 months ago

            In most apps, Ctrl-X means “cut”, not “quit”. Especially when it’s a freakin’ text editor!

            I will grant you that it’s more intuitive than vi, but that is a very, very low bar.

            • GoosLife@lemmy.world
              link
              fedilink
              arrow-up
              3
              ·
              10 months ago

              Ctrl-X in Nano is arguably more nonsensical, considering that vi was made in an era long (decades) before many of the conventions we know today came about. They were figuring it out in real time. And the criterium here is much simpler: it must be available on all keyboards so no fancy keys. That’s all.

              On the other hand, when nano decided to use Ctrl+X for eXit, Apples Ctrl+X/C/V had already been brought over to Windows and Apple, and was also the de facto way for most Linux apps to handle these inputs although I do think it came before any “official” efforts to standardize these shortcuts in desktop environments.

            • 0x4E4F@sh.itjust.works
              link
              fedilink
              English
              arrow-up
              1
              arrow-down
              4
              ·
              edit-2
              10 months ago

              It doesn’t have to be X, just the fact that it uses modifier keys is enough. It could be Q or anything else, just please, for the love of god, we live in the 21st century now, all keyboards have modifier keys, please, add modifier keys shortcuts as well.

              • 0x4E4F@sh.itjust.works
                link
                fedilink
                English
                arrow-up
                2
                arrow-down
                4
                ·
                edit-2
                10 months ago

                That’s normal for people that didn’t grow up in the 70s and 80s and GUI wasn’t the first thing they knew. I was a teen in the late 90s and early 00s, so yeah, we had GUIs for almost everything.

                We’re basically trying to do catchup with the cool kids, but let’s face it, they live somewhat in the past regarding modifier keys and vi/vim.

        • UnfortunateShort@lemmy.world
          link
          fedilink
          arrow-up
          5
          arrow-down
          1
          ·
          10 months ago

          Because it also sends the kill signal in every terminal I’ve witnessed yet… And you have it right on screen the second you start Nano.

          • GoosLife@lemmy.world
            link
            fedilink
            arrow-up
            6
            arrow-down
            1
            ·
            10 months ago

            Can you please elaborate on the first part? It is not standard Linux terminal behavior to send the KILL signal on Ctrl+X.

            • UnfortunateShort@lemmy.world
              link
              fedilink
              arrow-up
              1
              ·
              10 months ago

              Actually, you are right. I will stand by my point that Nano tells you what to press, but I wonder where I got the stuff about Ctrl+X… I am very positive that I have used it at some point (outside of Nano), but maybe my brain is playing tricks on me 🤔

        • 0x4E4F@sh.itjust.works
          link
          fedilink
          English
          arrow-up
          2
          arrow-down
          1
          ·
          edit-2
          10 months ago

          Yeah, sure, that works as well.

          As long as I get to use modifier keys, almost anything is fine with me. We don’t live in the 70s, that was 50 years ago. If backwards compatibility is what they’re after, I’m sorry but I think they overdid it. Plus, you can just add them, the defaults don’t need to be changed.

  • Doctor xNo@r.nf
    link
    fedilink
    English
    arrow-up
    26
    arrow-down
    1
    ·
    10 months ago

    There’s a button to exit vim on your pc. Just hold it 7 seconds and vim is closed. 😅

    • raptir@lemdro.id
      link
      fedilink
      English
      arrow-up
      18
      ·
      10 months ago

      If anything it is dangerous as it will still exit even if changes cannot be saved.

    • DocMcStuffin@lemmy.world
      link
      fedilink
      arrow-up
      6
      ·
      10 months ago

      Try editing a file in /etc as a regular user. It happens sometimes and you really want that warning that the write failed.

      Anyway, :x is superior. It only writes if there are changes. So, your mtime doesn’t change unnecessarily.

  • JGrffn@lemmy.world
    link
    fedilink
    arrow-up
    17
    arrow-down
    13
    ·
    edit-2
    10 months ago

    Serious question. Why? No, for real, why? Why are these hard to understand editors still the default on most distros and flavors? Why haven’t they reinvented themselves with easier to understand shortcuts?

    I get the feeling my comment will attract heat, but I’m a web dev, studied comp Sci for years, have worked for nearly a decade and have spent over half my 30 year old life using computers of all sorts. I’m by no means a genius and I by no means know enough about this or most tech subjects, but I literally only knew how to close vim with and without saving changes in a recent vim encounter, purely due to a meme I saw in this community a few days prior, and I had already forgotten the commands by the time I saw this post. Nothing about vim and alternatives feels intuitive or easy to use, and you may say it’s a matter of sitting down and learning, which you can argue that, but you can’t argue this isn’t a bit of a gatekeeper for people trying to dip their toes into anything that could eventually rely on opening vim to do something.

    I won’t try to deny its place in computer history, or its use for many, or even that it is preferred by some, but when every other software with keyboard shortcuts agrees on certain easy to remember standards, I don’t quite understand how software that goes against all of that hasn’t been replaced or hasn’t reinvented itself in newer versions.

    Then again, I have no idea what the difference between vi, vim, emacs, and nano are, so roast away!

    • Captain Janeway@lemmy.world
      link
      fedilink
      arrow-up
      15
      ·
      10 months ago

      Vi is meant for old school and modern terminals. Ctrl+S or Ctrl+C had very particular purposes in software control flow. With Vi you can communicate via SSH on almost any unix file system. It’s basically a universal editor that doesn’t require a mouse or a lot of keys on a keyboard. You can get away with just a subset of the ASCII set.

      So for one, it’s kind of like having a backwards compatible piece of software that exists on almost any system you might need to remotely control via a keyboard with no GUI.

      For two, once you do learn how to use Vi/Vim/Emacs, you’ll be far faster at typing. It has several useful tricks for automating typing (faster copy/paste, copy/paste n-times, jump around lines/chars, go-to lines, search via Regex, etc.) which are particularly useful in a programming context.

      Generally, it’s worth a developer spending at least a day or a week typing only in Vi for programming. Yes, you’ll be slow and clunky. But the moment you have to SSH into a server and make meaningful changes to a file, you’ll be happy you spent the time.

    • AngryCommieKender@lemmy.world
      link
      fedilink
      arrow-up
      13
      arrow-down
      1
      ·
      10 months ago

      Then again, I have no idea what the difference between vi, vim, emacs, and nano are, so roast away!

      Lol. Git Gud, Noob.

    • voidMainVoid@lemmy.world
      link
      fedilink
      arrow-up
      13
      arrow-down
      1
      ·
      10 months ago

      Some people like vim the way it is. That’s why they haven’t re-invented it. If you want to use a more intuitive text editor, there are plenty available (such as nano or micro).They don’t need to turn vim into a clone of something that already exists.

      As for why it’s still the default… It’s the same reason why everybody uses QWERTY keyboards when Dvorak is clearly superior. People already know how to type with QWERTY and they don’t want to take the time to re-learn with a new layout, change their workflows, etc.

      It isn’t universal, though. Garuda Linux defaults to micro. The web dev boot camp I was in didn’t bring vim up at all! We only used nano! I think that was a disservice to the students, but the instructors must’ve thought that it would be too confusing.

        • bisby@lemmy.world
          link
          fedilink
          English
          arrow-up
          5
          ·
          edit-2
          10 months ago

          https://www.youtube.com/watch?v=188fipF-i5I

          This video goes over a lot of metrics about how far you have to move your fingers to type certain things, and how we wound up at qwerty in the first place. The truth of it is though: different layouts are better for different things. He shows in the video a bunch of keyboard layouts optimized for things like youtube comments, the script of the Bee movie, wikipedia, etc.

          At 7:12 in the video, he cites Dvorak as 26.2% more efficient than qwerty for how much your fingers need to travel to type. This covers letter frequency, but also sequencing (ie, typing the letters “un” on qwerty means i have go from top row U to bottom row N with the same finger).

          I don’t use dvorak, because if I want to use someone else’s computer, I don’t want to have to fight with muscle memory, but it is “superior” in many ways.

          • taladar@sh.itjust.works
            link
            fedilink
            arrow-up
            4
            arrow-down
            1
            ·
            10 months ago

            The main downside of Dvorak and why I will never use it is that virtually all programs designed their keyboard shortcuts around the positions of QWERTY keys and remapping literally everything makes no sense.

        • voidMainVoid@lemmy.world
          link
          fedilink
          arrow-up
          6
          arrow-down
          1
          ·
          10 months ago

          One word: ergonomics.

          With Dvorak, the most commonly-used letters are on the home row. In fact, all of the vowels are on the home row.

          The most common letter in English is E, and QWERTY makes you reach for it. You know what IS on the home row? Fuckin’ semicolon! Can you even remember the last time you used a semicolon?

          I spend a lot of time at work sitting, so I’d rather have a comfortable chair than an uncomfortable chair. Same with my keyboard: I’d rather have a comfortable layout than an uncomfortable one. Less risk of repetitive strain injury, too.

          • 123@lemm.ee
            link
            fedilink
            arrow-up
            2
            ·
            10 months ago

            Can you even remember the last time you used a semicolon?

            Database Administrators have entered the chat.

    • camr_on@lemmy.world
      link
      fedilink
      arrow-up
      10
      ·
      10 months ago

      Why would vim reinvent itself? Vim’s functionality has been standard for years, and works as expected. You can always use nano or something similar instead, which is probably a lot more usable to someone who doesn’t want to learn all the advanced functionality of vim or emacs

    • azertyfun@sh.itjust.works
      link
      fedilink
      arrow-up
      7
      ·
      10 months ago

      Is vi still the default? On Debian it sure isn’t, nano is the default and has been for years, and I can only assume the debian derivatives have all followed suit. That’d already be most new installs taken care of.

      If you find something that opens vi unexpectedly, double-check $EDITOR’s value then file a bug report and tell them to follow $EDITOR.

    • bitwaba@lemmy.world
      link
      fedilink
      arrow-up
      6
      ·
      10 months ago

      As a ~20 year vim user, and by no means a proficient power user (any time I end up in recording mode, I just mash ESC repeatedly until this start behaving normally again.), I think it’s just “it’s easier for someone that doesn’t know how to use it to learn, than it is for everyone that already knows how to use it to relearn”.

      Like the damn scroll options on laptop trackpads. Multitouch scroll down = scroll down. Then someone decided it needed to match the way phone scrolling works after smartphones became popular, so now there’s lots of scroll down = scroll up software behavior. But the options are still there to behave neither way. If you don’t like the vim commands, you’re free to install something that behaves in a way that you expect. If you do like vim commands, install it and get the behavior that users have come to expect for the last 20+ years.

    • rtxn@lemmy.worldM
      link
      fedilink
      English
      arrow-up
      5
      ·
      edit-2
      10 months ago

      To ensure the Unix-like standard of maximum backwards compatibility. Vi (the original, before Vim) was made in an age where computer keyboards might not have had luxury features like arrow keys, but did have alphanumeric keys and minimally competent users. It has worked for almost half a century, so unless you’re Microsoft, why would you change it?

      Even today, many people prefer it because you don’t have to move your hand far away from the home row while typing or navigating, and the modality gives the user a much greater toolkit (seriously, I just about nutted when I discovered d i "). Not having to rely on modifiers and the arrow keys also reduces the risk of the repeated stress injury known as Emacs pinky.

    • johannesvanderwhales@lemmy.world
      link
      fedilink
      arrow-up
      5
      ·
      10 months ago

      Because vim (and emacs too!) is a powerful editor that works purely on command line and most people who are experienced in the Unix world are generally familiar with it. There are plenty of easier editors to use, like nano, that are also widely distributed and you are free to change your default. Being really powerful but you kind of need to know what you’re doing is basically unix’s whole thing.

    • marcos@lemmy.world
      link
      fedilink
      arrow-up
      4
      ·
      10 months ago

      Nano is the default on Debian for more than a decade. Maybe two. I don’t think vim is the default on any largely use distro now.

      Are you actually asking why people use them?

    • ancap shark@lemmy.today
      link
      fedilink
      arrow-up
      1
      ·
      10 months ago

      Why are these hard to understand editors still the default on most distros and flavors

      I think nano is usually the default nowdays. Nano os pretty minimal and has it’s keybinds always on display so you don’t need to memorize them.

      Why haven’t they reinvented themselves with easier to understand shortcuts?

      Nothing about vim and alternatives feels intuitive or easy to use

      (Neo)vim doesn’t need to reinvent itself to be more accessible, because it does what it does very well. I’m a web dev and have used vscode like anybody else for a long time. I decided to try neovim because vscode was performing badly, but kept me using it because of how good the developer experience is. Once you learned how to use it, there is just nothing better.

      but when every other software with keyboard shortcuts agrees on certain easy to remember standards, I don’t quite understand how software that goes against all of that hasn’t been replaced or hasn’t reinvented itself in newer versions

      In a way, it has been replaced. Most people will use a user friendly IDE and ignore vim. The thing about vim is that it does things in a fundamentally different way than any other editor, so reinventing itself would mean loosing everything that makes it good, then you better off using something else.

      Then again, I have no idea what the difference between vi, vim, emacs, and nano are

      Nano is a simple, easy terminal text editor; vi, vim and neovim are three versions of the same quirky and hard, but very good text editor/IDE; emacs is a quirky, but kinda bad editor that has amazingly good extendability.