Empuje

empuje

Vim en modo "consola"
Tipo de Editor de texto
Desarrollador Bram Molenar y otros
Escrito en Script C y Vim [1]
Sistema operativo Amiga , Linux , Mac OS X , Windows , OpenVMS , OS/2 , Unix
Idiomas de la interfaz Inglés, español, italiano, chino, alemán, persa, polaco, ruso, francés, japonés [2]
Primera edición 2 de noviembre de 1991 [3]
ultima versión
Licencia Licencia Vim compatible con GPL , software de caridad
Sitio web vim.org
 Archivos multimedia en Wikimedia Commons

Vim (abreviatura de Vi Im prove , pronunciado "vim") es un editor de texto gratuito basado en el antiguo vi . Ahora es un potente editor de texto con total libertad de personalización y automatización gracias a las extensiones y complementos.

La interfaz de usuario de Vim puede ejecutarse en modo de texto puro (consola) .

También hay una modificación para usar en una interfaz de ventana gráfica: GVim. Muchos comandos de usuario en GVim se pueden invocar a través de sus respectivos elementos de menú.

La principal diferencia con los editores de texto "clásicos"

Una de las características principales del editor es el uso de dos modos de entrada principales, conmutables manualmente: comando (después del lanzamiento, el editor está en él) y texto ( modo de inserción en inglés  , modo de edición de texto directo, similar a la mayoría "normal" editores). Hay otros modos también.

Vim no es intuitivo (excepto en el modo de "texto"), por lo que trabajar de manera efectiva con el editor requiere un aprendizaje previo.

Funcionalidad

Reseña: Mejoras destacadas de vi

En comparación con el vi clásico , Vim tiene las siguientes mejoras:

Sistema de ayuda Vim

Vim tiene un sistema de ayuda muy conveniente y detallado, y un sistema para navegar y navegar entre sus secciones. Para abrir cualquiera de sus secciones, simplemente use el comando :help en modo comando.

Terminología

Modos de funcionamiento

Modo normal

Por supuesto, hay muchos más equipos de este tipo. El punto es que necesitas aprender estos comandos para poder usarlos. Podría argumentar que probablemente no pueda aprender todos estos comandos, porque hay cientos de comandos de movimiento diferentes, algunos simples y otros bastante inteligentes, y que le llevaría semanas de práctica aprender todos estos comandos. Bueno, no es necesario aprenderlos todos. En cambio, debe comprender su estilo de edición individual y aprender solo aquellos comandos que lo ayudarán a hacerlo más eficiente [5] .

bram moolenaar

De forma predeterminada, Vim se inicia en modo normal, también llamado modo de comando. Las pulsaciones de teclas en este modo se perciben como comandos (copiar, borrar, mover texto, etc.).

Entre los comandos de modo normal, hay comandos de "un solo carácter". Entonces, por ejemplo, al presionar $se moverá el cursor al final de la línea; presionando la tecla 0(cero) - al principio; D(en mayúsculas) - para borrar ( d eliminar) parte de la línea actual desde la posición actual del cursor hasta el final; С(en mayúsculas) - para reemplazar ( cambiar) parte de la línea actual desde la posición actual del cursor hasta el final, etc.

Otros comandos para su trabajo esperarán una mayor continuación de la entrada. Por ejemplo f, es responsable de moverse rápidamente en una línea al siguiente carácter escrito después de él. Por lo tanto, después de presionar fVim esperará a que se digite este carácter para usarlo como el de búsqueda.

Después de presionar y( y ank), dy cotras teclas de "control" similares, Vim esperará la entrada adicional de comandos que especifiquen el objeto en el que se realizará la acción (copiar, eliminar o reemplazar, respectivamente). Por lo tanto, daweliminará la palabra actual debajo del cursor (eliminar palabra ambiental ) y todos los caracteres  desde la posición actual del cursor hasta el final de la línea. d$

Estos comandos tan simples se usan no solo en el "modo manual" (cuando, si es necesario, se escriben cada vez desde el teclado), sino también cuando se configuran secuencias de acciones complejas .

El modo normal es el modo central , desde el cual se realiza la transición a todos los demás. Puede cambiar de cualquier modo al modo de comando presionando la tecla dos veces Esc(en la mayoría de los casos, una sola pulsación es suficiente).

Modo de inserción

Modo de inserción (modo de inserción en inglés  ), en el que se ingresa texto.

Para cambiar del modo de comando al modo de inserción, puede presionar i(para comenzar a pegar texto en el cursor) o a(para comenzar a pegar texto después del cursor). También hay una serie de otras teclas y sus combinaciones para cambiar al modo de edición directa de texto (por ejemplo, a través de uno de los comandos de reemplazo de objetos de texto).

