Vim Editor Basics en Linux

Vim Editor Basics en Linux

VIM no necesita presentaciones: es probablemente el editor de texto más querido por los administradores del sistema, también debido al hecho de que es un clon y una mejora del VI original, que se incluye de forma predeterminada en prácticamente todos los sistemas operativos basados ​​en Linux y Unix. Vim puede ser bastante intimidante al principio, y tiene una curva de aprendizaje empinada; Aprender a usarlo, sin embargo, puede aumentar realmente nuestra productividad. En este artículo aprenderemos los conceptos básicos de Vim.

En este tutorial aprenderás:

  • Cómo instalar VIM
  • Por qué Vim es un editor de texto "modal" y cuáles son los modos VIM
  • Cómo ajustar vim mira y sentir usando el ~/.vimrc archivo de configuración

Requisitos y convenciones de software utilizados

Requisitos de software y convenciones de línea de comandos de Linux
Categoría Requisitos, convenciones o versión de software utilizada
Sistema Distribución independiente
Software empuje
Otro No se necesitan otros requisitos
Convenciones # - requiere que los comandos de Linux dados se ejecuten con privilegios raíz directamente como un usuario raíz o mediante el uso de sudo dominio
$-Requiere que los comandos de Linux dados se ejecuten como un usuario regular no privilegiado

Instalación

Puede estar seguro de que VIM, si no está instalado de forma predeterminada, está disponible en sus repositorios de distribución favoritos, por lo tanto, para instalarlo, todo lo que tiene que hacer es usar su Administrador de paquetes favorito. Sobre Debian y Debian con sede en
distribuciones, entre las otras, podemos usar apt-get:

$ sudo apt-get update && sudo apt-get install vim 

En Fedora, y más generalmente en toda la familia Red Hat of Distributions, podemos usar el DNF Administrador de paquetes para realizar la tarea:

$ sudo dnf instalación vim 

Ejecutando en Arch Linux? En ese caso, dado que VIM se incluye en el Extra repositorio, instalarlo es solo una cuestión de ejecutar el siguiente comando:

$ sudo Pacman -S vim 

Un editor de texto "modal"

Encontrará que VIM es bastante diferente de los editores de texto a los que puede estar acostumbrado; Esto es porque es un modal editor de texto. Qué significa? VIM tiene un montón de diferentes modos de trabajo:

  • Modo normal
  • Modo de insertar
  • Modo visual
  • Modo de comando

Vamos a verlos en breve.

Modo normal

El normal El modo es el valor predeterminado. Cuando en normal modo, podemos navegar fácilmente y hacer cambios en un documento. Veamos algunos ejemplos. Supongamos que tenemos el siguiente texto abierto en el editor:

Como puede ver, el cursor se coloca al comienzo de la primera línea. Supongamos que queremos moverlo al comienzo de la segunda palabra ("anillos" en este caso). Todo lo que tenemos que hacer es presionar el w clave (abreviatura de palabra); Esto avanzará (a la derecha) al comienzo de una palabra:



El movimiento "inverso" se obtiene presionando el b Clave: esta acción moverá el cursor al inicio de la palabra anterior.

¿Qué pasa si queremos repetir el movimiento? X numero de veces? Todo lo que tenemos que hacer es ingresar la cantidad de movimientos que queremos realizar, antes de presionar la tecla correspondiente al movimiento que queremos hacer. Por ejemplo, para mover el cursor dos palabras hacia adelante, presionaríamos 2W. Suponiendo que el cursor se encuentra actualmente en la palabra "anillos" en la primera línea, obtendríamos este resultado:

Para mover el cursor al comienzo de la línea actual, podemos presionar el 0 llave; el ps La clave nos permitirá obtener el efecto opuesto, por lo que el cursor se moverá al final de la línea.

Para pasar a la última línea de un documento abierto, podemos presionar GRAMO, Mientras se mueve a la primera línea, podemos presionar gg.

Los anteriores son solo unos pocos ejemplos de cómo podemos navegar fácilmente a través del documento cuando estamos en normal modo. En la tabla a continuación podemos ver un pequeño número de llaves que queremos recordar y su efecto:

