2010-09-09 10 views
9

im tratando de copiar 300 líneas de un archivo a otro, en el archivo fuente, escribo "300yy", dice que ha tirado 300 líneas.vim memoria de línea limitada

vaya al archivo de destino y presione p, pegue, pero solo las primeras 50 líneas.

¿Alguna idea de por qué no está pegando el 300?

+1

¿'echo @ "' hace eco en todas sus líneas? ¿Cómo va al archivo de destino (en esta instancia de vim, o en otro)? Si quieres guardar estas 300 líneas en las sesiones de vim, entonces necesitas modificar tu variable viminfo como lo sugiere @eugene y (aunque deberías eliminar las partes ', <100' y', s10' de la cadena) En mi vim mover 2800 líneas en una sesión de vim funciona muy bien. – ZyX

+0

Y pegue la información de su versión – ZyX

+1

im on vim 7.2, quitando el, <100 y, s10 hicieron el truco. –

Respuesta

14

Como se sugiere en Vim Tips Wiki, puede ajustar la configuración viminfo:

:set viminfo? 
:set viminfo='100,<1000,s100,h 

lo que significan los bits individuales:

  • '100 marcas serán recordados por los últimos 100 archivos editados.
  • <1000 Limita el número de líneas guardadas para cada registro a 1000 líneas; si un registro contiene más de 1000 líneas, solo se guardan las primeras 1000 líneas.
  • s100 Se saltan los registros con más de 100 KB de texto.
  • h Desactiva el resaltado de búsqueda cuando se inicia Vim.
+1

¿sabes lo que significa cada una de esas líneas '100, <100, s10, h? –

+3

@Hermann: Simplemente ejecute el comando ': help 'viminfo'' en vim –

+0

esta es una documentación muy superior de la solución a esos problemas. –

4

Permanezca en la misma sesión (abra el nuevo archivo haciendo: e ruta) y no tendrá ninguna limitación.

8

Como Eugene y Zyx dicha ajustar su viminfo sería la solución más fácil

:set viminfo-=<50,s10

Una solución alternativa sería usar :read y/o :write

Para leer desde el archivo-name.txt en el buffer actual

:read file-name.txt

para anexar la gama de la línea 1 a la línea 300 desde el buffer actual en un archivo-a-append.txt

:1,300write >> file-to-append.txt

También puede utilizar las marcas en lugar de los números de línea, tales como las marcas visuales

:'<,'>write >> file-to-append.txt

Por supuesto, puede que no se pueda completar su caso de uso en el que los cambios de viminfo probablemente funcionen mejor.

:help :write 
:help :read 
:help 'viminfo' 
:help :set-= 
+0

antes de cambiar de vi a vim Configuré la siguiente abreviatura (no recuerdo por qué utilicé ab en lugar del mapa): 'cab wbf w! ~/.lastbuffer' y 'rbf r ~/.lastbuffer' que respectivamente escriben y leen siempre el mismo archivo. Entonces simplemente haz ': wbf' y': rbf' – mb14

3

prueba vim -p file1 file2. Abre cada archivo en una nueva pestaña (que es impresionante) y resuelve el límite de copiar/pegar

+0

Ya he resuelto el problema sin exigir ningún comportamiento nuevo, pero gracias. –

+0

¡Gracias! eso fue realmente útil. –

Cuestiones relacionadas