Ejecución de VIM y Emacs sin interacción de usuario🔗

Es posible ejecutar a VIM o Emacs desde la línea de comandos sin interactuar con ellos, por ejemplo:

  • VIM, imprimir la versión haciendo uso de :version:

    [nihilipster@localhost:~]$ vim -E -T dumb "+version" "+qall" 2>/dev/null
    
  • Emacs, imprimir la versión haciendo uso de (emacs-version):

    [nihilipster@localhost:~]$ emacs --batch --eval="(message (emacs-version))"
    

Esto da la oportunidad de hacer ediciones de archivos de manera automática, programando las instrucciones necesarias para tal efecto.

Programación en VIM y Emacs

Mientras que el lenguaje de programación de VIM es Vim script/Vim9 script, el de Emacs es Emacs Lisp.

Lo anterior puede ser usado para actualizar los plugins de ambos de manera automática, desde la terminal:

  • VIM, haciendo uso de vim-plug:

    [nihilipster@localhost:~]$ vim --not-a-term +PlugClean! +qall >/dev/null
    [nihilipster@localhost:~]$ vim --not-a-term +PlugUpgrade +PlugUpdate +qall >/dev/null
    
  • Emacs, haciendo uso de prelude:

    [nihilipster@localhost:~]$ echo Y | emacs \
      --load=$PRELUDE_INSTALL_DIR/init.el \
      --batch \
      --eval="(package-refresh-contents)" >/dev/null 2>&1
    [nihilipster@localhost:~]$ echo Y | emacs \
      --load=$PRELUDE_INSTALL_DIR/init.el \
      --batch \
      --eval="(prelude-update)" >/dev/null 2>&1
    

Hay varios parámetros a usar en ambos casos para modificar el comportamiento interno para la ejecución sin interacción de usuario.

Fuentes🔗