0

我正在尝试在我的 .emacs 中创建一个函数,以在邪恶模式下绑定到 kbd“*”,以突出显示光标下的单词,以及 vim 中的正常搜索。

我修改了脚本: http ://www.emacswiki.org/emacs/SearchAtPoint

这就是我所拥有的:

(defun isearch-yank-regexp (regexp)
    "Pull REGEXP into search regexp." 
    (let ((isearch-regexp nil)) ;; Dynamic binding of global.
      (isearch-yank-string regexp))
    (if (not isearch-regexp)
    (isearch-toggle-regexp))
    (isearch-search-and-update))

  (defun isearch-yank-symbol ()
    "Put symbol at current point into search string."
    (interactive)
    (let ((sym (highlight-regexp)))
      (if (null sym)
      (message "No symbol at point")
    (isearch-yank-regexp
     (concat "\\_<" (regexp-quote sym) "\\_>")) 'hi-yellow)))

这里似乎有一些错误:

let: Wrong number of arguments: #[(regexp &optional face)

我是一个口齿不清的新手。

你能帮忙解决这个问题吗?

4

1 回答 1

0

看来您从 wiki 复制了错误的 lisp,我假设您正在谈论这些功能。wiki 上的代码在find-tag-default函数中使用,isearch-yank-symbol但是在您的版本中,这已被替换为对highlight-regexp. highlight-regexp至少需要 1 个参数。实际功能是find-tag-default用来获取符号,我不确定是否highlight-regexp可以用于此。

我正在尝试在我的 .emacs 中创建一个函数,以在邪恶模式下绑定到 kbd“*”,以突出显示光标下的单词,以及 vim 中的正常搜索。

如果我在这里遗漏了一些东西,我很抱歉,但isearch在 emacs 中确实突出了当前搜索的词,不是吗?

于 2014-01-31T01:12:15.893 回答