Emacs增量搜索 - 自动从搜索字符串中删除无法找到的字符

dmg*_*gus 7 emacs

当您在增量搜索期间输入拼写错误并且搜索字符串收到错误键入的字符时,这并不方便.有没有办法防止这种情况发生.好像是在出错时自动按下control-g.

例如,我们有以下文字:

keywords
keys
Run Code Online (Sandbox Code Playgroud)

默认的emacs行为:

  • 我们开始增量搜索并搜索"keyz"
  • "keyz"显示在搜索回波区域中,"关键字"部分显示在"关键字"中
  • 我们按s
  • 将无法找到"键",光标停留在"关键字"行,搜索回显区域显示"keyzs",这不方便

需要的行为:

  • 我们开始增量搜索并搜索"keyz"
  • "键"显示在搜索回波区域中,"关键字"部分显示在"关键字"中
  • 我们按s
  • "钥匙"被发现并且很高兴

Ste*_*fan 3

你可以尝试类似的东西

(defadvice isearch-printing-char (before drop-mismatches-on-next-char activate)
  (while (or (not isearch-success) isearch-error)
    (isearch-pop-state)))
Run Code Online (Sandbox Code Playgroud)