2012-02-02 12 views

Respuesta

38

Utilice el bloque visual (ctrl-v) para cortar la columna de la letra. Luego muévase a la primera línea de la columna numérica. Muévete hasta el final y crea un espacio. Luego pega la columna de la letra.

+0

¿Hay algo especial sobre el corte/tirón en el modo de bloqueo visual? Mi problema ahora mismo es que el registro que estoy usando es en realidad el registro '*', que significa el portapapeles del sistema. –

+1

El mismo registro se está utilizando para 'y' simple y' p', si no especifica uno especial con '" '. – Matej

+1

Este interesante plugin de Ingo Karkat me resulta útil cuando quiero" echar "una pasta. http://www.vim.org/scripts/script.php?script_id=3355 –

14

tiene:

abc 
def 
ghi 

123 
456 
789 

mueve el cursor sobre el a. Luego, CTRL+V, y mueva el cursor a i. Presione y.

A continuación, agregue un espacio después del carácter 3, y presione p.

Listo.

41

Me preguntaba por qué el "modo de bloque visual" no funcionaba para mí. La clave es yank (o eliminar) en modo visual.

Me resulta necesario copiar algunas cosas de las columnas de Excel que tienen longitudes variables. He aquí cómo lo hago:

Names 
Donald Knuth 
Sebastian Thrun 
Peter Norvig 
Satoshi Nakamoto 

Age 
100 
50 
60 
45 

Digamos que desea colocar la segunda columna después de la primera.

  1. yanqui en modo visual:
    • Mover el cursor al principio de Age
    • Prensa Ctrl + v para entrar en el modo visual
    • Mover el cursor a 5 en 45
    • Prensa y dar un tirón (o d para eliminar)

Has iniciado el modo visual.

  1. Pegar (en modo normal)

    • Mover al extremo de la primera línea y añadir más espacios porque es más corta que la segunda línea, por ejemplo. Si pega un "bloque" sin agregar espacios adicionales, sobrescribirá la "ejecución" en Sebastian Thrun.

    • Ahora está en la primera línea, inserte unos espacios después del último carácter. Asegúrate de que no estás en el modo de inserción y presiona p para pegar el bloque. (Si desea pegar en el modo de inserción, utilice ctrl+r ")

enter image description here

+0

@Abdo: Gracias, esto me ayudó. Sin embargo, aunque pegar en el modo normal funciona como se esperaba, insertar con 'ctrl + r" 'no funciona como se describe. ¿Es así como debería ser? – Xiphias

+0

@Xiphias escriba': registers' y vea lo que tiene allí. si tiene algo debajo de '" ', probablemente esté escribiendo' ctrl + r ''(asegúrese de mantener el desplazamiento) – Abdo

+0

En realidad, se llama" Modo de bloque visual ", no solo" Modo visual ". – Fritz

2

Esto puede parecer obvio, pero si va a pegar desde una memoria intermedia copiado externa no va a funcionar con sólo visual modo pegar. Lo que puedes hacer primero es hacer una pasta normal en un área vacía y cortar/pegar verticalmente usando el método anterior.

0

Si desea configurar manualmente el tipo de registro que decir en forma de bloques, utilice este

:call setreg(0, getreg(0), 'b') 

o

:call setreg('*', getreg('*'), 'b') 

útil para pegar una columna de un editor de hoja de cálculo.

Ver :help setreg y vimtip para más detalles.

Cuestiones relacionadas