Я хочу перезаписать текст рывком следующим образом. Есть какой-либо способ сделать это?
кольцо убийства:
text-i-want-to-paste
До:
abcdefghijklmnopqrstuvwxyz
^
corsor
После:
text-i-want-to-pasteuvwxyz
Спасибо.
Я хочу перезаписать текст рывком следующим образом. Есть какой-либо способ сделать это?
кольцо убийства:
text-i-want-to-paste
До:
abcdefghijklmnopqrstuvwxyz
^
corsor
После:
text-i-want-to-pasteuvwxyz
Спасибо.
Включите delete-selection-mode
. Затем выберите текст для замены. Затем нажмите C-y
. При включенном delete-selection-mode
вы просто вводите текст, чтобы заменить выделенный текст, как это обычно делается вне Emacs. И C-y
тоже заменяет его.
Вы также можете использовать defavice. Тогда это будет работать только при включенном режиме перезаписи:
(defadvice yank (before yank-if-overwrite)
(if (bound-and-true-p overwrite-mode)
(delete-char (length (current-kill 0))))
)
(ad-activate 'yank)
Здесь:
(defun crazy-yank ()
(interactive)
(delete-char (length (current-kill 0)))
(yank))
(global-set-key (kbd "C-M-y") 'crazy-yank)