this post was submitted on 10 Dec 2023
688 points (95.5% liked)

linuxmemes

21631 readers
58 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!


    Important: never execute code or follow advice that you don't understand or can't verify, especially here. The word of the day is credibility. This is a meme community -- even the most helpful comments might just be shitposts that can damage your system. Be aware, be smart, don't fork-bomb your computer.

    founded 2 years 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.

    you are viewing a single comment's thread
    view the rest of the comments
    [–] [email protected] 13 points 1 year ago* (last edited 1 year 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.

    [–] [email protected] 14 points 1 year 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 2 points 1 year ago (1 children)

    sudo killall vim

    Just make sure you are using a GNU system.

    [–] [email protected] 2 points 1 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] 2 points 1 year ago (1 children)

    Sudo not even needed unless you were running vim as root

    [–] [email protected] 1 points 1 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)