English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
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
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:
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:
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.
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
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:
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!
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.
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!
¡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.
Además de los ejemplos sencillos de i, Esc, :wq mencionados anteriormente, realmente vim tiene muchas teclas que se pueden usar.
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) |
H | mover el cursor al primer carácter de la línea más alta de esta pantalla |
M | mover el cursor al primer carácter de la línea central de esta pantalla |
L | mover el cursor al primer carácter de la línea más baja de esta pantalla |
G | moverse a la última línea de este archivo (usado comúnmente) |
nG | n 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) |
gg | moverse 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 | |
/word | busca 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) |
?word | busca una cadena de texto llamada word encima del cursor. |
n | esta 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! |
N | Este 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/g | n1 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/g | Buscar 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/gc | Buscar 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, X | En 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) |
nx | n es un número, eliminar continuamente n caracteres. Por ejemplo, quiero eliminar continuamente 10 un carácter, 『10x』。 |
dd | Eliminar toda la línea del cursor (común) |
ndd | n 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) |
d1G | Eliminar desde el cursor hasta el principio de todas las líneas |
dG | Eliminar 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 |
d0 | Ese es el número cero, eliminar el carácter en la posición del cursor hasta el primer carácter de la línea |
yy | Copiar toda la línea del cursor (común) |
nyy | n es un número. Copiar n líneas desde la línea del cursor, por ejemplo 20yy es copiar 20 línea (común) |
y1G | Copiar toda la línea del cursor hasta el principio de todas las líneas |
yG | Copiar toda la línea del cursor hasta el final de todas las líneas |
y0 | Copiar 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, P | p 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) |
J | Combinar 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 |
c | Eliminar múltiples datos repetidamente, por ejemplo, eliminar hacia abajo 10 línea, [ 10cj ] |
u | Restaurar la última acción (usado comúnmente) |
[Ctrl]+r | Rehacer 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) |
Entrar en el modo de edición o reemplazo | |
---|---|
i, I | Entrar 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, A | Entrar 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, O | Entrar 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, R | Entrar 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) |
Instrucciones de almacenamiento y salida de la línea de comandos | |
---|---|
:w | Escribir 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! |
:q | Salir 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'~ | |
:wq | Salir 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) |
ZQ | No 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. |
:! command | Para 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 nu | Mostrar números de línea, después de establecer, se mostrará el número de línea al prefijo de cada línea |
:set nonu | Al 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.