在当前缓冲区中查找字符串时,我知道我们可以使用C-s或C-r,然后您将获得要搜索的字符串的迷你缓冲区提示符。我知道我们可以使用M-p或M-n转到该提示,但不幸的是emacs将显示以前的搜索查询。
我不喜欢使用退格键删除它,是否有任何键可以从之前的搜索中清除提示? 感谢
答案 0 :(得分:4)
您是否说要在搜索过程中更改搜索字词?
有两个简单的选项:
首先突破搜索。我通常只做一些移动点,比如 C-a 。然后,再次 C-s 时,提示将为空(除非您键入两次,在这种情况下,它将再次搜索上一个模式)。
RET 是isearch-exit
,但是没有模式会产生不同的效果,我更喜欢一致性。你也可以使用 C-g (isearch-abort
),但你可能需要反复输入,具体取决于到目前为止发生的事情。
ESC ESC ESC 运行isearch-cancel
,这将可靠地“终止搜索并返回起点”,有时可能比 Ca 更好,它会让你在你输入它的行上。
您可以使用 M-e 动态编辑模式,然后使用常规编辑命令删除整个模式。编辑完成后,输入 RET 继续搜索新编辑的模式。
为内置帮助键入 C-s C-h C-h 。
答案 1 :(得分:1)
尝试将密钥绑定到M-x search-forward命令。
(global-set-key (kbd "C-s") 'search-forward)
这将自动关注迷你缓冲区并清除之前的输入。