Problema ao religar a chave isearch no Emacs

Problema ao religar a chave isearch no Emacs

Olá, estou tentando religar a chave Emacs para isearch (Cs) para mais CUA como Ci porque Cs é obrigado a salvar. Eu fiz o seguinte:

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

o que funciona bem até eu tentar encontrar a próxima correspondência. O problema é que no Emacs isso é feito digitando Cs novamente. Infelizmente não consigo vincular os comandos isearch-repeat-forward ao Ci porque isso desfaz a ligação do Ci ao isearch-forward.

Eu talvez não me importasse com algo como Cr para repetir, mas irritantemente o emacs tem um comando de repetição diferente para pesquisa incremental direta e reversa

Alguém sabe de uma boa solução para isso?

Responder1

isearch-repeat-forwardestá obrigado C-saModo de pesquisa. Você pode notar que ao pressionar C-svocê entra em um novo modo menor em seu buffer. Como cada modo tem seu próprio mapa de atalhos de teclado, você deve alterar C-sos atalhos neste mapa. A define-keyfunção recebe um argumento que é o mapa de modo que você deseja vincular a chave, nesse caso isearch-mode. Tente colocar isso no seuinit.el

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

informação relacionada