English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

vi de Linux/vim

Todos los sistemas Unix Like incluyen el editor de documentos vi, mientras que otros editores de documentos no necesariamente existen.

Pero actualmente usamos más el editor vim.

vim tiene la capacidad de editar programas, puede distinguir activamente la corrección de la sintaxis por colores de fuente, lo que facilita el diseño de programas.

Artículos relacionados:El gráfico de teclas de atajos más completo de Vim en la historia — desde principiante a avanzado

¿Qué es vim?

Vim es un editor de texto desarrollado a partir de vi. Las funciones convenientes para la programación, como la completación de código, la compilación y el salto de errores, son particularmente ricas y se utilizan ampliamente entre los programadores.

En términos simples, vi es un procesador de texto antiguo, aunque ya tiene muchas funciones, siempre hay espacio para mejorar. Vim, por otro lado, puede considerarse una excelente herramienta para desarrolladores de programas.

Conéctese al sitio web oficial de vim (http://www.vim.org) También dice que vim es una herramienta de desarrollo de programas y no un software de procesamiento de texto.

Vim teclado:

vi/El uso de vim

Básicamente vi/vim se divide en tres modos, que sonModo de comando (Command mode),Modo de inserción (Insert mode)yModo de línea de comando (Last line mode)。 Estos tres modos tienen diferentes funciones:

Modo de comando:

El usuario acaba de iniciar vi/vim, se entrará en modo de comando.

En este estado, los movimientos del teclado se reconocerán por Vim como comandos, no como caracteres de entrada. Por ejemplo, al presionar i en este momento, no se ingresará un carácter, i se considerará un comando.

A continuación, se presentan algunos comandos comunes:

  • i Cambiarse a modo de inserción para ingresar caracteres.

  • x Elimine el carácter en la posición del cursor actual.

  • : Cambie a modo de comando de línea de fondo para ingresar comandos en la última línea.

Si desea editar texto: inicie Vim, entre en modo de comando, presione i para cambiar a modo de inserción.

El modo de comando solo tiene algunos comandos básicos, por lo que aún se debe depender del modo de comando de línea de fondo para ingresar más comandos.

Modo de inserción

Al presionar i en modo de comando, se entra en modo de inserción.

En el modo de entrada, puedes usar las siguientes teclas:

  • teclas de caracteres y combinaciones con Shiftingresar caracteres

  • ENTERtecla de retorno de carro, pasar a la nueva línea

  • BACK SPACEtecla de retroceso, eliminar el carácter anterior al cursor

  • DELtecla de eliminación, eliminar el carácter siguiente al cursor

  • teclas de direcciónmover el cursor en el texto

  • HOME/ENDmover el cursor al principio de la línea/final de la línea

  • Page Up/Page Downarriba/página hacia abajo

  • Insertarcambiar el cursor a la entrada/modo de sustitución, el cursor se convertirá en una línea vertical/subrayado

  • ESCsalir del modo de entrada, cambiar al modo de comandos

Modo de comandos inferior

Ingresa al modo de comandos inferior presionando: (punto y coma inglés) en el modo de comandos.

El modo de comandos inferior puede ingresar comandos de un solo o varios caracteres, hay muchos comandos disponibles.

En el modo de comandos inferior, los comandos básicos son (se han omitido los dos puntos):

  • q para salir del programa

  • w para guardar el archivo

Puedes salir del modo de comandos inferior presionando la tecla ESC en cualquier momento.

En términos simples, podemos imaginar estos tres modos con los siguientes iconos:

vi/Ejemplo de uso de vim

Usa vi/vim ingresa al modo normal

Si quieres usar vi para crear un archivo llamado w3Cuando editas el archivo codebox.txt, puedes hacerlo de la siguiente manera:

$ vim w3codebox.txt

Ingresa directamente Nombre de archivo de vi Puedes ingresar al modo normal de vi. Nota: ¡Recuerda que después de vi debe seguir el nombre del archivo, sin importar si el archivo existe o no!

Presiona i para ingresar al modo de entrada (también conocido como modo de edición) y comenzar a editar texto

En el modo normal, solo tienes que presionar i, o, a, etc. para ingresar al modo de entrada.

En el modo de edición, puedes ver que en la barra de estado en la esquina inferior izquierda aparecerá –INSERT- es un recordatorio de que puedes ingresar cualquier carácter.

En este momento, además de Esc Además de esta tecla, todas las otras teclas pueden considerarse como teclas de entrada normales, por lo que puedes realizar cualquier tipo de edición.

Presiona el botón ESC para regresar al modo normal

Bueno, supongamos que ya lo he editado con el estilo mencionado anteriormente, ¿cómo debería salir? ¡Sí! ¡No hay error! ¡Es presionar! Esc ¡Este botón lo hace! ¡De inmediato te darás cuenta de que el – INSERT – en la esquina inferior izquierda de la pantalla ha desaparecido!

Presiona en el modo normal :wq Salir de vi después de guardar

¡OK, vamos a archivar, la instrucción para guardar y salir es muy simple, ingresa :wq ¡Puedes guardar y salir!

¡OK! De esta manera, hemos creado con éxito un w3el archivo codebox.txt.

vi/Explicación de los atajos de vim

Además de los ejemplos sencillos de i, Esc, :wq mencionados anteriormente, realmente vim tiene muchas teclas que se pueden usar.

Primera parte: movimientos de cursor, copiar y pegar, búsqueda y reemplazo, etc., disponibles en el modo general

métodos para mover el cursor
h o la tecla de flecha hacia la izquierda (←)mover el cursor un carácter hacia la izquierda
j o la tecla de flecha hacia abajo (↓)mover el cursor un carácter hacia abajo
k o la tecla de flecha hacia arriba (↑)mover el cursor un carácter hacia arriba
l o la tecla de flecha hacia la derecha (→)mover el cursor un carácter hacia la derecha
si pones tu mano derecha en el teclado, te darás cuenta de que hjkl están juntos, por lo que se pueden usar estos cuatro botones para mover el cursor. si desea realizar varios movimientos, por ejemplo, moverse hacia abajo 3líneas, se puede usar "30j" o "3la combinación de teclas 0↓" es decir, agregar el número de veces que se desea realizar y luego presionar la acción!
[Ctrl] + [f]mover la pantalla 'hacia abajo' una página, equivalente a la tecla [Page Down] (comúnmente utilizado)
[Ctrl] + [b]mover la pantalla 'hacia arriba' una página, equivalente a la tecla [Page Up] (comúnmente utilizado)
[Ctrl] + [d]mover la pantalla 'hacia abajo' medio página
[Ctrl] + [u]mover la pantalla 'hacia arriba' medio página
+mover el cursor a la línea siguiente sin caracteres en blanco
-mover el cursor a la línea anterior sin caracteres en blanco
n<espacio>este n representa 'número', por ejemplo 20 . Presiona el número y luego presiona la tecla de espacio, el cursor se moverá a la derecha en esta línea n caracteres. Por ejemplo 20<espacio> el cursor se moverá hacia atrás 2distancia de 0 caracteres.
0 o la tecla de función [Home]este número '0': moverse al primer carácter de esta línea (comúnmente utilizado)
$ o la tecla de función [End]moverse al final de esta línea (usado comúnmente)
Hmover el cursor al primer carácter de la línea más alta de esta pantalla
Mmover el cursor al primer carácter de la línea central de esta pantalla
Lmover el cursor al primer carácter de la línea más baja de esta pantalla
Gmoverse a la última línea de este archivo (usado comúnmente)
nGn es un número. Moverse a la línea n de este archivo. Por ejemplo 20G se moverá a la primera línea de este archivo 20 línea (puede combinarse con :set nu)
ggmoverse a la primera línea de este archivo, equivalente a 1¡G ah! (comúnmente utilizado)
n<Enter>n es un número. Mueve el cursor hacia abajo n líneas (usado comúnmente)
búsqueda y reemplazo
/wordbusca una cadena de texto llamada word debajo del cursor. Por ejemplo, para buscar vbird en el archivo esta cadena de texto, ingresa /vbird ¡listo! (comúnmente utilizado)
?wordbusca una cadena de texto llamada word encima del cursor.
nesta n es una tecla inglesa. Representa repetir la acción de búsqueda anterior. Por ejemplo, si recién ejecutamos /vbird busca hacia abajo la cadena de texto vbird, luego presiona n para continuar buscando el siguiente nombre vbird cadena de caracteres. Si ejecuta ?vbird, luego presionar n continuará buscando la cadena de caracteres llamada vbird!
NEste N es una tecla inglesa. Al igual que n, es exactamente lo contrario, realiza la acción de búsqueda anterior 'hacia atrás'. Por ejemplo /vbird y luego presionar N significa buscar 'vbird' hacia 'arriba'.
Usar /word con n y N es muy útil. Te permite encontrar repetidamente palabras clave que buscas!
:n1,n2s/word1/word2/gn1 y n2 es un número. En el n1 y n2 líneas entre buscar word1 esta cadena de caracteres, y reemplazarla por word2 ¡Por ejemplo, en 100 a 200 líneas entre buscar vbird y reemplazarlo por VBIRD será:
『:100,200s/vbird/VBIRD/g』。(común)
:1,$s/word1/word2/g o :%s/word1/word2/gBuscar word desde la primera línea hasta la última línea1 cadena de caracteres, y reemplazarla por word2 !(común)
:1,$s/word1/word2/gc o :%s/word1/word2/gcBuscar word desde la primera línea hasta la última línea1 cadena de caracteres, y reemplazarla por word2 ¡Y muestra un carácter de sugerencia al usuario para confirmar (confirmar) ¿Necesita reemplazar? (común)
eliminar, copiar y pegar
x, XEn una línea de texto, x elimina un carácter hacia atrás (equivalente a [del] o sea la tecla Supr) X elimina un carácter hacia adelante (equivalente a [backspace] o sea la tecla de retroceso) (comúnmente utilizado)
nxn es un número, eliminar continuamente n caracteres. Por ejemplo, quiero eliminar continuamente 10 un carácter, 『10x』。
ddEliminar toda la línea del cursor (común)
nddn es un número. Eliminar n líneas desde la línea del cursor, por ejemplo 20dd es eliminar 20 líneas (comúnmente utilizado)
d1GEliminar desde el cursor hasta el principio de todas las líneas
dGEliminar desde el cursor hasta el final de todas las líneas
d$Eliminar el carácter en la posición del cursor hasta el último carácter de la línea
d0Ese es el número cero, eliminar el carácter en la posición del cursor hasta el primer carácter de la línea
yyCopiar toda la línea del cursor (común)
nyyn es un número. Copiar n líneas desde la línea del cursor, por ejemplo 20yy es copiar 20 línea (común)
y1GCopiar toda la línea del cursor hasta el principio de todas las líneas
yGCopiar toda la línea del cursor hasta el final de todas las líneas
y0Copiar todos los datos desde el carácter del cursor hasta el principio de la línea
y$Copiar todos los datos desde el carácter del cursor hasta el final de la línea
p, Pp para pegar los datos copiados debajo del cursor, P para pegarlos encima del cursor! Por ejemplo, mi cursor está en la 20 líneas, y ya se han copiado 10 Los datos se ejecutan. Luego, presione p. esas}} 10 los datos se pegarán en la línea original 2Después de la línea 0, es decir, desde 21 comienza a pegar. Pero, ¿qué pasa si presiona P? Entonces, la línea original 2La línea 0 será empujada para convertirse en 30 línea. (comúnmente utilizado)
JCombinar los datos de la línea en la que se encuentra el cursor con los datos de la línea siguiente en una sola línea
cEliminar múltiples datos repetidamente, por ejemplo, eliminar hacia abajo 10 línea, [ 10cj ]
uRestaurar la última acción (usado comúnmente)
[Ctrl]+rRehacer la última acción (usado comúnmente)
Este u con [Ctrl]+r es un comando muy común! Uno es restaurar, y el otro es repetir una vez más~ ¡Usando estos botones de función, ¡su edición es muy alegre!
.¡No dude! ¡Eso es el punto decimal! ¡Significa repetir la acción anterior! ¡Si desea repetir acciones como eliminar repetidamente, pegar repetidamente, etc., presione el punto decimal '.!'! (comúnmente utilizado)

