Вопрос
Я пытаюсь скопировать 300 строк из одного файла в другое, в исходном файле I введите «300YY», он говорит, что он не имеет 300 строк.
Перейдите в файл назначения и нажмите P, он пасты, но только первые 50 строк.
Любая идея, почему это не встает 300?
Решение
Как предложено в Vim Tips Wiki, вы можете настроить viminfo
параметр:
:set viminfo?
:set viminfo='100,<1000,s100,h
Что означает отдельные биты:
'100
Марки будут запоминаться за последние 100 отредактированных файлов.<1000
Ограничивает количество строк, сохраненных для каждого регистра на 1000 строк; Если реестр содержит более 1000 строк, сохраняется только первые 1000 строк.s100
Регистры с более чем 100 кБ текста пропущены.h
Отключает поиск, подчеркивающий, когда начинается VIM.
Другие советы
Как сказал Евгений и Zyx, регулируя вашу виминфо было бы самым простым решением
:set viminfo-=<50,s10
Альтернативное решение будет использоваться :read
и / или :write
Чтобы прочитать из файла-name.txt в текущий буфер
:read file-name.txt
Чтобы добавить диапазон строки 1 до 300 от текущего буфера в файл-append.txt
:1,300write >> file-to-append.txt
Вы также можете использовать метки вместо номеров строк, таких как визуальные метки
:'<,'>write >> file-to-append.txt
Конечно, присоединение может быть не в состоянии выполнить ваше использование, в котором изменения Viminfo, вероятно, будут работать лучше всего.
:help :write
:help :read
:help 'viminfo'
:help :set-=
Оставайтесь на том же сеансе (откройте новый файл, делающий: E Path), и у вас не будет никаких ограничений.
пытаться vim -p file1 file2
. Отказ Он открывает каждый файл на новую вкладку (что является потрясающе), и это решает ограничение копирования / вставки