Cómo copiar desde la posición actual hasta el final de la línea en vi


102

Yo uso gvim en Windows. Cómo copiar texto desde la posición actual al final de la línea en vi y pegarlo en otro archivo abierto en vi. Lo busqué en Google pero no puedo encontrar ninguna solución para esto. Agradezco cualquier ayuda en esto. Gracias.

Respuestas:


155

El comando en modo normal para moverse al final de la línea es $.

Puede copiar hasta el final de la línea con y$y pegar con p.

Para copiar / pegar entre diferentes instancias, puede usar el portapapeles del sistema seleccionando el *registro, de modo que los comandos se conviertan en "*y$para copiar y "*ppegar.

$ moverse a la línea

$

y$ tirón a la línea

y,$

"*y$ seleccionar portapapeles-registrar yank-to-linebreak

", *, y,$

"*p seleccionar pasta de registro de portapapeles

", *,p

Consulte :h registerspara obtener más información.


Gracias. pero quiero pegar el contenido en 'otro archivo' abierto en vi. Esto funciona solo con el mismo archivo.
javalearner

4
Funcionará para cualquier archivo abierto dentro de la misma instancia. Puede copiar al portapapeles del sistema seleccionando el registro *(o +).
Don Reba

¿Por qué los registros del sistema no puede trabajar ... No puedo copiar el contexto en el file1que file2. Todavía necesito usar el mouse. ¿Cuál podría ser la razón probablemente?
Alston

8
Por lo general, uso Dpara cortar desde la posición actual hasta el final y ppegar (recuperar) los datos originales, y luego moverme a otro lugar para pegar los datos extraídos. Simplemente porque es mucho más fácil de escribir Dque y$.
neevek

1
@PhilipRego, es y$, sin punto y coma.
Don Reba

45

Si no desea incluir el salto de línea con el tirón, puede usar yg_. (O en tu caso, "*yg_)

Básicamente, solo reconozca que hay una diferencia entre $y en cuanto al g_movimiento. Me ha ayudado en numerosas ocasiones.


3
¿Hay alguna forma de intercambiar g_y $? Rara vez o nunca necesito incluir el salto de línea en los movimientos.
Jonathan Dumaine

1
¡SI! la nueva línea adicional me está volviendo loco. Esta es la información necesaria.
javadba

6
@JonathanDumaine en su $MYVIMRCagregar la líneanmap $ g_
thedanotto

@thedanotto, hermosa persona
Jonathan Dumaine


3

Una solución diferente: Dpy pégala con p. De hecho, esto primero se elimina al final de la línea y se vuelve a pegar en la misma ubicación. Pégalo en otro lugar con p.


1
¿Por qué no Du y dejar el archivo sin modificar? (nota: esto incluye una nueva línea)
gen
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.