En este modo, Vim funciona como la mayoría de los editores de texto "normales". De forma predeterminada, los caracteres escritos no se tratan como comandos, sino que se insertan en el texto existente. Sin embargo, incluso en este modo, puede configurar acciones especiales del editor que se realizan cuando se presionan ciertas teclas o sus combinaciones. Como ejemplo, puede especificar que al escribir un corchete de apertura (, el corchete de cierre correspondiente se agregue inmediatamente y el cursor se coloque entre ellos.

CtrlLos métodos abreviados de teclado ( + R, etc.) también se pueden usar para insertar, eliminar, cambiar y autocompletar texto .

Al escribir una palabra abreviada, esta palabra se reemplaza automáticamente por un texto predefinido.

Modo de línea de comandos

Este modo se activa pulsando :desde el modo normal. Los dos puntos van seguidos de un comando complejo (por ejemplo, buscar o reemplazar), que, después de ingresar, se pasa para su ejecución presionando ↵ Enter. Después de ejecutar el comando, el editor vuelve al modo normal. Este modo también incluye comandos para buscar más en el texto /, buscar hacia atrás en el texto ( ?) y un comando de filtro !para pasar datos a un filtro externo.

Modo visual

El modo visual estaba ausente en Vi y apareció por primera vez en Vim. Es algo similar al comando. Usando comandos de control especiales, en combinación con flechas y comandos de navegación, puede seleccionar fragmentos de texto carácter por carácter, línea por línea o como un bloque y luego aplicarles comandos de modo normal (por ejemplo, eliminar el texto seleccionado o reemplazarlo). Editar en este modo es más fácil que en el modo normal porque puede ver claramente a qué bloque de texto se aplicará el comando de edición invocado.

Automatización de operaciones

La capacidad de Vim para distinguir entre objetos de texto (palabras, oraciones, párrafos, líneas, caracteres individuales, etc.) le permite establecer una secuencia de acciones para automatizar ciertas operaciones.

Sí, después del comando.

nmap < F7 > byei << ESC > ea >< / < C - R > 0 >< ESC >

presionar F7convierte (en modo comando) cualquier palabra debajo del cursor (independientemente de su longitud y los caracteres que la componen) en una etiqueta xml . Por ejemplo, si la palabra actual bajo el cursor es div , se convertirá en <div></div> , si transform  es entonces en <transform></transform> , etc.

Vim es capaz de realizar transformaciones mucho más complejas, también puede configurar sus propias funciones para transformar datos y automatizar operaciones de rutina.

Todas las acciones que son factibles en Vim "manualmente" (es decir, directamente por una persona en el teclado) se pueden automatizar (incluido el cambio entre diferentes modos).

Historial de versiones

Historial de versiones
la fecha Versión Cambios
1988 1.0 Basado en Stevie para Amiga , titulado Vi IMitation , nunca lanzado oficialmente.
2 de noviembre de 1991 1.14 [6] Primer lanzamiento público de Amiga
1992 1.22 [6] Portado a Unix . Ahora Vim compite con vi . A partir de ese momento Vim se convirtió en Vi MEJORADO
12 de agosto de 1994 3.0 [6] Soporte para ventanas divididas
29 de mayo de 1996 4.0 [6] Interfaz gráfica del usuario
19 de febrero de 1998 5.0 [6] Resaltado de sintaxis , un lenguaje de secuencias de comandos simple (funciones definidas por el usuario, comandos, etc.)
6 de abril de 1998 5.1 Corrección de errores y otros cambios.
27 de abril de 1998 5.2 Compatibilidad con líneas largas, explorador de archivos incorporado, cuadros de diálogo, menús emergentes, modo de selección, archivos de sesión, funciones definidas por el usuario, comandos, interfaz tcl y otros cambios.
31 de agosto de 1998 5.3 Corrección de errores y otros cambios.
25 de julio de 1999 5.4 Cifrado de archivos simple, varias mejoras
19 de septiembre de 1999 5.5 Corrección de errores, varias mejoras.
16 de enero de 2000 5.6 Nuevos archivos de sintaxis, correcciones de errores y otros cambios
24 de junio de 2000 5.7 Mismo
31 de mayo de 2001 5.8 Mismo
26 de septiembre de 2001 6.0 [6] Folding , plugins, multilingüismo y otros cambios
24 de marzo de 2002 6.1 Error de corrección
1 de junio de 2003 6.2 GTK2 , soporte árabe , comando: probar, funciones menores, corrección de errores
7 de junio de 2004 6.3 Corrección de errores, actualizaciones de traducción, mejoras de etiquetas
15 de octubre de 2005 6.4 Corrección de errores, actualizaciones de compatibilidad con Perl , Python y Ruby
7 de mayo de 2006 7.0 Verificación ortográfica , finalización automática , pestañas ("pestañas"), resaltado de la línea y columna actuales, deshacer ramas y otros cambios
12 de mayo de 2007 7.1 Corrección de errores, nuevos ejecutables y archivos de sintaxis, y otros cambios
9 de agosto de 2008 7.2 Corrección de errores, nuevos ejecutables y archivos de sintaxis, mejoras de seguridad y otros cambios
15 de agosto de 2010 7.3 Corrección de errores, nuevos ejecutables y archivos de sintaxis, mejoras de seguridad, deshacer "perpetuo", fin del soporte para Mac OS 9 y GTK1 , soporte Lua y otros cambios
10 de agosto de 2013 7.4 Nuevo motor de expresiones regulares más rápido y otros cambios
12 de septiembre de 2016 8.0 E/S asíncrona, expresiones lambda , cierres , soporte para GTK+ 3 y Microsoft DirectX, y otros cambios.
18 de mayo de 2018 8.1 Soporte para abrir una terminal dentro de una ventana de Vim [7] .
14 de diciembre de 2019 8.2 Ventanas emergentes
28 de junio de 2022 9.0 [8] secuencia de comandos Vim9

Portabilidad

Una de las ventajas del editor Vim es su disponibilidad para muchos sistemas operativos . Esto es especialmente cierto para los administradores de sistemas que tienen que editar archivos entre plataformas.

Vim se ejecuta en los siguientes sistemas operativos:

Toque Vim

Para el sistema operativo Android , que utiliza la pantalla táctil como dispositivo de entrada principal, David Tao escribió una versión adaptada de vim, vim touch, actualmente distribuida bajo la licencia Apache [9] [10] [11] [12] . También hay una variante de DroidVim.

Premios

De 2001 a 2004 Vim fue el ganador de los premios Readers' Choice Awards de LinuxJournal como editor de texto favorito. También recibió el premio Linuxworld Editors' Choice Award en 1999 y el premio Slashdot Beanie en 2000.

Licencia

Vim se distribuye bajo una licencia compatible con GPL conocida  como Charityware .  Parte de los fondos donados al desarrollo de Vim se utiliza para apoyar a los huérfanos en Uganda a través de ICCF Holanda .

Extensiones Vim

El número total de extensiones disponibles en el sitio oficial es más de 3000 [13] .

Las extensiones populares de Vim incluyen:

  • MiniBufferExplorer ;
  • lista de etiquetas  : para ver la estructura de los archivos del programa (lista de funciones, etc.);
  • bufexplorer (desde Vim 7.4, en su mayoría desactualizado);
  • closetag  : para un cierre más conveniente de las etiquetas al editar archivos html y xml ;
  • supertab  : para autocompletar palabras presionando Tab ↹(al mismo tiempo, las sangrías de línea funcionan como de costumbre);
  • proyecto - para organizar archivos en proyectos para facilitar la navegación a través de ellos;
  • indexador: para generar etiquetas usando ctags para todos los archivos incluidos en el proyecto (el proyecto se puede organizar tanto con el complemento del proyecto como sin él). Las etiquetas son necesarias para pasar rápidamente de una llamada de función a su declaración, para obtener una lista de miembros de una estructura o clase, etc.

Lista de extensiones populares de Vim por su popularidad en GitHub: http://vimawesome.com

Debido a la flexibilidad de las opciones proporcionadas a través de las extensiones, Vim también se puede usar como un wiki personal .

Notas

  1. Vim | carnefresca.net . Consultado el 21 de mayo de 2009. Archivado desde el original el 6 de junio de 2009.
  2. Vim en idiomas distintos del inglés . Consultado el 4 de febrero de 2008. Archivado desde el original el 23 de agosto de 2011.
  3. http://arstechnica.com/information-technology/2011/11/two-decades-of-productivity-vims-20th-anniversary/
  4. Vim 9.0  : vim en línea - 2022.
  5. ^ Siete hábitos de edición de texto eficaz . Consultado el 7 de abril de 2010. Archivado desde el original el 2 de octubre de 2011.
  6. 1 2 3 4 5 6 Moolenaar, Bram Vim, un editor de texto de código abierto ( 2002-01-15 ). Consultado el 24 de octubre de 2005. Archivado desde el original el 23 de agosto de 2011.
  7. OpenNews: Lanzamiento del editor de texto Vim 8.1 . www.opennet.ru Consultado el 25 de mayo de 2018. Archivado desde el original el 25 de mayo de 2018.
  8. Bram Moolenaar. ¡Se lanza Vim 9.0! . Fecha de acceso: 30 de junio de 2022.
  9. Alex Young. Reseña: VimTouch para Android (enlace no disponible) . usevim.com (19 de septiembre de 2012). Consultado el 15 de junio de 2016. Archivado desde el original el 13 de junio de 2016. 
  10. Convertimos la tableta en un lugar de trabajo completo . "Hacker" (26 de noviembre de 2013). Consultado el 15 de junio de 2016. Archivado desde el original el 9 de agosto de 2016.
  11. Vitaly Soroko. PHP en Android // Formato Linux . — 2016. — Mayo ( N° 05 (209) ). - S. 22 .
  12. Proyecto Vim Touch en GitHub
  13. ↑ Secuencias de comandos  de Vim . Fecha de acceso: 4 de enero de 2012. Archivado desde el original el 3 de febrero de 2012.

Enlaces