Вопрос

Я пытаюсь скопировать 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. Отказ Он открывает каждый файл на новую вкладку (что является потрясающе), и это решает ограничение копирования / вставки

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top