
Hallo, ich versuche, die Emacs-Taste für isearch (Cs) an Ci, das mehr CUA ähnelt, zu binden, da Cs zum Speichern verpflichtet ist. Ich habe Folgendes gemacht:
(global-set-key "\C-i" 'isearch-forward)
(global-set-key (kbd "C-S-i") 'isearch-backward)
das funktioniert gut, bis ich versuche, die nächste Übereinstimmung zu finden. Das Problem ist, dass dies in Emacs durch erneutes Eintippen von Cs durchgeführt wird. Leider kann ich die isearch-repeat-forward-Befehle nicht an Ci binden, da dies die Bindung von Ci an isearch-forward aufhebt.
Ich hätte vielleicht nichts gegen so etwas wie Cr für Wiederholung, aber ärgerlicherweise hat Emacs einen anderen Wiederholungsbefehl für die inkrementelle Vorwärts- und Rückwärtssuche
Kennt jemand eine gute Lösung dafür?
Antwort1
isearch-repeat-forward
ist gebunden an C-sdieIsearch-Modus. Sie werden vielleicht bemerken, dass Sie beim Drücken von C-seinen neuen Nebenmodus in Ihren Puffer eingeben. Da jeder Modus seine eigene Tastenzuordnung hat, sollten Sie die C-sZuordnung dieser Zuordnung ändern. Die define-key
Funktion erhält ein Argument, das die Moduszuordnung ist, der Sie die Taste zuordnen möchten, in diesem Fall isearch-mode
. Versuchen Sie, dies auf Ihreminit.el
(define-key isearch-mode-map (kbd "C-i") 'isearch-repeat-forward)
(define-key isearch-mode-map (kbd "C-S-i") 'isearch-repeat-backward)