this post was submitted on 24 Mar 2024
353 points (95.6% liked)

linuxmemes

21103 readers
1623 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] 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