Cómo copiar con el mouse una línea muy larga en vim terminal OS X

1

Quiero copiar con el mouse una línea de una terminal vim a otra terminal vim. Esta línea es enorme y tiene un carácter oculto (supongo al principio) que no quiero copiar.

En otras palabras: quiero copiar desde el primer personaje que considero bueno hasta el último personaje que considero bueno también. El problema es que la copia con el mouse no llega al final de la línea porque esta línea es enorme. Solo va al final de la terminal.

La pregunta es, ¿cómo puedo copiar con el mouse del carácter A al carácter B que no está visible en el terminal ?

Por cierto, estos personajes son una serie de visibles @. Uno por línea en muchas líneas. Usando la tecla de flecha solo hay 2 líneas con estas @en el medio. Esto se muestra entre la primera línea real y la segunda línea real.

Henri Revet
fuente
No estoy seguro de entenderlo, pero ¿intentaste hacer triple clic para seleccionar toda la línea?
Ruskes
¿Puedo preguntar por qué no eliminas @lo que no quieres? Simplemente escriba :s/@//gy se eliminará.
jherran
@Buscar el triple clic no selecciona toda la línea. Está seleccionando solo lo que está visible en el terminal.
Henri Revet
@jherran los @ no son caracteres editables / seleccionables. En realidad he entendido lo que son. Es una forma de que vim muestre que la línea es demasiado larga para mostrarse totalmente dentro de la ventana del terminal. Lo he experimentado con una línea más pequeña; Puedo verlos con una pequeña ventana de terminal. Si cambio el tamaño a una ventana más grande, desaparece. Conclusión: las @ no son mi problema. Algo está mal con mi archivo y no tengo forma de saber qué. Gracias a todos. Debo cerrar este hilo.
Henri Revet

Respuestas:

1

Puede usar un pequeño truco: guarde esa larga línea en un archivo temporal y cópiela.

  1. Seleccione la parte deseada de la línea moviendo el cursor a la primera posición correcta. Al presionar v f[carácter], selecciona todo desde esa posición hasta la próxima aparición de [carácter]. Presionar v $seleccionaría hasta el final de esa línea. Use el poder de Vim para seleccionar solo la parte del texto que necesita.
  2. Escriba la selección en un archivo temporal escribiendo :w /tmp/long_line.
    Si el comando ya comienza :'<,'>, está bien (es una marca para su selección), solo escriba con anticipación::'<,'>w /tmp/long_line
  3. Salga de Vim y procese el /tmp/long_linearchivo como desee. Una solución simple sería cat /tmp/long_liney seleccionando la salida

Alternativa: comprar una pantalla más grande;)

codener
fuente
esta es la mejor solución ...
Kevin Zhao