Editar archivo con vim usando Dialog

Editar archivo con vim usando Dialog

Estoy intentando crear una GUI basada en terminal para una herramienta. El siguiente código invoca algo como esto

while true
do
   CHOICE=$(dialog --keep-window --clear --no-shadow \
                --backtitle "$BACKTITLE" \
                --title "$TITLE" \
                --menu "$MENU" \
                $HEIGHT $WIDTH $CHOICE_HEIGHT \
                "${OPTIONS[@]}" \
                2>&1 >/dev/tty)

   clear

   case $CHOICE in
   #*) exec vim "$(echo $CHOICE  | cut -d ':' -f 1)" ;  ;;
   *)  filename="$(echo $CHOICE | cut -d ':' -f 1)"
       #mkfifo "$TOMATO_DIR/cf"
       if [ ! -z $filename ] ; then
           dialog --editbox $filename 60 80
           #cp "$TOMATO_DIR/cf" $filename
           #rm -f ${INPUT}
       else
           clear
           exit 0
       fi
       clear ;;
   esac

done

ingrese la descripción de la imagen aquí

Y al presionar ENTERy editar el cuadro se abre lo siguiente: ingrese la descripción de la imagen aquí

Intenté abrir el archivo vimpero al guardarlo, las herramientas se cierran.
Quiero saber cómo abrir el archivo y volver a la herramienta al guardarlo o salir de él vim.

Respuesta1

exec es un shell integrado según la bashpágina de manual (tenga paciencia, está muy lejos)

   exec [-cl] [-a name] [command [arguments]]
          If command is specified, it replaces the shell.  No new process is created.

considere 2 guiones

exec ls
pwd

y

ls
pwd

si ejecuta el primer shell, exec lsel comando reemplazará el shell (descartando la entrada restante), pwdel comando nunca se ejecutará.

información relacionada