2010-01-28 17 views
9

Soy relativamente nuevo en el mundo de Vim. He estado aprendiendo mi camino pero aún no he encontrado un propósito práctico para ingresar al modo visual.¿Cuándo se usa el modo Visual en Vim?

¿Cuáles son algunos escenarios cuando el modo visual es especialmente útil?

¿Hay acciones que solo se pueden realizar desde el modo visual?

Respuesta

6

Uso el modo visual cuando quiero resaltar una sección de texto. Empiezo escribiendo v en modo estándar, que luego activa el modo visual. Luego utilizo las teclas de flecha para mover el cursor. Esto hace que el texto entre mi punto inicial y la ubicación actual del cursor se resalte. Una vez que seleccione una sección de texto como esta, ingresar un comando (por ejemplo, buscar/reemplazar) en el modo de comando (escribiendo :) solo afectará el área seleccionada.

Otro comando visual útil es cambio + v (línea visual). Esto hace lo mismo que arriba, pero selecciona líneas completas a la vez en lugar de caracteres individuales.

+1

Otro comando (a veces) útil es ctrl-shift-v para usar el modo de bloque visual, donde se selecciona texto en forma cuadrada en lugar de solo línea. Me resulta útil para los archivos de registro. –

+0

@i, eso es genial ... ¡lo intenté! Gracias. –

+3

FWIW, para entrar en el modo de selección de columna ("forma cuadrada"), solo necesita ctrl-v (lamentablemente, Vim no puede distinguir entre ctrl-foo y ctrl-shift-foo). – overthink

4
  1. Cuando desee comentario un bloque de texto.
    En el modo de comando:
    Shift + v , ctrl + v, j o k, I, # (Comentario personaje) y luego Esc

    Vim inserta el carácter de comentario a el inicio del bloque ..

  2. es cuando estoy usando Gvim, me resulta mucho más fácil de copiar datos al portapapeles a través del modo visual.
    En el modo de comando:
    Shift + v , j o k, ", + , y

    Aquí + es el Portapapeles registrarse

    Esto para mí es mucho más legible que el uso de marcadores

  3. es para manual de sangría

    Shift + v,
    Shift + > de moviéndose hacia la derecha. Shift + < para moviéndose hacia la izquierda. . repeticiones

esto es divertido :-)

+0

@Cherian gran técnica usando las imágenes del botón para la entrada del teclado. ¿Cuál es el margen de ganancia para esto? –

+3

@AJ es Cherian

1

modo visual es útil si desea aplicar un comando a una sección de texto que no se describe fácilmente como un comando de movimiento primitivo. Puede seleccionar texto en el modo visual con una secuencia compleja de movimientos y luego aplicar un comando a esa selección.

2

Además de las otras (excelentes) respuestas, es una manera fácil de definir el alcance de una acción. Por ejemplo, para limitar una búsqueda & sustituir a un método específico ...

Digamos que tiene este código:

function foo() { 
    abc(); 
    while (1) { 
     def(); 
     abc(); 
    } 
} 

Puede colocar el cursor sobre cualquiera de las llaves o paréntesis y pulse v , %, :, s/ABC/XYZ/g y su búsqueda & reemplazar tendrán un alcance definido en el que tendrá lugar la acción.

0

a menudo me encuentro utilizando el modo de bloque visual (Ctrl +v) más que cualquiera de los otros modos visuales.

Puede eliminar fácilmente sangrías, comentarios, etc. una vez que conoce este modo. En mi experiencia, esto a menudo es más rápido que encontrar la forma de formar una declaración equivalente de búsqueda y eliminación.

Puede también añadir muesca (o comentarios como se dijo Cherian) mediante la selección de un bloque de texto y presionando I, a escribir lo que quiera añadir, y presionando Esc (nota: es posible que tenga que volver a dibujar la pantalla (por ejemplo, moviendo el cursor) para ver los efectos de esto).

2

Una de las cosas buenas de modo visual es que, debido al enfoque de Vim en la modalidad, se puede realizar la mayoría de los comandos que se utilizan para (como buscar/reemplazar con : s, d a borre el texto, o r para reemplazar el texto) mientras que también ve exactamente lo que se verá afectado, esto le permite determinar el alcance exacto de lo que sea que esté haciendo.

Además, como alguien ha mencionado, se puede insertar fácilmente un prefijo (como un carácter de comentario o, por ejemplo, & para la alineación o \item en látex) al seleccionar el primer carácter de cada línea en bloque visual modo (ctrl +v), presionando I para insertar antes de que el primer carácter, escribiendo lo que desea insertar y, a continuación Esc ing volver al modo normal.

El último tipo de modo visual es línea visual (Shift +v), que le permite seleccionar rápidamente un número de líneas. A partir de ahí, puede cambiar su sangría utilizando > o < (prefijo esto con un número de guión por esa cantidad de fichas), utilice d o y a eliminar o copiar esas líneas, utilice ZF a cree un pliegue nuevo a partir de esas líneas, o use cualquier otro comando basado en la selección.

Por último, hay un montón de otras cosas interesantes que puedes hacer con el modo visual, incluyendo gv volver a seleccionar su última selección de modo visual [línea/bloque], gU para convertir una selección visual a mayúsculas o gu para minúsculas, y muchas más.

+1

Con respecto a "ver exactamente qué se ve afectado": Varias de las funciones de Vim (sé que: s y: g son así) funcionan siempre en líneas enteras, incluso cuando solo se selecciona una parte de la línea. –

Cuestiones relacionadas