Red de conocimiento informático - Problemas con los teléfonos móviles - ¿Qué es el comando VI?

¿Qué es el comando VI?

I. Introducción a los comandos básicos

---- 1. Comandos del cursor

k, j, h, l: comandos de movimiento del cursor hacia arriba, abajo, izquierda y derecha. Aunque puedes usar las 4 teclas de cursor en el lado derecho del teclado en Linux, es útil recordar estos 4 comandos. Estas 4 teclas son la posición básica de la mano derecha en el teclado.

nG - comando de salto. n es el número de líneas. Este comando saltará inmediatamente el cursor a la línea especificada.

Ctrl G: informa el número de filas y columnas en la posición del cursor.

w, b: hace saltar el cursor una palabra hacia adelante o hacia atrás.

---- 2. Comandos de edición

i, a, r - comandos para insertar caracteres antes y después de la posición del cursor (i=insertar, a=añadir, r=reemplazar ).

cw, dw - comandos para cambiar/eliminar la palabra en el cursor (c=cambiar, d=eliminar).

x, d$, dd: comandos para eliminar un carácter, eliminar todos los caracteres desde el cursor hasta el final de la línea y eliminar una línea completa.

---- 3. Comando de búsqueda

---- /string, ?string - Un comando para buscar la cadena correspondiente hacia adelante o hacia atrás desde la posición del cursor.

---- 4. Copiar comando repetir

---- yy, p - comando para copiar una línea al portapapeles o eliminar el contenido del portapapeles.

II. Preguntas frecuentes y consejos de aplicación

---- 1. Lea el contenido de /etc/passwd en el nuevo archivo y elimine la parte del nombre de usuario.

---- archivo vi

----: r /etc/passwd Lee /etc/passwd en el archivo abierto donde se encuentra el cursor

---- :s/:.*//g Elimine todo desde los dos puntos hasta el final de la línea después del nombre de usuario en /etc/passwd.

---- También puede leer el contenido del archivo después del número de línea especificado. Por ejemplo, use el comando ": 3r /etc/passwd" para leer el contenido del archivo a partir de la línea 3 del nuevo. archivo en /etc/passwd Todo el contenido.

---- También podemos utilizar el siguiente método para eliminar todas las líneas en blanco y líneas de comentarios que comienzan con # en el archivo.

---- #cat squid.conf.default | grep -v ^$ | grep -v ^#

---- 2. Después de abrir el archivo y editarlo , Se descubrió que el usuario que inició sesión no tenía permisos de escritura para el archivo, por lo que no se podía guardar y las modificaciones debían guardarse en un archivo temporal.

---- archivo vi

----: w /tmp/1, guarda todas las modificaciones realizadas, o guarda una determinada parte de las modificaciones en un archivo temporal, por Por ejemplo, para guardar solo el contenido entre las líneas 20 y 59 en el archivo /tmp/1, podemos escribir el siguiente comando.

---- archivo vi

----: 20, 59w /tmp/1

---- 3. Utilice VI para editar el archivo, pero es necesario eliminar una sección grande.

---- Primero use el comando de edición "archivo vi" para abrir el archivo, luego mueva el cursor a la línea que necesita ser eliminada y presione Ctrl G para mostrar el número de línea, luego vaya a al final y presione Ctrl G para mostrar el archivo. El número de línea al final.

----: 23, 1045d Suponga que los números de línea obtenidos dos veces son 23 y 1045 respectivamente, luego elimine todo el contenido del período. También puede usar los comandos ma y mb para marcar el comienzo. y el final de la línea que se va a eliminar. Fin, luego use el comando ":a,bd" para eliminar.

---- 4. Agregue algunas cadenas al principio o al final de cada línea o algunas líneas en todo el archivo.

---- archivo vi

----: 3, $s/^/some string / Inserta "some string" desde el principio de la primera línea hasta la última línea del archivo.

----: s/$/some string/g inserta "alguna cadena" al final de cada línea en todo el archivo.

----: s/string1/string2/g Reemplaza "string1" con "string2" en todo el archivo.

----: 3,7s/string1/string2/ Reemplace "string1" con "string2" solo en las líneas 3 a 7 del archivo.

---- Nota: s significa reemplazo, significa todas las líneas y g significa global.

---- 5. Edite dos archivos al mismo tiempo, copie el texto en un archivo y péguelo en el otro archivo.

---- vi archivo1 archivo2

---- yy Copia la línea donde está el cursor al archivo1

----: n cambia a archivo2 (n =siguiente)

---- p Pegue la línea copiada en la línea donde está el cursor en archivo2

----: n Volver a archivo1

-- -- 6. Reemplace la ruta en el archivo.

---- Utilice el comando ":s#/usr/bin#/bin#g" para reemplazar todas las rutas en el archivo /usr/bin con /bin. También puede utilizar el comando ":s//usr/bin//bin/g" para lograr esto, donde "" es un carácter de escape, lo que indica que el siguiente carácter "/" es un carácter significativo, no un separador.