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
    link
    58
    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
      link
      141 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.

      • lurch (he/him)
        link
        fedilink
        13
        edit-2
        1 year ago

        In Linux terminals, you probably could have pressed Alt+F2 or Ctrl+Alt+F2 (F2 could be other F-keys) and log in on a second terminal to recover (by reading the manual or killing it). Also, if bash already had job control back then Ctrl+Z would have suspended vi/vim to the background.

        I’m writing this, so people try it and maybe remember it, if they get stuck in some program. Doesn’t have to be vi. Maybe you just launched a long dd command and don’t want to end it, but want to look something up. These hints may help then.

        • @[email protected]
          link
          fedilink
          141 year ago

          Help, how do I exit vi?

          Ctrl+Alt+F2
          sudo killall vim
          

          Hmmm… never thought about that, honestly, but it makes sense

          • @marcos
            link
            21 year ago

            sudo killall vim

            Just make sure you are using a GNU system.

            • @[email protected]
              link
              fedilink
              21 year ago

              Luckily it shouldn’t do anything but error out on Unix boxes, as vim is not a valid process signal and their version of killall expects a signal argument (or just -)

            • @[email protected]
              link
              fedilink
              11 year ago

              Yeah, but in case I’m on a server, I’m going to free all the other trapped users, too! (Although I’d probably just terminate the ssh session then)

      • @[email protected]
        link
        fedilink
        41 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.

      • @EuroNutellaMan
        link
        11 year ago

        “tldr [command]” helps a lot more than --help without the verbosity of man. Just fyi.

    • @[email protected]OP
      link
      fedilink
      English
      61 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.

    • rustydomino
      link
      English
      51 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
        link
        41 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.

  • cacheson
    link
    fedilink
    221 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

  • DreamButt
    link
    English
    191 year ago

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

    • @psud
      link
      51 year ago

      Why would you have closed Emacs? You can do everything in Emacs

  • @[email protected]OP
    link
    fedilink
    English
    121 year ago

    bonus point: if you like inception, do :term, press i and start another (n)vim session :)

          • @[email protected]
            link
            fedilink
            English
            21 year ago

            The layout is what matters for vim and it’s derivatives. I might be wrong here, but if you really need to be able to use the same keybindings as you would on a English qwerty one, you could try remapping things to their addresses or whatever that’s called - basically the same key, physically, regardless of its layout mapping.

            That being said, it’s vim, you can remap the command to get back to normal mode from terminal mode to whatever key or key sequence you like most.

            Using mouse to scroll up and down your terminal window inside vim also gets you back to normal mode.

            And, well, quitting the shell of your terminal in vim works just fine - either via command or hitting Ctrl+d.

            • @psud
              link
              2
              edit-2
              1 year ago

              Vim can’t automatically handle other key maps? I’m sure it worked as designed in my dvorak system

              :w to write, not :, (Dvorak has comma where qwerty has w)

              I get it if the keyboard doesn’t use the letters we use, but that person could type in Lemmy with all the normal letters

            • @[email protected]
              link
              fedilink
              21 year ago

              On my keyboard the layout is mostly the same, it’s not like AZERTY or something like that. The problem is some keys like \ are behind modifiers (In this case AltGr+\), so most times when I’ve tried the Ctrl+\ combination it hasn’t worked (You can see how the keyboard layout is here

  • @[email protected]
    link
    fedilink
    91 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.

    • @[email protected]OP
      link
      fedilink
      English
      21 year ago

      have you tried geany? I find it pretty sweet. that’s what I told my project manager to use.

      • @[email protected]
        link
        fedilink
        11 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.

  • @qwertychomp
    link
    91 year ago

    Dangol modern Linux users, haven’t even heard of Ed. Every text editor is bloat, ed is life!

  • @hakunawazo
    link
    81 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).

  • @yesman
    link
    71 year ago

    This is the duality of Linux. Linux is an easy OS that’s extremely customizable and everyone should use it. But also you may have to choke out your PC to exit the text editor.

    Did yall know that Notepad has tabs now? So does explorer!

    • @EuroNutellaMan
      link
      91 year ago

      Choke my computer to exit the text editor? I use nano. I only choke the computer when it asks seductively

    • @voidMainVoid
      link
      41 year ago

      Holy shit! Tabs?!

      That does it. I’m going back to Windows.

      Tabs in a text editor. My mind is blown.

  • Victor
    link
    6
    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
        link
        11 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. 😊

    • callyral [he/they]
      link
      fedilink
      English
      11 year ago

      i was wondering, could one customize vim to have kakoune keybindings? if so, has someone already done it

      • Victor
        link
        11 year ago

        I’m thinking that would be more effort than simply installing the kakoune executable. If it’s even possible, that is.

  • @Suavevillain
    link
    61 year ago

    I’m one of the people who use micro lol. I do want to give Vim a real shot.

  • @Treczoks
    link
    51 year ago

    And I don’t even want to start vim.