Domanda

im cercando di copiare 300 linee da un file all'altro, nel file sorgente scriv "300yy", si dice che ha tirato 300 linee.

vai al file di destinazione e premere il tasto p, viene incollata, ma solo le prime 50 righe.

idea del perché non è incollando il 300?

È stato utile?

Soluzione

Come suggerito in Vim Tips Wiki , è possibile regolare il viminfo impostazione:

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

Che cosa significano i singoli bit:

  • Marks '100 saranno ricordati per gli ultimi 100 file modificati.
  • <1000 Limita il numero di righe salvate per ciascun registro a 1000 linee; se un registro contiene più di 1000 linee, solo le prime 1000 righe vengono salvate.
  • Registri s100 con più di 100 KB di testo sono saltati.
  • Disattiva h ricerca evidenziando all'avvio di Vim.

Altri suggerimenti

Come Eugene e Zyx detto regolando il viminfo sarebbe la soluzione più semplice

:set viminfo-=<50,s10

Una soluzione alternativa potrebbe essere utilizzato :read e / o :write

Per leggere dal file-name.txt nel buffer corrente

:read file-name.txt

per aggiungere l'intervallo di linea 1 alla linea 300 dal buffer corrente nel file-to-append.txt

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

È inoltre possibile utilizzare segni al posto dei numeri di riga, come i segni visivi

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

Naturalmente apposizione potrebbe non essere in grado di soddisfare la vostra caso d'uso in cui i cambiamenti viminfo probabilmente funzionerà meglio.

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

Rimani nella stessa sessione (aprire il nuovo file facendo: e percorso). E non avrà alcuna limitazione

vim -p file1 file2 prova. Si apre ogni file in una nuova scheda (che è eccezionale), e risolve la copia / incolla limite

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top