this post was submitted on 10 Dec 2023
631 points (95.4% liked)

linuxmemes

21192 readers
516 users here now

Hint: :q!


Sister communities:


Community rules (click to expand)

1. Follow the site-wide rules

2. Be civil
  • Understand the difference between a joke and an insult.
  • Do not harrass or attack members of the community for any reason.
  • Leave remarks of "peasantry" to the PCMR community. If you dislike an OS/service/application, attack the thing you dislike, not the individuals who use it. Some people may not have a choice.
  • Bigotry will not be tolerated.
  • These rules are somewhat loosened when the subject is a public figure. Still, do not attack their person or incite harrassment.
  • 3. Post Linux-related content
  • Including Unix and BSD.
  • Non-Linux content is acceptable as long as it makes a reference to Linux. For example, the poorly made mockery of sudo in Windows.
  • No porn. Even if you watch it on a Linux machine.
  • 4. No recent reposts
  • Everybody uses Arch btw, can't quit Vim, and wants to interject for a moment. You can stop now.

  • Please report posts and comments that break these rules!

    founded 1 year ago
    MODERATORS
     

    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.

    top 50 comments
    sorted by: hot top controversial new old
    [–] CriticalMiss@lemmy.world 55 points 11 months ago* (last edited 11 months ago) (3 children)

    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 12 points 11 months ago (4 children)

    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@sh.itjust.works 11 points 11 months ago* (last edited 11 months ago) (1 children)

    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.

    [–] elvith@feddit.de 13 points 11 months ago (2 children)

    Help, how do I exit vi?

    Ctrl+Alt+F2
    sudo killall vim
    

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

    [–] marcos@lemmy.world 2 points 11 months ago (1 children)

    sudo killall vim

    Just make sure you are using a GNU system.

    [–] thejodie@programming.dev 2 points 11 months 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 -)

    [–] Emma_Gold_Man@lemmy.dbzer0.com 2 points 11 months ago (1 children)

    Sudo not even needed unless you were running vim as root

    load more comments (1 replies)
    [–] Slotos@feddit.nl 4 points 11 months 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 2 points 11 months ago (1 children)

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

    load more comments (1 replies)
    load more comments (1 replies)
    [–] lemmesay@discuss.tchncs.de 5 points 11 months 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.

    [–] 0x4E4F@sh.itjust.works 3 points 11 months ago

    This 👆👆👆.

    [–] cacheson@kbin.social 21 points 11 months 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

    [–] tdawg@lemmy.world 19 points 11 months ago

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

    [–] nutbutter@discuss.tchncs.de 14 points 11 months ago

    You can keep your vim. I am happy with my nano.

    [–] corrupts_absolutely@sh.itjust.works 12 points 11 months ago (1 children)
    [–] psud@lemmy.world 5 points 11 months ago (1 children)

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

    [–] lemmesay@discuss.tchncs.de 10 points 11 months ago

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

    [–] khapyman@sopuli.xyz 9 points 11 months ago (1 children)

    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.

    [–] lemmesay@discuss.tchncs.de 2 points 11 months ago (1 children)

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

    load more comments (1 replies)
    [–] qwertychomp@lemmy.world 9 points 11 months ago (1 children)

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

    [–] rottingleaf@lemmy.zip 3 points 11 months ago

    I use ed sometimes when too anxious.

    [–] hakunawazo@lemmy.world 8 points 11 months ago (2 children)

    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).

    [–] lemmesay@discuss.tchncs.de 4 points 11 months ago

    I love jobs(the bash one, not the apple guy)!

    [–] callyral@pawb.social 2 points 11 months ago

    weird, on neovim ctrl+z just flashes my shell for a frame and goes back to vim instantly

    [–] yesman@lemmy.world 7 points 11 months ago (2 children)

    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@lemmy.world 8 points 11 months ago

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

    [–] voidMainVoid@lemmy.world 4 points 11 months ago

    Holy shit! Tabs?!

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

    Tabs in a text editor. My mind is blown.

    [–] victorz@lemmy.world 6 points 11 months ago* (last edited 11 months ago) (3 children)

    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.

    [–] cacheson@kbin.social 2 points 11 months ago (1 children)

    Huh, I'm going to have to try that at some point. It's even got nim support.

    Link for the lazy

    load more comments (1 replies)
    load more comments (2 replies)
    [–] Suavevillain@lemmy.world 6 points 11 months ago (2 children)

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

    load more comments (2 replies)
    [–] dipshit@lemmy.world 6 points 11 months ago (2 children)
    [–] dukk@programming.dev 4 points 11 months ago (1 children)

    Blasphemy…don’t bring Microsoft’s shitty proprietary editor and shitty proprietary OS near my holy text editor.

    [–] dipshit@lemmy.world 5 points 11 months ago
    [–] PlexSheep@feddit.de 3 points 11 months ago (3 children)

    Ignoring that vscode cannot math the two giants: exe? Really?

    load more comments (3 replies)
    [–] Treczoks@lemmy.world 5 points 11 months ago

    And I don't even want to start vim.

    [–] MystikIncarnate@lemmy.ca 5 points 11 months ago (1 children)

    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.

    [–] victorz@lemmy.world 6 points 11 months ago (1 children)

    Getting into ~~edit~~ Insert mode

    I'll admit, I took the rage bait.

    [–] callyral@pawb.social 4 points 11 months ago* (last edited 11 months ago) (1 children)

    Step-by-step guide to getting started with Vim

    1. Uninstall Vim

    2. Install Neovim

    3. Install Emacs

    4. Install Doom Emacs

    5. Enable vterm inside Doom Emacs

    6. Disable Evil mode

    7. Run Neovim inside Emacs using vterm

    8. ???

    9. Profit

    load more comments (1 replies)
    [–] AnUnusualRelic@lemmy.world 2 points 11 months ago (1 children)

    Meh. Can't even run Eliza.

    [–] lemmesay@discuss.tchncs.de 3 points 11 months ago (1 children)

    it can if you do :term and then telnet telehack.com. ;)

    [–] psud@lemmy.world 2 points 11 months ago

    So "vim can run it" by letting you open a terminal? Emacs has telnet built in, let alone Eliza

    load more comments
    view more: next ›