as I’m going through the process of learning vim, I’m discovering newfound powers. one of them being to execute commands from vim itself.

below examples might better explain some of them:

  1. want to see what files are in current directory? enter command mode(by typing :) and follow it by a bang(!). then do ls like you’d do in a terminal and press enter. this is not limited to just ls. you can enter any command that you can enter in terminal. for example: :! uname --operating-system (which will output GNU/Linux :))

  2. so you want to quickly save just a certain part of your file into another file? just select everything you need by entering visual mode(v) and do :w filename(actual command you’ll see would be '<,'>:w filename). verify it using 1.(i.e., :! cat filename.

  3. want to quickly paste another file into current one? do :r filename. it’ll paste its contents below your cursor.

  4. or maybe you want to paste results of a command? do :r !ls *.png.

vim is my ~ sweet ~ now. make it yours too.

  • CriticalMiss@lemmy.world
    link
    fedilink
    arrow-up
    45
    arrow-down
    1
    ·
    edit-2
    1 year ago

    I love vim, but it wasn’t always like this. When I was a Linux newbie one of the things that irritated me most is that tutorials aimed at beginners told readers to use vim, without explaining how to maneuver it. People, if you write tutorials aimed at beginners please use nano, even if it’s not your preferred text editor.

    • VubDapple@lemmy.world
      link
      fedilink
      arrow-up
      11
      arrow-down
      3
      ·
      1 year ago

      The first time I opened vim (it was probably just vi at the time) I couldn’t exit it and had to shut down the computer by holding down the power button (!) to regain control of the machine. It took a while before I tried it again. Ultimately nano felt like it was for kids and emacs felt like an even worse option than vi so I memorized a few sequences, eg :q!, :wq, how to enter the insert mode and how to exit it and simple edit commands like dd and x and this gave me enough proficiency to get by.

      Most all the terminal commands require prior study before they become easy to use. Its because Unix was created by engineers rather than by ui/ux design professionals.

      • Slotos@feddit.nl
        link
        fedilink
        arrow-up
        5
        arrow-down
        2
        ·
        1 year ago

        It’s because Unix was created by engineers rather than by ui/ux design professionals.

        This is somewhat disingenuous. Unix terminal is one of the most ergonomic tools out there. It is not “designed by engineers”, it is engineered for a purpose with user training in mind.

        Ergonomics is engineering. UI/UX design is engineering. UX designer that doesn’t apply engineering method is called an artist.

      • magikmw@lemm.ee
        link
        fedilink
        arrow-up
        2
        ·
        1 year ago

        And yet having a sane --help string is enough to get someone going. No need to gatekeep.

    • rustydomino@lemmy.world
      link
      fedilink
      English
      arrow-up
      5
      arrow-down
      1
      ·
      1 year ago

      What’s wrong with nano? I love nano. As a general thing I love Linux programs that are terminal based but also have a decent UI. Neomutt comes to mind for email.

      • CriticalMiss@lemmy.world
        link
        fedilink
        arrow-up
        5
        arrow-down
        2
        ·
        1 year ago

        There’s nothing wrong with nano, it’s a simple text editor while vim is much more versatile and aimed towards that are already accustomed to terminal software.

    • lemmesay@discuss.tchncs.deOP
      link
      fedilink
      English
      arrow-up
      5
      arrow-down
      1
      ·
      1 year ago

      i agree with your request. vim used to scare me first.

      as a side note: one of the reasons I believe as to why vscode grew in popularity was due to it lowering the barrier to just open up the editor and use it right away(with plugin system and a nice GUI). it is something vim by default doesn’t do.

  • DreamButt@lemmy.world
    link
    fedilink
    English
    arrow-up
    17
    ·
    1 year ago

    It’s like learning an instrument really. Just need to practice and eventually muscle memory will carry you

  • cacheson@kbin.social
    link
    fedilink
    arrow-up
    17
    arrow-down
    1
    ·
    1 year ago

    I love these memes that turn into threads full of vim tips. You really can do anything within vim. You can even exit vim!: !killall vim

  • khapyman@sopuli.xyz
    link
    fedilink
    arrow-up
    7
    arrow-down
    1
    ·
    1 year ago

    I will not make vim my sweet as it is optimized for us keyboard. Most of the shortcuts are awful in my native (Finnish) layout. As much of a heretic I am, there is a place for mouse and windowing display managers.

    What I do miss from the Redmont dystopia is Notepad++. Can do anything, can be explained over the phone.

      • khapyman@sopuli.xyz
        link
        fedilink
        arrow-up
        2
        arrow-down
        1
        ·
        1 year ago

        I have not, and on a glance it looks really interesting, thank you! I will give it a spin and I really hope it is the editor of choice from now on.

  • hakunawazo@lemmy.world
    link
    fedilink
    arrow-up
    7
    arrow-down
    1
    ·
    1 year ago

    If you don’t want to use the :! bang command, you could also temporarily exit vim with Ctrl + z and reopen it with fg (like foreground).

  • Victor@lemmy.world
    link
    fedilink
    arrow-up
    6
    arrow-down
    2
    ·
    edit-2
    1 year ago

    I’m personally a kakoune guy now. I used vim for over a decade, but kakoune just makes much more sense to me. And I thought vim made a lot of sense, too.

      • Victor@lemmy.world
        link
        fedilink
        arrow-up
        1
        ·
        1 year ago

        Yeah baby! There’s always someone who says that – “huh, need to try that out sometime”.

        I really hope you do, it’s always satisfying finding a tool that you enjoy more than the ones you’ve been using. 😊

  • MystikIncarnate@lemmy.ca
    link
    fedilink
    English
    arrow-up
    3
    ·
    1 year ago

    I was forced to learn the vim basics. Mainly because I really started with dd-wrt, which I used on my Linksys WRT54GL.

    The image was too small to package anything fancy in it, like nano or something, but vi (or vim, I forget) was included. So when I needed to check something over ssh at the command prompt, vim was my only choice.

    My skills in vim have not expanded beyond the basics. Getting into edit mode, exciting edit mode, saving, quitting… Mostly.

    I don’t spend a lot of time editing files in the CLI, so I haven’t needed any more than I already know. Now, when faced with a Linux cli, and needing to check/edit the contents of a file, my go to, is vim. It’s pretty much on every system, and it works perfectly fine for what I need to do 99.99% of the time. I like vim, it’s been there for me through thick and thin, and helped me out of some serious jams. I won’t hate on nano (or any other cli file editor), they all have their pros and cons.

    Use what you like.