Ответ 1
после yw
на NAME
и переместитесь на NAME
, вы можете сделать:
viwp
или golf abit: vep
Например, у меня есть:
rm -f $(NAME).elf $(name).d
где второе "имя" является опечаткой, а также должно быть "NAME".
Итак, на 'N', я сделал y w, а затем перешел в 'n'.
Я понял, что если я сейчас удалю c w, чтобы изменить его, я буду в режиме вставки, но я подумал, что это хорошо, это только один дополнительный ключ (ESC), а затем я могу просто p исправленная версия.
Но в этом случае p сделал именно то, что сделал бы u, он вернул "имя". Наверное, потому что "старый текст" также загружается в регистр при изменении, чего я не понимал.
Есть ли команда "replace to register", которая может быть применена к слову/букве/etc.?
после yw
на NAME
и переместитесь на NAME
, вы можете сделать:
viwp
или golf abit: vep
Мне нужно это так часто, я написал плагин, чтобы упростить и разрешить максимальную скорость: ReplaceWithRegister.
Этот плагин предлагает команду gr
2-в-одном, которая заменяет текст, охватываемый {motion}/текстовым объектом, всей линией (строками) или текущим выбором с содержимым регистра; старый текст удаляется в регистр черных дыр, т.е. он ушел. Он прозрачно обрабатывает множество угловых корпусов и позволяет быстро повторять стандартную команду .
. Если вам это не нравится, на его странице есть ссылки на альтернативы.
С NAME
, занесенным в регистр по умолчанию, и курсором на n
, просто используйте gre
. gr
вызывает команду, а e
- это движение, которое охватывает весь NAME
, подлежащий замене.
Еще один способ:
ciw<Ctrl-r>0
или
ce<Ctrl-r>0
Это позволит повторять с помощью .
без использования какого-либо плагина, как вы упомянули в комментариях, которые вы в настоящее время избегаете.
Вы можете просто изменить регистр name
на gUiw
.