删除不匹配的Isearch字符串部分,如果完全匹配则删除最后一个字符
我有以下 (defun isearch-del-fail-or-char () "Delete failed isearch text, or if there is none, a single character." (interactive) (if (isearch-fail-pos) (delete-region (isearch-fail-pos) (point)) (isearch-del-char))) (define-key isearch-mode-map (kbd "DEL") 'isearch-del-fail-or-char) 该代码的目的是delete在isearch中删除整个失败的字符串(或者如果没有失败的字符串,则仅删除一个字符)。 但是,delete-region是从isearch正在搜索的缓冲区中删除文本,而不是从isearch缓冲区本身删除。 正确的方法是什么?也欢迎批评我的emacs lisp样式的其余部分:)