2014-09-03 5 views
0

Я столкнулся с проблемой при копировании некоторых строк в одном буфере в любой буфер. Вот подробности.Vim: вопрос о копировании и вставке через разные буферы

Например, я использую команду '3yy' для копирования 3 строк в файле buffer1 и хочу использовать команду 'p' для вставки этих строк в файл buffer2. Однако, если я делаю команду «d» между этими двумя командами для удаления некоторых строк в любом буфере, команда «p» больше не будет работать. Он не может вставить содержимое, которое я скопировал, используя «3yy» раньше. Я нахожусь на Vim Window 7.

+3

'd' не только удаляет линии, но и похож на операцию «вырезать». взгляните на [yank-register] (http://vimcasts.org/episodes/meet-the-yank-register/) – DOOM

+0

Спасибо всем, я думаю, что получил это! – Zizhao

+0

Это очень похоже на сообщение: [Любой способ удалить vim без перезаписи вашего последнего yank?] (Http://stackoverflow.com/questions/3638542/any-way-to-delete-in-vim-without- переписывание-ваш-последний-yank) –

ответ

0

Как и в DOOM, в комментарии «d» будет записывать регистр по умолчанию, перезаписывая то, что вы дергали ранее. Если вы хотите сохранить то, что вы дернули, поместите его в регистр. Например:

"13yy

разместит 3 строки в регистр 1. Вы можете вставить их как это:

" 1p

+0

Нумерованные регистры перезаписываются, названные регистры (от a до z), вероятно, лучший выбор. – 1983

+0

Да, это очень плохой совет. – romainl

1

Неназванный регистр содержит то, что вы yank и что вы разрезаете. Вы можете ...

  • использовать 0 регистр, который всегда содержит последний рывок: "0p
  • удаления «для реального» с «черной дыры регистра»: "_d.

См. :help registers.

+0

Еще один вопрос. Если я хочу вставить содержимое в регистр 5 в 5 раз. Как я мог это сделать? – Zizhao

+0

'5" 5p' - это 'count' +' register' + 'command'. Обратите внимание, что использование регистров номеров, таких как ответ sashang, является * очень плохой идеей. – romainl

Смежные вопросы