Как удалить (нужный текст), удалить (нежелательный текст) и вставить (нужный текст) в Vim - PullRequest
5 голосов
/ 16 февраля 2010

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

Есть предложения, чтобы решить эту проблему?

Ответы [ 5 ]

9 голосов
/ 16 февраля 2010

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

Сначала удалите нежелательный текст:)

или

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

"bd$

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

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

"bp

или

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

"_d
6 голосов
/ 16 февраля 2010

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

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

2 голосов
/ 19 февраля 2010

Тип:

:registers

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

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

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

"2p
2 голосов
/ 16 февраля 2010

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

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

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

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

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

0 голосов
/ 20 февраля 2010

Попробуйте плагин yankring .

...