VIM only storing first 50 lines when yanking between files

Solution 1:

The answer to your first question is:

set viminfo+=<100    " or whatever number you want

The answer to your second question is:

In the future, you could look over :help viminfo

The 'viminfo' option is a string containing information about what info should be stored, and contains limits on how much should be stored (see 'viminfo').

From there, <C-]> on 'viminfo' or :help 'viminfo' would have taken you directly to the relevant part of the documentation where you would have found this:

(Vi default: "", Vim default for MS-DOS, Windows and OS/2: '100,<50,s10,h,rA:,rB:,
                             for Amiga: '100,<50,s10,h,rdf0:,rdf1:,rdf2:
                             for others: '100,<50,s10,h)

and:

<    Maximum number of lines saved for each register.  If zero then
     registers are not saved.  When not included, all lines are
     saved.  '"' is the old name for this item.
     Also see the 's' item below: limit specified in Kbyte.