this post was submitted on 24 Mar 2024
356 points (95.4% liked)

linuxmemes

21291 readers
1053 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 1 year ago
    MODERATORS
     
    you are viewing a single comment's thread
    view the rest of the comments
    [–] stardreamer@lemmy.blahaj.zone 11 points 7 months ago (5 children)
    :w !sudo tee %
    

    Warning: does not work for neovim

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

    Neovim, the one true vim, why hast thou forsaken me.

    [–] stardreamer@lemmy.blahaj.zone 2 points 7 months ago (1 children)

    Iirc the specific reason behind this is

    • sudo by default requires a tty to run
    • vim's bang spawns a tty to execute commands
    • nvim's bang executes the command directly, then pipes the output to nvim

    As a result, sudo (without args) can't work in nvim as it doesn't have a tty to prompt the user for passwords. Nvim also used to do what vim did, but they found out spawning the tty was causing other issues (still present in vim) so they changed it.

    [–] dream_weasel@sh.itjust.works 1 points 7 months ago* (last edited 7 months ago)

    There must be more to this. I just launched a terminal and created a file to test with nvim on arch and it works perfectly fine.

    Take a file, sudo chown root:root filename, sudo chmod 700 filename, edit with nvim and save with :w !sudo tee % then reload. Works fine.

    I'm on arch with suckless st.

    Edit:

    Made a demo vid - https://youtu.be/YKZuAvoSW5g

    load more comments (2 replies)