Làm thế nào để sử dụng gói sử dụng với các gói tích hợp?


9

Vì lợi ích của sự gọn gàng, tôi muốn nhóm setq (s) dưới biểu ngữ liên quan duy nhất. Giả sử tôi muốn đặt giá trị của trình biên dịch-cuộn-đầu ra trong đơn vị "biên dịch" như thế này:

(use-package compilation
  :init
  (progn
    (setq compilation-scroll-output t)))

Tất cả tôi nhận được là:

Could not load compilation

Nó thế nào?


3
FWIW, sử dụng describe-variablehoặc describe-functionđể tìm ra gói var hoặc func nào, sau đó nhìn xuống providecuộc gọi để tìm ra tên gói.
Jordon Biondo

Mã của bạn để đặt compilation-scroll-outputlà một noop, nó phải là(progn (setq compilation-scroll-output t))
npostavs

Cảm ơn bạn npostavs. Vì một số lý do không rõ, tôi đã cố gắng sử dụng 'như một bí danh của setq.
jacekmigacz

@npostavs Tôi thậm chí không nhận thấy rằng .. đã sửa nó trong câu trả lời của tôi.
Kaushal Modi

Câu trả lời:


11

Tên của gói là compile.

Dưới đây nên làm việc.

(use-package compile
  :init
  (progn
    (setq compilation-scroll-output t)))

Sẽ đáng để lưu ý nhận xét của @JordonBiondo về cách tìm ra tên của một gói.

Nếu bạn muốn biết một biến thuộc về gói nào, hãy thực hiện C-h vhoặc M-x describe-variabletheo sau bởi tên var (cho một tên hàm C-h fhoặc M-x describe-function). Từ cửa sổ * Trợ giúp * bật lên, điều hướng đến .eltệp của gói và xem (provide ..)cuộc gọi để tìm ra tên gói.


2
Cú pháp của gói sử dụng xung quanh các từ khóa là hơi bất thường. Các hình thức theo hầu hết các từ khóa được gói lại cho từ khóa đó cho bạn. Vì vậy, tiên lượng hiếm khi cần thiết. (use-package compile :init (message "init for compile") (setq compilation-scroll-output t))
Ben Hyde

5
@BenHyde Điều đó đúng; prognkhông bắt buộc nhưng tôi sử dụng nó cho thuận tiện. Nếu tôi có một loạt các hình thức bên dưới :initvà một loạt các hình thức bên dưới :config, việc bọc chúng trong (progn ..)đó sẽ rất thuận tiện để đánh giá toàn bộ :inithoặc :configsử dụng C-x C-e.
Kaushal Modi
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.