/suda.vim

An alternative sudo.vim for Vim and Neovim but for doas

Primary LanguageVim ScriptMIT LicenseMIT

🥪 suda.vim

MIT License Doc

suda is a plugin to read or write files with doas command in non interactive mode (nopass option)

This plugin was built while :w !sudo tee % > /dev/null trick does not work on neovim.

neovim/neovim#1716

This plugin is strongly inspired by sudo.vim but the interfaces was aggressively modified for modern Vim script.

Usage

Use SudaRead to open unreadable files like:

" Re-open a current file with doas
:SudaRead

" Open /etc/sudoers with doas
:SudaRead /etc/sudoers

Or SudaWrite to write unwritable files like:

" Forcedly save a current file with doas
:SudaWrite

" Write contents to /etc/profile
:SudaWrite /etc/profile

Smart edit

When let g:suda_smart_edit = 1 is written in your vimrc, suda automatically switch a buffer name when the target file is not readable or writable.

In short,

$ vim /etc/hosts

or

:e /etc/shadow

Will open suda:///etc/hosts or suda:///etc/shadow instead of /etc/hosts or /etc/shadow because that files are not writable or not readable.