vim linea memoria limitata
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?
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