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

    My main problem with vim is that they use hjkl instead of jkl; , it doesn’t make sense to me why they’d do that.

    And my second problem is that I use my own custom keyboard layout instead of qwerty, so I’d have to remap all the keys. Why spend hours learning and then rebinding all the keys when I can instead play some Dota? /s

    • Asymptote@lemmy.dbzer0.com
      link
      fedilink
      arrow-up
      3
      ·
      10 months ago

      My main problem with vim is that they use hjkl instead of jkl; , it doesn’t make sense to me why they’d do that.

      With qwerty you can be sure of layout of the letters and numbers across languages.

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

        Makes sense. Spanish keyboards have Ñ instead of semicolon, so it’d break. But I’m sure other things break in France, where they use AZERTY. So it’s not that universal.

        That makes me wonder, is there a way to get a keypress based on the position of the key, rather than the keycode? Would that be useful? Would assuming everyone is using a normal keyboard with letters in the same place even make sense? How would that interop with things like QMK?

    • evranch@lemmy.ca
      link
      fedilink
      arrow-up
      3
      ·
      edit-2
      10 months ago

      Been a vim user for decades but never used hjkl. Probably strongly correlated with the fact I’m non QWERTY as well (Dvorak). I just use the arrow keys combined with the jumps to start/end of lines/words or to characters.

      You don’t need to remap anything aside from hjkl as the keybindings are mostly mnemonic and not location based.

      On Dvorak at least, ^C is so easy to press that it’s great for switching modes, I never use Esc.

      I find the more time you’ve spent in non-graphical shells, especially on low spec devices or laggy connections, the more you appreciate vim. Instead of pressing Del a bunch of times and having it overrun you can ct" to swap out that string. I even use vim keys in vscode, as my hands are so used to them.

      My biggest complaint is logging into some legacy device that only has vi and not vim, when shortcuts like “dap” or “caw” don’t work

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

        Huh, I thought most keybindings where tied to the position of the keys, being vim “motions”, as in how you move your fingers or something like that.

        Maybe there are vim layouts for dvorak that I can use? Because I think I’d prefer to have the keybindings in the same place.

        I use a dvorak-based layout personally, but spanish QWERTY at work. Some time ago I learned EMACS with qwerty, so when I switched to dvorak my muscle memory was ruined, even if I knew the keybindings. I wonder if it’s worth it learning 2 keybindings to be able to switch layouts

        • evranch@lemmy.ca
          link
          fedilink
          arrow-up
          1
          ·
          edit-2
          10 months ago

          Not really key position based, they’re mostly things that match the letters like (i)nsert (a)fter (A)fter the whole line (d)elete (dd)elete a line ©hange ©hange rest of line.

          Then the fancier ones like ct ©hange(t)o which will remove the text from the cursor to the next character you hit. i.e. go to the open quote of a string, ct" replaces everything up to the end quote.

          ©hange(a)(w)ord will replace a word, ©hange(a)(p)aragraph will replace a whole block… putting a number in front of the command will repeat it like 5dd to delete 5 lines.

          I agree the muscle memory is a big thing but I use vim on both Dvorak and QWERTY (when I happen to be on site and not wanting to mess with changing keyboard layouts) and while I’m slower, it’s just the ordinary slowness that comes with not using QWERTY very often these days. I think of the commands as being the letters, not their positions.

          More to the point would be that if you’re already an EMACS user maybe learning vim is not that important? Though it does tend to be more common to find some sort of vi on even minimal hardware than to find EMACS.

          Strangely I use QWERTY on my phone and would find Dvorak odd for this purpose.

          Edit: looks like ( c ) got turned into the copyright symbol thanks to some overeager parser