2010-02-16 4 views
5

Я не знаю, есть ли проблема с задержкой, но это забавная дилемма. Когда я хочу удалить текст, который хочу разместить где-то в другом месте, но в этом месте есть другая группа текста, которую я не хочу, я бы удалил этот текст, но в процессе я копирую новый буфер обмена, чтобы удалить ранее удаленный текст ,Как удалить (желаемый текст), удалить (нежелательный текст) и вставить (желаемый текст) в Vim

Любые предложения по его решению?

ответ

9

Несколько возможных решений:

Удалить нежелательный текст первый :)

или

При удалении желаемого текст хранить его в регистре, кроме регистра по умолчанию, например, удалить нужный текст до конца текущей строки и сохранить его в регистре б:

"bd$ 

Затем удалить нежелательный текст.

Затем вставьте содержимое регистра б:

"bp 

или

Удалить нежелательную текст черной дыры регистр, как это предлагается в ответ, связанного с помощью Yarek T с помощью:

"_d 
6

Возможно, этот вопрос может пролить свет на вашу проблему. 54255

Он использует «буфер черных дыр» для удаления строк без добавления их в буфер yank.

2

Другим решением является использование номера reg стрирует. Когда вы удаляете фрагмент текста, он перемещается в регистр 1, текущее содержимое регистра 1 перемещается в регистр 2 и т. Д. Содержимое регистра 9 отбрасывается. Однако это работает только для изменений дольше, чем для строк, поэтому небольшие удаления не записываются.

Таким образом, вы можете удалить первую область, удалите вторую область, а затем вставить из регистра 2.

Лично я предпочитаю использовать регистры А.З., но пронумерованные регистры полезны при удалении какой-нибудь текст, а затем реализовать вас забыл указать регистр.

До :help "1 для получения дополнительной информации.

Вы также можете увидеть, что в настоящее время во всех регистрах, в том числе 1-9, с :registers

2

Тип:

:registers 

И вы получите список регистров, которые содержат все предыдущие делеции , Вы всегда можете выбрать один для вставки. Например.для регистров:

"1 Item1^J 
"2 Item3^J 
"3 Item2^J 

выбрать второй и вставить его:

"2p 
Смежные вопросы