5

Часто я хочу удалить что-то в Vim, не перемещая его в реестр. Есть ли способ сделать это? Я считаю, что необходимость явно указывать регистр "a иногда бывает немного.

2 ответа2

6

Похоже, что вы на самом деле задаете два связанных вопроса здесь:

  1. Вы хотите удалить текст, не появляясь ни в одном регистре
  2. Вы хотите иметь возможность указать регистр по умолчанию, отличный от "

Первый из них можно сделать, просто использовать _ регистр, который называется "черная дыра" регистр, вместо того , чтобы что - то вроде регистра. Например: a

Второе не может быть сделано, насколько я знаю.

Смотрите :help registers.

1

Вы всегда можете сделать что-то вроде этого:

nnoremap d "_d
vnoremap d "_d

Но я бы не советовал: Vim по умолчанию должен оставаться таким, какой он есть.

Вместо "_d я использую эти сопоставления для удаления в регистр черной дыры:

nnoremap <leader>d "_d
vnoremap <leader>d "_d

Это только на одну клавишу короче, но это лучше, чем перезапись Vim по умолчанию.

Я использую это отображение, когда мне нужно вставить что-то несколько раз:

vnoremap <leader>p "_dP

Который идет так:

10 yank something
20 select something else
30 paste over it
40 GOTO 20

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .