¿Qué es el comando VI?
---- 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 p>
-- -- 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.