Tutorial de Vim Basics

Tutorial de Vim Basics
Si está utilizando Linux por algún tiempo, es seguro asumir que está familiarizado con los editores de texto. Un editor de texto no es más que una herramienta que es capaz de editar texto. Todos tenemos una idea de qué es un archivo de texto, correcto? Sin embargo, los editores de texto también se pueden usar para editar archivos sin texto como texto!

Aunque no es una cosa ideal. Los editores de texto están destinados a editar archivos como si fueran un archivo de texto. Es por eso que cuando le dije a "Nano" que abriera el archivo JPG, lo abrió "como si" fuera un archivo de texto. Sucederá algo similar si está intentando abrir otros archivos, por ejemplo, audio, video, incluso archivos binarios.

Editor de texto vim

Ahora, hay 2 tipos de editores de texto disponibles en la plataforma de Linux: GUI y consola.

Los editores de texto de GUI son los más populares entre los usuarios generales. Algunos de los populares incluyen GEDIT, EMACS GNU, Atom, Brackets, Text Sublime, Visual Studio Code y otros.

Cuando hablamos de los editores de texto de la consola, el verdadero desafío emerge. El uso de editores de texto de consola no solo es difícil sino desafiante. Por supuesto, si ha hecho clic en esta guía, ya está familiarizado con ellos. Los editores de texto de consola populares incluyen nano y vim.

Como sugiere el título del artículo, esta guía está en VIM, uno de los editores de texto de consola más difíciles. Vim es en realidad el editor de texto "VI" con características y ajustes adicionales. Mi objetivo es ofrecer una introducción básica y detallada ejemplos de uso de VIM.

Guía vim

Para esta guía, usaré ejemplos de código C ++. Echa un vistazo a los códigos C ++ de Sinairv en Github.

Instalación de VIM

En la mayoría de las distribuciones de Linux, Vim viene preinstalado con nano y/o emacs. No importa cualquier distribución de Linux que esté usando, Vim siempre estará disponible en el repositorio oficial como VI es requerido por Posix.

Debian/Ubuntu: sudo apt-get update && sudo apt install vim
Fedora: Sudo DNF Update && Sudo DNF Install VIM
OpenSuse: Sudo Zypper Update && sudo zypper install vim
Distros basadas en el sombrero Red: Update yum yum && sudo yum install vim
Distros basadas en Arch/Arch: sudo Pacman -Sy && Sudo Pacman -S Vim

Lanzamiento de VIM

Una vez que se complete la instalación, verifique la existencia de VIM.

vim vim --versión

Si está interesado en usar VIM para editar un archivo de texto, use la siguiente estructura.

empuje

Dejando vim

Esto es lo primero que tuve que aprender mientras usaba Vim. Hay muchas veces cuando me arruiné. Aprender a dejar de dejar a Vim me salvó innumerables veces.

Tipo ": Q" y presione Enter (sin citas).

Nota: Vim no te dejará salir sin este método. "Ctrl + C" no funciona.

Navegar por el archivo

VIM ofrece un conjunto realmente complicado de formas que puede usar para navegar por el archivo de texto.

Volvamos al archivo de texto. Esta vez, estamos en la lectura.archivo md.

La forma más fácil de navegar a través del archivo es utilizando las teclas de flecha.

VIM permite usar otras teclas para navegar por el archivo como las teclas de flecha.

H - un personaje a la izquierda

l - un personaje a la derecha

K - Sube

J - Baja

w - una palabra a la derecha

B - Una palabra a la izquierda

0 (cero) - comienzo de la línea actual

$ - final de la línea actual

Nota: Tenga cuidado con el caso de las teclas.

Edición del archivo

esta es la parte importante. Estamos abriendo los archivos de texto en el editor para realizar algunas ediciones, correcto?

Navegue a su lugar deseado en el texto y presione "I". Esto le dirá a VIM que ingrese al "Modo de inserción".

Una vez que haya realizado sus ediciones necesarias, puede salir del modo "Insertar" presionando "Ctrl + C" o ESC. Mi preferencia personal es usar la clave ESC.

Guardar el archivo

Antes de guardar el archivo, es necesario comprender cómo Vim maneja el trabajo.

Cuando haya abierto un archivo de texto con VIM, en realidad está accediendo a una copia temporal del archivo original. Si está satisfecho con sus cambios y decide guardar, solo entonces VIM escribirá el archivo editado a través del archivo original.

Hay beneficios para este enfoque. Evita el archivo original de la corrupción no deseada. VIM permite a varios usuarios editar el mismo archivo al mismo tiempo, por lo que el uso de un archivo temporal ayuda a evitar conflictos. VIM guarda el archivo TEMP para que pueda recuperar su trabajo si hay algunas interrupciones.

Para escribir el búfer en el archivo, ingrese ": W".

También es posible combinar el comando de escritura con salir.

: WQ

Esto escribirá el búfer en el archivo y saldrá al editor.

Otra característica interesante que ofrece VIM es escribir el búfer actual al final de otro archivo. En resumen, puede agregar la edición actual a otro archivo.

: w >>

Este comando también se puede emparejarse con el comando QUIT.

: wq >>

