1

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

2 ответа2

3

Да, d и :d[elete] могут сбивать с толку, потому что они ведут себя как "Cut".

Чтобы удалить d "по-настоящему", вы должны указать "регистр черной дыры" (:help "_):

"_d

Вы можете отобразить d на "_d:

nnoremap d "_d

но я бы сохранил оригинальную команду как есть.

1

Как сказал Ромени, оригинальная команда для d хороша тем, как она работает, и я бы не советовал ее менять.

Что вы можете сделать, так это сопоставить "_d с <leader>d

В моем случае лидером является ключ , поэтому вместо нажатия "_d я напишу ,d

" shortcut to delete in the black hole register
nnoremap <leader>d "_d
vnoremap <leader>d "_d
" shortcut to paste but keeping the current register
vnoremap <leader>p "_dP

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