Diferencia entre VIM y emacs

Diferencia entre VIM y emacs

Esta es una era de rivalidades. Mira a tu alrededor y puedes ver guerras sagradas en todas partes: iOS vs. Android, Apple vs. Samsung, MCU vs. DC, la lista simplemente continúa. Uno de los antiguos y el más antiguo de las Guerras Solas es probablemente la 'Guerra del Editor' entre los usuarios de Vim y Emacs. Esta guerra del editor ha estado sucediendo, creando confusión entre la comunidad de software y los usuarios de Linux durante décadas. Vim y Emacs son, sin duda, dos de los editores más populares para el código de marionetas en las máquinas Unix. Ambos son editores de texto realmente buenos y altamente eficientes utilizados por la mayoría de los usuarios y programadores experimentados de Linux por igual. Echemos un vistazo a algunas diferencias clave entre los dos.

Que es vim?

VIM es una versión aumentada del editor de texto VI utilizado en sistemas UNIX. Corto para el editor visual, VI es el editor de texto estándar que se encuentra en casi todos los sistemas de Unix y es el editor de texto de Linux más popular. Ha existido desde los primeros días de Unix. VIM es un editor de texto orientado a la pantalla tipo VI diseñado para habilitar la edición de texto eficiente. A menudo llamado 'editor del programador', VIM utiliza operaciones simples basadas en cursor para dar un formato de pantalla completa. La primera versión de Vim fue lanzada al público por Bram Moolenaar en 1991. Se ha convertido en uno de los editores más populares y ricos en funciones desde entonces. En 1998, se lanzó la quinta generación de VIM y con ella también se introdujo una de las características más utilizadas del editor, Scripting,. La gente ahora puede escribir sus propios scripts para VIM, eventualmente ampliando su funcionalidad.

Que es emacs?

EMACS es una familia de editores de texto en tiempo real altamente personalizables y autocomnables diseñados para sistemas operativos POSIX y disponible en Linux, macOS, BSD, Windows y más. La mayoría de los usuarios dicen que Emacs no es realmente un editor; De hecho, es un sistema LISP (procesador de lista) altamente extensible que presenta edición de texto. EMACS está diseñado para el desarrollo del programa que le permite formatear el código fuente de acuerdo con la programación que está utilizando. Es uno de los editores de texto más populares en Linux que también actúa como un cliente de correo electrónico, un entorno de desarrollo integrado, un navegador de documentos, etc. La versión GNU de Emacs creada por el fundador de GNU Project Richard Stallman incluye un cliente de correo, junto con otros componentes, como un lector de noticias y editor. Originalmente fue escrito como una serie de comandos de extensión o macros para el editor de texto de finales de la década de 1960 TECO.

Diferencia entre VIM y emacs

Editor

- VIM es un editor de texto con tres modos importantes: insertar, normal y visual. VIM comienza en modo "normal" de forma predeterminada y se usa para controlar la sesión de edición. En modo de inserción, sus pulsaciones de teclas se convierten en parte del documento. El modo visual se usa para hacer la selección de texto. Puede crear y editar sus documentos cambiando de un lado a otro entre estos modos. Emacs también es un editor de visualización, pero es mucho más que un editor de texto. Es un sistema LISP (procesador) altamente extensible que presenta edición de texto. También actúa como un cliente de correo electrónico, un entorno de desarrollo integrado, un navegador de documentos, etc.

Facilidad de uso

- Vim es extremadamente liviano y rápido para cargar. Está destinado a ser un editor de texto fácilmente disponible y extremadamente versátil que viene preinstalado en casi todos los sistemas operativos basados ​​en UNIX, incluida la mayoría de sus distribuciones de Linux fuera de la caja. Es mejor que la mayoría de los editores de texto que existen. Todo lo que necesitas hacer es aprender las pulsaciones de teclas y estás listo para ir. Emacs está disponible en casi todos los principales sistemas operativos desde Linux hasta macOS, BSD, Windows y más. Sin embargo, no viene preinstalado y muy pocas distribuciones de Linux se envían con emacs fuera de la caja. Con emacs, puede hacer casi cualquier cosa como editar textos, tomar notas, editar videos, acceso de shell, escuchar música, navegar por la web y más.

Personalización

- Vim está más optimizado para la repetición. Es altamente eficiente teniendo en cuenta que rastrea sus acciones más recientes y puede repetir fácilmente el último cambio con solo una sola tecla de pulsación. Pero, por supuesto, tienes que aprender a elaborar tus acciones. Al igual que Vim, Emacs tiene un conjunto rico y extenso de comandos para alterar el texto. Pero con emacs, puede personalizar comandos en cualquier momento y también puede cambiar la configuración, la mayoría de las cuales son variables personalizables. Es esencialmente un entorno de ejecución para el lenguaje de programación LISP, que está de gira completa, lo que hace que las capacidades de emacs prácticamente no sean ilimitadas.

Idioma

- El núcleo de VIM está escrito en C y su interfaz de usuario se basa en el VI de años de Bill Joy, pero con muchas características nuevas. Sin embargo, los complementos para VIM se escriben en un idioma llamado VIMScript, que es una interfaz incorporada que permite a los desarrolladores mejorar las capacidades de VIM. Emacs, por otro lado, está escrito en un subconjunto de Lisp llamado Elisp (el dialecto utilizado en GNU emacs), lo que significa que podrá personalizar cada pequeño detalle del editor. LISP tiene una sintaxis regular muy mínima. Puede configurar la GUI hasta un nivel altamente granular, incluso la interfaz misma.

Vim vs. Emacs: tabla de comparación

Resumen

Al igual que Vim, Emacs también es un editor de texto que se puede ejecutar con una GUI, pero es mucho más que un solo editor de texto. De hecho, Emacs también actúa como un cliente de correo electrónico, un entorno de desarrollo integrado, un navegador de documentos, etc. A diferencia de VIM, Emacs le permite usar un lenguaje de programación LISP para escribir nuevos comandos o anular los viejos. Esta característica se llama extensibilidad en línea. Emacs también es altamente personalizable, lo que significa que puede personalizar cada detalle hasta un nivel altamente granular, lo que hace que sus capacidades prácticamente ilimitan. Sin embargo, VIM sigue siendo uno de los editores de texto más populares y ampliamente utilizados que se encuentran en casi todos los sistemas basados ​​en UNIX que existen.