Segunda parte: explicación de los botones disponibles para cambiar del modo de modo general al modo de edición

Entrar en el modo de edición o reemplazo
i, IEntrar en el modo de inserción (Insert mode):
i para 'ingresar desde la posición actual del cursor', I para 'comenzar a ingresar en el primer carácter no en blanco de la línea actual'. (comúnmente utilizado)
a, AEntrar en el modo de inserción (Insert mode):
a para 'comenzar a ingresar desde el siguiente carácter del cursor actual', A para 'comenzar a ingresar desde el último carácter de la línea en la que se encuentra el cursor' (usado comúnmente).
o, OEntrar en el modo de inserción (Insert mode):
¡Esto es la mayúscula y minúscula de la letra inglesa o! o para ingresar una nueva línea en la línea inferior del cursor actual; O para ingresar una nueva línea en la línea superior del cursor actual (usado comúnmente)!
r, REntrar en el modo de reemplazo (Replace mode):
r solo reemplazará el carácter en la posición del cursor una vez; R continuará reemplazando el texto en la posición del cursor hasta que se presione ESC hasta;(usado comúnmente)
En estos botones, en la esquina inferior izquierda de la pantalla de vi aparecerá『--INSERT--』o『--REPLACE--』 ¡Por su nombre, ¿no es obvio qué acción es esta? ¡Especialmente noteworthy es que también lo mencionamos anteriormente, cuando desee ingresar caracteres en el archivo! ¡Debe ver INSERT o REPLACE en la esquina inferior izquierda para poder ingresar!
[Esc]Salir del modo de edición, volver al modo general (usado comúnmente)

