0

vimのような通常の検索に加えて、カーソルの下の単語を強調表示するために、悪モードでkbd "*"にバインドする関数を.emacsに作成しようとしています。

次のスクリプトを変更しました: 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 をコピーしたようです。これらの関数について話していると思います。ウィキのコードでfind-tag-defaultは関数で使用されていますisearch-yank-symbolが、お使いのバージョンでは、これは への呼び出しに置き換えられていますhighlight-regexphighlight-regexp少なくとも 1 つの引数が必要です。実際の関数はfind-tag-default、ポイントでシンボルを取得するために使用highlight-regexpしていますが、これに使用できるかどうかはわかりません。

vimのような通常の検索に加えて、カーソルの下の単語を強調表示するために、悪モードでkbd "*"にバインドする関数を.emacsに作成しようとしています。

ここに何かが欠けていたら申し訳ありませんがisearch、emacs では現在検索されている用語が強調表示されますよね?

于 2014-01-31T01:12:15.893 に答える