LLAVE EFECTO
H Mueve el cursor a la izquierda
j Mueva el cursor hacia abajo
k Mover el cursor hacia arriba
l Mueve el cursor a la derecha
w Avanzar al comienzo de una palabra
W Avanzar al comienzo de una palabra (puntuación considerada como parte de la palabra)
b Avanzar hacia atrás al comienzo de una palabra
B Avanzar hacia atrás al comienzo de una palabra (puntuación considerada como parte de la palabra)
mi Avanzar al final de una palabra
mi Avanzar al final de una palabra (puntuación considerada como parte de la palabra)
0 Moverse al comienzo de la línea
ps Moverse al final de la línea
gg Pasar a la primera línea del documento
GRAMO Pasar a la última línea del documento
F char Ir a la primera ocurrencia del personaje especificado
A Pase más allá del final de la línea e ingrese "Modo de inserción"

Cuando en normal modo no estamos limitados a realizar solo movimientos, también hay operadores que realicemos algunas acciones, como, por ejemplo, d (eliminar) o C (cambiar). Estos operadores, combinados con movimientos, realizamos acciones masivas.

Veamos un ejemplo: sabemos que el w La clave mueve el cursor hacia adelante al comienzo de la siguiente palabra; Si lo combinamos con el d operador, podemos eliminar una palabra completa con solo un comando. Supongo que el cursor está al comienzo de la primera línea de nuestro texto, si presionamos DW Obtendríamos el siguiente resultado:

Como puede ver, se ha eliminado la primera palabra de la línea ("tres"). De la misma manera, podríamos eliminar el texto de la posición actual del cursor hasta el final de la línea presionando D $, etcétera.

El modo "Insertar" (y "Reemplazar")

El insertar El modo es prácticamente el modo de trabajo estándar de todos los editores de texto más comunes. Cuando en este modo podemos insertar texto como lo haríamos normalmente con otros editores. ¿Cómo entramos en este modo?? Al trabajar en normal Modo, podemos, por ejemplo, presionar una de las siguientes teclas:

LLAVE EFECTO
i Insertar texto antes del cursor
I Insertar texto al comienzo de la línea
a Insertar texto después del cursor
A Agregar texto al final de una línea


Cómo realizar el proceso inverso y cambiar de insertar a normal modo? Todo lo que tenemos que hacer es presionar el clave o .

El reemplazar el modo es realmente similar al insertar Modo, la única diferencia es que el texto que ingresamos sobrescribe uno existente en lugar de extender la longitud de la línea. Podemos entrar reemplazar modo usando el Riñonal cuando en
normal modo.

El modo "visual"

Cuando en modo "visual", podemos seleccionar una parte de texto y realizar algunas operaciones en él. El modo visual puede funcionar en tres niveles diferentes:

  • Personaje
  • Línea
  • Bloquear

Para ingresar "en todo el personaje" visual modo, cuando está en normal Modo podemos presionar el V llave; Para habilitar el modo virtual "en cuanto a línea", en su lugar, podemos usar V (mayúscula). Finalmente, para ingresar al modo visual "en cuanto a bloque", podemos presionar .

Línea visual vim

En la imagen de arriba, puede ver cómo se ve el editor, cuando se activa el modo visual "en cuanto a línea". Las mismas claves que discutimos anteriormente se pueden usar para cambiar entre modos visuales; Además, si ya estamos en un modo visual específico, y presionamos la tecla que la activa, volveremos a volver a normal modo:

Modo visual actual Llave Efecto
en cuanto a carácter V Cambiar al modo normal
en cuanto a carácter V Cambiar al modo visual en cuanto a línea
en cuanto a carácter \ Cambiar al modo visual de bloques
en cuanto a la línea V Cambiar al modo visual de personaje
en cuanto a la línea V Cambiar al modo normal
en cuanto a la línea \ Cambiar al modo visual de bloques
en cuanto a bloqueo V Cambiar al modo visual de personaje
en cuanto a bloqueo V Cambiar al modo visual en cuanto a línea
en cuanto a bloqueo \ Cambiar al modo normal

Las teclas de movimiento que vimos en modo normal también se pueden usar en modo visual. Por ejemplo, cuando trabajamos en modo visual de personajes, y queremos seleccionar desde cierto punto hasta la primera ocurrencia de una letra que podemos usar
F char.

Cuando se selecciona una parte de texto, podemos, por ejemplo, cortarlo presionando el d palabra clave, o copiarla usando Y.

El "modo de línea de comando"

Para entrar a modo de línea de comando Podemos presionar el : clave o / Para comenzar una búsqueda de texto cuando está en modo normal. Cuando estamos en este modo, podemos ingresar los comandos que se ejecutarán después de presionar (la tecla 'return'). Uno de los comandos más simples que podemos ejecutar cuando está modo de línea de comando es:

:ayuda 

Cuando se ejecuta el comando, se abrirá un nuevo búfer que muestra la página de ayuda principal de VIM:

La página de ayuda de VIM en versiones recientes de VIM, podemos usar el Terminal Comando para abrir un emulador de terminal directamente en el editor de texto:
:Terminal 

El resultado de la ejecución de comando es:

El terminal de inserción Vim

Como ya dijimos, para realizar una búsqueda de texto podemos presionar / y escriba el texto que queremos encontrar en el documento. Por defecto, la búsqueda es sensible al caso (esto se puede modificar a través del archivo de configuración VIM utilizando el establecer ignorecase directiva). Como ejemplo, supongamos que queremos encontrar la palabra "anillo" en el texto de nuestro ejemplo. Escribimos el siguiente comando presionando "Enter":

/Anillo 

Para recorrer los resultados resaltados podemos presionar norte, y para eliminar el resaltado de las palabras podemos ejecutar el no h dominio:

:no h 

Nosotros podemos usar modo de línea de comando también para realizar reemplazo de texto. Supongamos que, por ejemplo, queremos sustituir todas las ocurrencias de "anillo" con "joya". Lo que haríamos, en este caso es usar el sustituto dominio: s. El
El comando que tendríamos que ejecutar es:

:%s/anillo/joya/g 

El De % símbolo que usamos antes de que el comando realice para que la operación se realice en todo el documento, mientras que el gramo Agradecido después de que la sustitución se usa para realizar la sustitución en todos los ocurrencias encontrados en una línea (vs solo el primero).

Cuando usamos el sustituto comando también podemos usar otros "modificadores". Por ejemplo, si agregamos un C Después del patrón de sustitución, se nos pedirá que confirme cada sustitución; i, en su lugar hará el reemplazo insensible.

El rango de acción de un comando puede restringirse a algunas líneas específicas. Para realizar el reemplazo de texto solo en líneas del primero al sexto (inclusive) del documento, escribiríamos:

: 1,6s/anillo/joya/g 

El mismo rango podría usarse, por ejemplo, con el d (eliminar) comando, para eliminar las líneas mencionadas anteriormente:

: 1,6d 

Cuando en dominio modo de línea, también podemos invocar externo Programas en el shell: todo lo que tenemos que hacer es preparar tales comandos con el ! símbolo. Por ejemplo, para echar un vistazo a los archivos (no ocultos) en el directorio de trabajo actual, podríamos usar el LS -L dominio:

:!LS -L 

Obtendríamos el siguiente resultado:

Total 36 DRWXR-XR-X. 2 EGDOC EGDOC 4096 Oct 31 12:45 Desktop DRWXR-XR-X. 2 EGDOC EGDOC 4096 Oct 31 12:45 Documentos DRWXR-XR-X. 2 EGDOC EGDOC 4096 Nov 2 10:37 Descargas -RW-R-R--. 1 EGDOC EGDOC 373 Nov 3 11:30 LOTR.txt drwxr-xr-x. 2 EGDOC EGDOC 4096 Oct 31 12:45 Música DRWXR-XR-X. 2 EGDOC EGDOC 4096 Nov 4 08:19 Fotografías DRWXR-XR-X. 2 EGDOC EGDOC 4096 Oct 31 12:45 Público DRWXR-XR-X. 2 EGDOC EGDOC 4096 Oct 31 12:45 Plantillas DRWXR-XR-X. 2 EGDOC EGDOC 4096 Oct 31 12:45 Videos Presione Entrar o tipo Comando para continuar 

Según lo sugerido por el mensaje, para volver al editor, debemos presionar INGRESAR. Estos son solo unos pocos ejemplos básicos de los comandos que podemos usar en vim.

Personalización de VIM

VIM Look and Feel se puede personalizar a través de su archivo de configuración: ~/.vimrc. Por defecto, la interfaz del editor es realmente mínima: ni siquiera se muestran los números de línea! Que esto sea lo primero que cambiaremos.

Mostrar números de línea

Abrimos el archivo de configuración y pegamos la siguiente directiva:

numero 

Normalmente, para ver el efecto de los cambios que realizamos, debemos cerrar y volver a abrir VIM; Sin embargo, también podemos emitir el : Entonces ~/.vimrc Comando para obtener el archivo de configuración y hacer que los cambios sean efectivos de inmediato. Debido a la
Directiva que usamos, ahora se muestran los números de línea:

Resaltar una columna y una longitud de la línea de límite

Otra característica común que queremos usar, especialmente al escribir código, es resaltar una determinada columna. Al escribir un programa de Python o un script de shell, por ejemplo, generalmente no queremos exceder el 80 columna; Para resaltar la columna, debemos agregar la siguiente directiva al archivo de configuración:

establecer ColorColumn = 80 

En la imagen a continuación puede ver el resultado del cambio. La columna que especificamos ahora está resaltada:

Si realmente queremos hacer cumplir una regla sobre el número máximo de carácter que se puede insertar en una línea, tenemos que usar el ancho de texto Directiva en su lugar:

Establecer TextWidth = 79 

Debido al cambio anterior, si una nueva palabra no encaja en el número especificado de caracteres, se insertará automáticamente en una nueva línea.

Use espacios en lugar de pestañas

Otro cambio bastante común que queremos realizar es usar un cierto número de espacios en lugar de un PESTAÑA carácter cuando se presiona la tecla correspondiente en el teclado. Para lograr la configuración deseada, queremos usar las siguientes directivas:

SET TABSTOP = 2 SET SLOFTTABSTOP = 2 SET expandTab set shift width = 2 

En la configuración anterior establecemos el tabulación Directiva para establecer el tamaño de un "real" PESTAÑA personaje. El softtabstop, La directiva, en su lugar, se utiliza para especificar el número de espacios que deben usarse para reemplazar un PESTAÑA cuando el expandir se utiliza la directiva. En ese caso, cada vez que presionamos el Pestaña clave en el teclado, VIM insertará la cantidad de espacios que especificamos softtabstop. Finalmente, el ancho de cambio La opción se usa para especificar el nivel de sangría utilizado para los comandos de indención automática y para cambiar.

Configuración específica del tipo de archivo

¿Qué pasa si queremos especificar algunas configuraciones para aplicar solo al tipo específico de archivos?? En ese caso debemos activar el incorporado complemento del tipo de archivo. Para hacerlo, agregamos la siguiente línea al archivo de configuración:

complemento del tipo de archivo en 

En este punto, dentro del ~/.vim/después/ftplugin Directorio (necesitamos crearlo si aún no existe), debemos crear un archivo que lleva el nombre del tipo de archivo para el que queremos especificar la configuración y usar el ".extensión Vim ”.

Por ejemplo, para especificar la configuración de los archivos de Python, crearíamos el ~/.vim/después/ftplugin/python.empuje archivo y coloque nuestras instrucciones dentro de él. Lo único recomendado es usar el setlocal instrucción en el archivo en lugar de colocar, Para hacer que los cambios sean válidos solo para el búfer abierto, y no global. Digamos, por ejemplo, queremos reemplazar un PESTAÑA personaje con 4 Espacios solo en scripts de Python. En el ~/.vim/después/ftplugin/python.empuje Archivo que escribiríamos:

setLocal softTabStop = 4 setLocal shift width = 4 

Lo que usamos aquí es solo un subconjunto muy pequeño de las opciones que podemos usar en el archivo de configuración VIM para ajustar la apariencia del editor; Lo que queremos mostrar aquí es el mecanismo básico.

Conclusiones

En este artículo comenzamos nuestro primer enfoque con lo que probablemente sea el editor de texto más famoso y amado de las plataformas basadas en Linux y Unix: VIM. Vimos cómo se creó Vim como un clon del original VI Editor, que se instala de forma predeterminada en casi todas las distribuciones, vimos por qué se llama modal Editor de texto, y cuáles son los modos que podemos usar.

Finalmente, vimos cómo ajustar la apariencia del editor escribiendo directivas en el ~/.vimrc archivo de configuración. Apenas rascamos la superficie de lo que podemos lograr usando VIM, ya que esto fue una guía de primer paso en el mundo de Vim. Hablaremos sobre características específicas más en profundidad en futuros tutoriales. Manténganse al tanto!

Tutoriales de Linux relacionados:

  • Cosas para instalar en Ubuntu 20.04
  • Una introducción a la automatización, herramientas y técnicas de Linux
  • Cómo clonar un sistema Linux
  • Cosas que hacer después de instalar Ubuntu 20.04 fossa focal Linux
  • Mastering Bash Script Loops
  • Mint 20: Mejor que Ubuntu y Microsoft Windows?
  • Partición clon en Linux
  • Descarga de Linux
  • Registro avanzado y auditoría en Linux
  • Cómo arrancar dual Kali Linux y Windows 10