问题是,在 isearch 期间焦点不在minibuffer 中,除非您用于M-e
编辑搜索字符串;它在您的文档中。我绝对是一个欣赏大量上下文提示的人,但我从未发现 isearch 指示不足(Isearch
在模式行中,I-search:
在其下方,突出显示活动搜索结果,突出显示其他搜索结果)。
例如,当您使用RET
退出 isearch 时,状态行会显示“标记保存在搜索开始的位置”。除非您已设置search-edit-option
为非默认值,否则除了 isearch 特定命令或键入之外的任何内容都将退出搜索。
如果您确实想要更多关于正在进行的 isearch 的指示,您可以使用isearch-mode-hook
and isearch-mode-end-hook
。例如,要更改模式行颜色:
(add-hook 'isearch-mode-hook
(lambda ()
(set (make-local-variable 'isearch-mode-line-face-remap-cookie)
(face-remap-add-relative
'mode-line '((:foreground "ivory" :background "red") mode-line)))))
(add-hook 'isearch-mode-end-hook
(lambda ()
(face-remap-remove-relative isearch-mode-line-face-remap-cookie)))
或者,如果这仍然不够高可见性,您可以更改缓冲区文本的背景颜色:
(add-hook 'isearch-mode-hook
(lambda ()
(set (make-local-variable 'isearch-default-face-remap-cookie)
(face-remap-add-relative
'default '((:background "yellow") default)))))
(add-hook 'isearch-mode-end-hook
(lambda ()
(face-remap-remove-relative isearch-default-face-remap-cookie)))
顺便说一句,如果您还没有尝试过,C-h m
请在isearch
; 有很多绑定可以让您自定义您的搜索,而我在使用 Emacs 的前 15 年中并没有意识到这些。