0

我是 Emacs 的初学者。我正在尝试使用三叉戟模式(用于 Parenscript)。我已将 trident-mode 站点trident -site-here中的命令复制到我的 init.el 文件中。但是三叉戟模式键绑定 Cc Ce 不起作用。我在下面复制粘贴完整的 init.el 文件:


;; Added by Package.el.  This must come before configurations of
;; installed packages.  Don't delete this line.  If you don't want it,
;; just comment it out by adding a semicolon to the start of the line.
;; You may delete these explanatory comments.

;;;; Added from Melpa.org

(require 'package)
(let* ((no-ssl (and (memq system-type '(windows-nt ms-dos))
                    (not (gnutls-available-p))))
       (proto (if no-ssl "http" "https")))
  (when no-ssl (warn "\
Your version of Emacs does not support SSL connections,
which is unsafe because it allows man-in-the-middle attacks.
There are two things you can do about this warning:
1. Install an Emacs version that does support SSL and be safe.
2. Remove this warning from your init file so you won't see it again."))
  (add-to-list 'package-archives (cons "melpa" (concat proto "://melpa.org/packages/")) t)
  ;; Comment/uncomment this line to enable MELPA Stable if desired.  See `package-archive-priorities`
  ;; and `package-pinned-packages`. Most users will not need or want to do this.
  ;;(add-to-list 'package-archives (cons "melpa-stable" (concat proto "://stable.melpa.org/packages/")) t)
  )
; Commented coz it is there in the next line (package-initialize)

;;;; End Melpa.ord addition

(package-initialize)

(load (expand-file-name "~/quicklisp/slime-helper.el"))
;; Replace "sbcl" with the path to your implementation
(setq inferior-lisp-program "sbcl")

(custom-set-variables
 ;; custom-set-variables was added by Custom.
 ;; If you edit it by hand, you could mess it up, so be careful.
 ;; Your init file should contain only one such instance.
 ;; If there is more than one, they won't work right.
 '(package-selected-packages (quote (trident-mode))))
(custom-set-faces
 ;; custom-set-faces was added by Custom.
 ;; If you edit it by hand, you could mess it up, so be careful.
 ;; Your init file should contain only one such instance.
 ;; If there is more than one, they won't work right.
 '(default ((t (:family "DejaVu Sans Mono" :foundry "PfEd" :slant normal :weight normal :height 158 :width normal)))))

;;; From Trident-model.el site on Github

(add-to-list 'auto-mode-alist (cons "\\.paren\\'" 'lisp-mode))
(add-hook 'lisp-mode-hook
          #'(lambda ()
              (when (and buffer-file-name
                         (string-match-p "\\.paren\\>" buffer-file-name))
                (unless (slime-connected-p)
                  (save-excursion (slime)))
                (trident-mode +1))))


;;;; From same site, key bindings

(trident-add-keys-with-prefix "C-c C-e")

;; The key sequence for trident-eval-region is "e r", so it's now bound to "C-c C-e er" 

**This is What is Not getting Activated**


如果我打开一个 .paren 文件,我观察到的一件事是,repl 缓冲区到达顶部,而文件缓冲区(显示 .paren 文件的位置)位于下面。我不知道如何解决这个问题。但是我确实通过单击要更改的缓冲区名称来交换它们。我不知道它是否相关,但我正在写它以防万一那是罪魁祸首。如果可能的话,我更喜欢常规(顶部的程序文本和下面的 repl 缓冲区)设置。

我究竟做错了什么?谢谢您的帮助。

Edit-1:我添加了指向 trident-mode-site 的链接。

4

1 回答 1

1

谢谢菲尔斯菲尔斯的回答有效。

我发布了我所做的更改:

早些时候我正在使用:

(trident-add-keys-with-prefix "C-c C-e")

是行不通的。在菲尔的建议下,我用

(with-eval-after-load "trident-mode" (trident-add-keys-with-prefix "C-c C-e"))

有效

我是新手,所以我详细介绍了一个看似简单/明显的答案。这是为了帮助像我这样的其他新手。我们可能会对最小的事情感到困惑。:-)

菲尔斯,再次感谢你。

于 2020-05-16T11:35:41.640 回答