A veces, es posible que solo desee descartar el búfer actual y comenzar desde cero. Me arruiné las sudoers varias veces, especialmente con Vim. Este método me acaba de ahorrar muchos dolores de cabeza. Dígale a VIM que salga sin escribir el búfer en el archivo.

: Q!

buscando

Como legendario software, sería una pena que no hubiera funciones de búsqueda! Usando VIM, es fácil averiguar dónde está su frase objetivo. Esta es la estructura que VIM requiere para realizar la función de búsqueda.

?

Observe que no hay brecha entre el signo de interrogación y la cadena de búsqueda. Después de escribir el término de búsqueda, presione Enter.

Ahora, cuando ejecutas esto, estás atascado con el único resultado de la búsqueda. Es eso aceptable? No! Dígale a VIM que navegue a los partidos de búsqueda anteriores/próximos!

N - Encuentra el próximo partido
N - Encuentra el partido anterior

Insertar datos de una fuente externa

Es otra técnica interesante que puede ser útil en muchos escenarios. Puede tomar directamente la salida de un determinado comando e insertar en el lugar correcto de un archivo.

: R!

Por ejemplo, insertemos la salida de un comando Pacman. Aprenda a usar Pacman en Arch Linux y otras distribuciones basadas en Arch.

: R! Echo $ (Pacman -qqe Python | Grep Python)

Esta estructura de comando ofrece un montón de uso posible. Por ejemplo, ¿qué tal insertar el contenido de otro archivo??

: R! gato

Si necesita obtener específicamente el contenido de un determinado texto, no es necesario llamar al comando "gato". Vim ya ofrece una forma más fácil de hacerlo.

: R

Personalizaciones VIM

Vim es extremadamente personalizable. Hay muchas maneras de improvisar la funcionalidad de este editor de texto. VIM permite una mayor personalización a través del archivo VIMRC.

Hay un par de ubicaciones diferentes para VIMRC - Global y Local. El global se encuentra en "/etc/vim/vimrc" o "/etc/vimrc".

Para el archivo VIMRC local, se ubicará en "~/.archivo vimrc ".

Antes de editar el VIMRC, es necesario comprender el alcance de ambos. El VIMRC global (ubicado en "/etc/vimrc" o "/etc/vim/vimrc") impacta todas las sesiones VIM en todas las cuentas de los usuarios. Sin embargo, en el caso de VIMRC local (ubicado en "~/.VIMRC), solo entrará en vigencia en la sesión del usuario respectivo.

Aquí hay una breve lista de configuraciones útiles de VIMRC.

"Número de línea a la izquierda
numero
"Tamaño de pestaña predeterminado
establecer Tabstop = 4
“Habilitar resaltado de sintaxis
sintaxis
"Envolver texto
envoltura
"Codificación predeterminada
Establecer codificación = UTF-8

Si edita el archivo VIMRC mientras VIM se está ejecutando, los cambios no tendrán efecto de inmediato. Dígale a VIM que vuelva a cargar la configuración de VIMRC.

:entonces %

Reemplazo de contenido

Vim no se limita a las características de búsqueda básicas. VIM permite el comando similar a SED para realizar la operación de reemplazo.

La sintaxis del comando es algo así:

:%s///

A partir del comportamiento de reemplazo, estos 2 son bastante comunes.

G - Realice el reemplazo en cada ocurrencia de la cadena de búsqueda.

GC: igual que "G", pero solicitará confirmación antes de hacer el cambio.

Revisemos el uso con un ejemplo. Tengo la lista de todos los paquetes del grupo "Base-Devel" en un archivo de texto.

Ahora, reemplacemos todo el "núcleo" con una cadena "coreModified".

:%s/core/coreModified/g

Recuento de ocurrencias

Al igual que el ejemplo anterior, también es posible resaltar y contar la aparición de la cadena de búsqueda en lugar de reemplazarla. Este es mejor que la función de búsqueda clásica.

La sintaxis para la operación sería

:%s/Observe la parte "GN"? Es responsable de anular el comportamiento sustituto.

Complementos VIM

A pesar de ser un editor de texto de consola, VIM ofrece extender su funcionalidad a través de complementos. De hecho, el número de complementos disponibles para VIM es enorme! La comunidad vim es definitivamente un lugar de genios locos!

Puede configurar cualquier directorio para alojar los complementos. Sin embargo, se recomienda usar el siguiente.

~/.empuje

Diferentes complementos VIM requieren diferentes procedimientos. Para un uso más fácil, también hay un puñado de gerentes de complementos VIM! Por ejemplo, Vundle, Vimplug, patógeno, etc. Si está interesado en obtener un nuevo complemento VIM, le recomiendo VIMAWASEM. Es una gran colección de todos los complementos Vim populares e interesantes.

Pensamientos finales

Dominar VIM requiere un poco de trabajo. Estos son solo lo básico. Espero que esta publicación haya sido útil para familiarizarlo con Vim y algunos de sus conceptos básicos. Siéntete libre de explorar el mundo de Vim.

Practique sus habilidades VIM en un archivo de demostración. De esta manera, incluso si arruinas el archivo, no es un gran problema. Si arruina la configuración de VIM, nada para entrar en pánico. Los archivos de configuración VIM predeterminados están disponibles en línea.