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

linuxmemes

21234 readers
31 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
     
    you are viewing a single comment's thread
    view the rest of the comments
    [–] [email protected] 11 points 7 months ago (2 children)
    :w !sudo tee %
    

    Warning: does not work for neovim

    [–] [email protected] 2 points 7 months ago (1 children)

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

    [–] [email protected] 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.

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

    [–] [email protected] 1 points 7 months ago (1 children)

    sure it works in neovim

    I didn't do any editing since it's just to prove a point, but I think it does fine.

    [–] [email protected] 1 points 7 months ago

    Here is an alternative Piped link(s):

    sure it works in neovim

    Piped is a privacy-respecting open-source alternative frontend to YouTube.

    I'm open-source; check me out at GitHub.