Não estou ciente de nada que funcione como zsh vared in bash , fora da caixa.
No entanto, você pode definir uma função que permitirá editar o valor de uma variável de ambiente usando, por exemplo, vim :
function vared {
[[ $# -eq 1 ]] || { echo "Usage: vared VARNAME" >&2 ; return 1 ; }
tmpfile=$( command mktemp -t vared.XXXX )
echo "${!1}" > "$tmpfile"
command vim "$tmpfile" && export $1="$(< "$tmpfile" )"
command rm "$tmpfile"
}
Chame como vared PATH .
O que isso faz? Ele cria um arquivo temporário, grava o valor atual da variável especificada no arquivo e abre vim com o arquivo temporário como argumento. Agora você deve editar o valor, salvar e sair de vim (você pode sair sem salvar o arquivo para pular as alterações de salvamento). Depois, o conteúdo do arquivo é definido como o novo valor da variável, a coisa toda é exportada e o arquivo temporário é removido. command é necessário para ignorar alias de shell e pesquisas de funções, por exemplo um rm alias para rm -i perguntaria antes de excluir o arquivo no final.
Se a variável não existe ou não é uma variável ambiente , será depois.