Tercera parte: explicación de los botones disponibles para cambiar del modo de modo general al modo de línea de comandos

Instrucciones de almacenamiento y salida de la línea de comandos
:wEscribir los datos editados en el archivo de disco duro (usado comúnmente)
:w!Si el atributo del archivo es 'solo lectura', escriba forzadamente el archivo. Sin embargo, ¿si realmente puede escribir? ¡Todavía tiene que ver con los permisos del archivo!
:qSalir de vi (usado comúnmente)
:q!Si ha modificado el archivo y no desea guardar, use ! para salir forzadamente sin guardar el archivo.
¡Atención, ese exclamation mark (!) en vi, a menudo tiene el significado de 'fuerza'~
:wqSalir después de guardar, si es :wq! entonces es salir después de guardar forzadamente (comúnmente utilizado)
ZZ¡Esa es la Z mayúscula! Si se ha modificado, guarde el archivo actual y luego salga. El efecto es equivalente a (guardar y salir)
ZQNo guardar, salir forzadamente. El efecto es equivalente a :q!.
:w [filename]El contenido editado se almacena en otro archivo (similar a guardar como)
:r [filename]En los datos de edición, se lee el contenido de otro archivo. Es decir, se colocará『filename』 Este contenido del archivo se agrega detrás de la línea del cursor
:n1,n2 w [filename]Para mover n1 hasta n2 El contenido se almacena en el archivo filename.
:! commandPara salir temporalmente de vim al modo de línea de comandos para ejecutar el resultado de la visualización de command
『:! ls /『home』puede verse en vim /Información de archivos que se muestra con ls debajo de home!
Cambio de entorno de vim
:set nuMostrar números de línea, después de establecer, se mostrará el número de línea al prefijo de cada línea
:set nonuAl contrario que set nu, se usa para deshabilitar los números de línea!

Es importante destacar, en vi/¡En vim, los números son muy significativos! Los números generalmente representan cuántas veces se debe repetir una acción. También podrían representar ir al número correspondiente de algo.

Por ejemplo, para eliminar 50 ¿líneas, se utiliza『50dd』, ¿verdad? El número se coloca antes de la acción, como si quiero moverme hacia abajo 20 ¿líneas? Eso es『20j』o bien『20↓』es suficiente.