Problema al volver a vincular la clave isearch en Emacs

Problema al volver a vincular la clave isearch en Emacs

Hola, estoy intentando volver a vincular la clave de Emacs para isearch (Cs) a más CUA como Ci porque Cs seguramente se guardará. Hice lo siguiente:

(global-set-key "\C-i" 'isearch-forward)
(global-set-key (kbd "C-S-i") 'isearch-backward)

lo cual funciona bien hasta que intento encontrar la siguiente coincidencia. El problema es que en Emacs esto se realiza escribiendo Cs nuevamente. Lamentablemente no puedo vincular los comandos isearch-repeat-forward a Ci porque eso deshace la vinculación de Ci a isearch-forward.

Quizás no me importaría algo como Cr para repetir, pero es molesto que emacs tenga un comando de repetición diferente para la búsqueda incremental hacia adelante y hacia atrás.

¿Alguien sabe de una buena solución para esto?

Respuesta1

isearch-repeat-forwardestá obligado a C-sen elModo de búsqueda. Puede notar que cuando presiona C-singresa un nuevo modo menor en su búfer. Dado que cada modo tiene su propio mapa de combinación de teclas, debe modificar C-sla combinación de este mapa. La define-keyfunción recibe un argumento que es el mapa de modo al que desea vincular la clave, en ese caso isearch-mode. Intenta poner esto en tuinit.el

(define-key isearch-mode-map (kbd "C-i") 'isearch-repeat-forward)
(define-key isearch-mode-map (kbd "C-S-i") 'isearch-repeat-backward)

información relacionada