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🔗
- https://vimhelp.org/starting.txt.html#--not-a-term
- https://vimhelp.org/starting.txt.html#-E
- https://vimhelp.org/starting.txt.html#-T
- https://stackoverflow.com/a/23237529
- https://www.emacswiki.org/emacs/BatchMode
- https://www.gnu.org/software/emacs/manual/html_node/emacs/Initial-Options.html
- https://www.gnu.org/software/emacs/manual/html_node/elisp/Batch-Mode.html