В emacs 24.1, когда вы выполняете Ctrl-Y в интерактивном поиске, он возвращает буфер уничтожения в строку поиска ("вставляет содержимое буфера обмена" на языке любого другого приложения) и пытается сопоставить его.
В последних 20 версиях или около того, нажатие Ctrl-Y соответствует остальной части текущей строки. У меня есть два очень распространенных варианта использования:
Сопоставьте эту строку, верните буфер и найдите строку
(реже :) Где еще этот текст в буфере?
Я попытался изменить /lisp/isearch.el, переключив привязки для isearch-yank-line (что я хочу) и isearch-yank-kill (что я прекрасно связываю с нелепой последовательностью клавиш \ Ms \ Ce). Но я не думаю, что этот файл даже будет поднят. Но я не думаю, что этот файл даже загружается. Если я явно загружаю его, я все равно получаю поведение 24.1.
Вот мое изменение:
(add-hook 'isearch-mode-hook
(lambda ()
(define-key isearch-mode-map "\C-y" 'isearch-yank-line)
(define-key isearch-mode-map "\M-s\C-e" 'isearch-yank-kill)
))
Никаких изменений в поведении. Я даже пытался взломать isearch.el, до сих пор без изменений.
Это на Windows между прочим, но я подозреваю, что это не имеет значения.
Может кто-нибудь сказать мне, как я могу восстановить старую привязку?