Проблема, снова переплетающая isearch, вводит Emacs

Привет я пытаюсь снова переплести ключ Emacs для isearch (C-s) к большему количеству CUA как C-i becuase, который C-s обязан сохранить. Я сделал следующее:

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

который хорошо работает, пока я не пытаюсь найти следующее соответствие. Проблема состоит в том, что в Emacs это несут путем ввода C-s снова. К сожалению, я не могу связать команды isearch-repeat-forward с C-i, потому что это отменяет привязку C-i для isearch-передавания.

У меня perhps не возражал бы против чего-то как C-r для повторения, но раздражающе emacs, есть другая повторная команда для вперед, и инвертируйте возрастающий поиск

Кто-либо знает о хорошей фиксации к этому?

0
задан 18 December 2014 в 19:56

1 ответ

isearch-repeat-forward связан с C-s в режиме Isearch . Вы можете заметить, что когда вы нажимаете C-s , вы входите в новый дополнительный режим в своем буфере. Поскольку каждый режим имеет свою собственную карту привязки клавиш, вы должны изменить привязку C-s на этой карте. Функция define-key получает аргумент, который является картой режима, которую вы хотите связать с ключом, в этом случае isearch-mode. Попробуйте поставить это на свой init.el

(define-key isearch-mode-map (kbd "C-i") 'isearch-repeat-forward)
(define-key isearch-mode-map (kbd "C-S-i") 'isearch-repeat-backward)
2
ответ дан 3 August 2019 в 22:35

Другие вопросы по тегам:

Похожие вопросы: