From c9d1320b54fbe17baa830f827796ae7bdd7b8b34 Mon Sep 17 00:00:00 2001 From: Jonathan Hodgson Date: Tue, 16 Nov 2021 14:29:20 +0000 Subject: [PATCH] Adds sudo writes to nvim If in nvim and the SUDO_ASKPASS environment variable is set then a WW mapping will expand to :w !sudo -A tee % >/dev/null If in not-neo vim, the -A is omitted. The environment variable is also set. Some unused environment variables were also removed. https://stackoverflow.com/questions/2600783/how-does-the-vim-write-with-sudo-trick-work https://github.com/neovim/neovim/issues/12103 --- nvim/.config/nvim/plugin/mappings.vim | 8 ++++++++ shells/shared/environmentVariables | 15 +++------------ 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/nvim/.config/nvim/plugin/mappings.vim b/nvim/.config/nvim/plugin/mappings.vim index dc8dc9b2..66ed4bd0 100644 --- a/nvim/.config/nvim/plugin/mappings.vim +++ b/nvim/.config/nvim/plugin/mappings.vim @@ -81,3 +81,11 @@ nnoremap ]c :cnext " Run proselint and put it in the quickfix list nnoremap p :call mine#functions#proselint() + +if has('nvim') + if !empty($SUDO_ASKPASS) + cnoremap WW w !sudo -A tee % > /dev/null + endif +else + cnoremap WW w !sudo tee % > /dev/null +endif diff --git a/shells/shared/environmentVariables b/shells/shared/environmentVariables index 925c30e6..152b55be 100644 --- a/shells/shared/environmentVariables +++ b/shells/shared/environmentVariables @@ -52,16 +52,7 @@ export MSSQL_CLI_TELEMETRY_OPTOUT=1 export DOTNET_CLI_TELEMETRY_OPTOUT=1 export POWERSHELL_CLI_TELEMETRY_OPTOUT=1 -#export GTK_THEME=Adapta-Nokto +# Askpass +# I will use this for sudo writes in nvim +[ -f "/usr/lib/seahorse/ssh-askpass" ] && export SUDO_ASKPASS=/usr/lib/seahorse/ssh-askpass -if [ -n "$GTK_MODULES" ] -then - export GTK_MODULES="$GTK_MODULES:unity-gtk-module" -else - export GTK_MODULES="unity-gtk-module" -fi - -if [ -z "$UBUNTU_MENUPROXY" ] -then - export UBUNTU_MENUPROXY=1 -fi