2012-09-13 30 views
67

¿Cómo se puede insertar cuando está en el modo de bloque visual (presionando ctrl-V) en Vim?Vim: ¿Cómo insertar en el modo de bloque visual?

+3

posible duplicado de [VIM por bloques Insertar] (http://stackoverflow.com/questions/2874952/vim-blockwise-insert) – Conner

+1

SUMA RÁPIDA DE LA RESPUESTA: Voy a poner la respuesta aquí en forma simple. Hay tantos comentarios, que este hilo se está ahogando. 1) Compruebe si tiene habilitado + visualextra en su versión de Vim, escribiendo: ver en Vim. 2) Inserta marcando primero las cosas que desea editar y luego presiona I (mayúscula i) - minúscula no funcionaré. 3) Una vez que hagas eso, es posible que parezca que solo estás insertando en la primera línea, pero cuando hayas terminado, presiona ESC yj, luego el texto se copia a las otras líneas. Así es como funciona para mí. – Zeth

Respuesta

106

probar este

Después de seleccionar un bloque de texto, pulse Shift +i o el capital I.

En minúsculas i no funcionará.




Si esto no funciona ...

comprobar si tiene +visualextra habilitadas en su versión de Vim.

Puede hacerlo escribiendo :ver y desplazándose por la lista de funciones. (Es posible que desee copiar y pegar en un búfer y hacer una búsqueda incremental porque el formato es impar.)

Habilitarlo queda fuera del alcance de esta pregunta, pero estoy seguro de que puede encontrarlo en alguna parte.

+8

¡No te olvides de 'A' también! – jmdeldin

+15

¿Por qué el 'i' en minúscula no funciona en modo visual? –

+24

También debe presionar escape para salir del modo de inserción antes de que el texto se duplique. –

17

Es posible que también tenga un caso de uso en el que desee eliminar un bloque de texto y reemplazarlo.

gusta esta

Hello World 
Hello World 

Puede seleccionar el bloque visual antes de "W" y pulsa I - Tipo "Cool" - Hit ESC y elimine "mundo" por la selección de bloque visual.

Alternativamente, la mejor manera de hacerlo es a solo el bloque visual seleccione "Mundo" en ambas líneas. Tipo c para change. Ahora estás en el modo insert. Inserta las cosas que deseas y pulsa ESC. Ambos se reflejan con pulsaciones de teclas menores.

Hello Cool 
Hello Cool 
8
  1. ctrl prensa y v // inicia seleccione
  2. prensa turno y I // luego escribir cualquier texto
  3. pulse ESC ESC // presione esc dos veces
+0

funciona en Linux (Debian 9) –

+0

Después de presionar 'ctrl + v', puede presionar' j' para seleccionar rápidamente la (s) línea (s) por debajo de la posición actual, o presionar 'k' para seleccionar rápidamente la (s) línea (s) arriba posición. También puede usar la tecla 'shift' con los errores' up' o 'down' para hacer la selección. –

+0

De todas las respuestas, esta es la única que funcionó para mí. Estoy en un Mac usando la instalación brew –

0

si desea agregar texto nuevo antes o después de la columna seleccionada:

  • pulse Ctrl + V
  • selecciona las columnas
  • turno pulse + i
  • escribir el texto
  • presione esc
  • de prensa "jj"
Cuestiones relacionadas