1

インターネットのガイドによると、Cc Cd h と入力して、Emacs の「format」のような記号を HyperSpec で検索できます。誰かがそれに対処できますか?前もって感謝します!

4

2 に答える 2

4

実際にスライム REPL モードを使用していますか? 設定なしで Slime を起動すると、REPL モードにならず、*inferior-lisp*バッファに座っていることがあります。

まず、バッファのタイトルが何であるかを確認します。の場合*inferior-lisp*、それは正しいものではありません。読む必要があります*slime-repl sbcl*(sbcl は、使用している CL 実装を指します)。

この場合、Emacs init ファイルで slime-fancy を有効にする必要があります。これは私が持っているものです:

(defun init-slime-configuration ()
  (slime-setup '(slime-fancy slime-fuzzy))
  (setq slime-load-failed-fasl 'never)
  (define-key slime-repl-mode-map (kbd "C-<tab>") 'slime-fuzzy-complete-symbol)
  (define-key slime-mode-map (kbd "C-<tab>") 'slime-fuzzy-complete-symbol))

(add-hook 'slime-load-hook 'init-slime-configuration)

これにより、あいまい展開に C-TAB を使用することもできます。

于 2013-04-04T10:32:04.457 に答える
0

Quicklisp (バージョン 2.9) を使用してインストールされた SLIME のバージョンから MELPA からインストールされたバージョン (バージョン 20141010.1357、ac-slime の依存関係) に切り替えた後、私はまさにこの問題に遭遇しました。

Quicklisp から SLIME を使用すると、次の設定を使用して、HyperSpec のローカル コピーで問題なく動作しました。

(require 'slime-autoloads)
(add-to-list 'slime-contribs 'slime-fancy)
(setq slime-lisp-implementations
  '((ccl ("ccl"))
    (clisp ("clisp"))
    (cmucl ("cmucl"))
    (ecl ("ecl"))
    (sbcl ("sbcl"))))
(setq slime-default-lisp 'sbcl)
(setq common-lisp-hyperspec-root "file:/usr/share/doc/HyperSpec/")
(setq common-lisp-hyperspec-symbol-table "file:/usr/share/doc/HyperSpec/Data/Map_Sym.txt")

次に、Quicklisp を完全に削除して再インストールし (SLIME を再インストールせずに!)、Emacs パッケージ マネージャーを使用して MELPA から ac-slime をインストールしました。

たまたま、HyperSpec でドキュメントを検索しようとしたときに、Emacs が "Map_Sym.txt" という名前の空のファイルを含む隠しバッファーを開いたことに気付きました。

を使用してこのファイルのフルパス名をC-h v buffer-file-name [RET]調べると、「/home/miki/file:/usr/share/doc/HyperSpec/Data/Map_Sym.txt」に設定されていることがわかりました。

実験として、設定の最後の 2 行から「file:/」を削除して、次のようにしました。

(setq common-lisp-hyperspec-root "/usr/share/doc/HyperSpec/")
(setq common-lisp-hyperspec-symbol-table "/usr/share/doc/HyperSpec/Data/Map_Sym.txt")

問題は解決したようです。これが機能する理由はわかりません (ドキュメントとは異なります)。バグまたは文書化されていない変更でしょうか?

于 2014-10-12T23:37:22.867 に答える