Dưới đây sẽ làm việc. Để rõ ràng, tôi đang sử dụng :ensure org-plus-contrib
làm sai lệch một chút so với ví dụ trong câu hỏi của bạn.
(use-package org
:mode (("\\.org$" . org-mode))
:ensure org-plus-contrib
:config
(progn
;; config stuff
))
Dưới đây là một số lưu ý giải thích cho ở trên:
(use-package FEATURE-NAME
FEATURE-NAME
là những gì đi trong (provide ..)
dòng của một gói. Đối với org-mode
, dòng đó là (provide 'org)
.
:mode ((FILE-REGEXP . MAJOR-MODE))
FILE-REGEXP
là biểu thức chính quy mà bạn muốn bật chế độ chính cụ thể. Bạn có thấy đúng: "\\.org$"
.
MAJOR-MODE
là tên của chế độ chính mà bạn muốn bật (bao gồm cả -mode
phần của tên chế độ chính). Trong trường hợp này, tên chế độ chính là org-mode
.
- Phong cách
:mode (FILE-REGEXP)
mà bạn đã sử dụng sẽ chỉ hoạt động nếu FEATURE-NAME
và MAJOR-MODE
giống hệt nhau. Ví dụ : cperl-mode
.
:ensure PACKAGE-NAME
PACKAGE-NAME
là những gì tôi thấy được liệt kê trong danh sách gói ( M-x package-list-packages
). Để rõ ràng, trong giải pháp của tôi ở trên, chúng tôi đang cài đặt gói org-plus-contrib
1 . Điều này là để chứng minh tên tính năng, chế độ chính và tên gói thực tế không nhất thiết phải giống nhau. Và tôi cũng thích cài đặt nó thay vì đơn giản org-mode
vì bạn cũng nhận được tất cả các contrib/
gói quà tặng! :)
1 Bạn sẽ cần thêm (add-to-list 'package-archives '("org" . "http://orgmode.org/elpa/") t)
vào cấu hình emacs của mình để cài đặt org-plus-contrib
. Xem trang cài đặt chế độ org chính thức để biết thêm thông tin.
Ghi chú
Cách tốt nhất để làm cho use-package
đoạn mã trên hoạt động là trước tiên lưu nó vào cấu hình emacs của bạn, sau đó xóa các phiên bản đã cài đặt Trình quản lý gói trước org
đó và sau đó khởi động lại emacs.
org.el
và bạn sẽ thấy đến cuối :(provide 'org)
. Biểu tượng đó (org
) là những gì bạn sẽ sử dụng để tải gói, như trong :(require 'org)
. Đó cuối cùng là những gìuse-package
đang làm, chỉ với một số thứ hữu ích xung quanh nó. Một gói nhất định có thể xác định nhiều chế độ để tên gói và chế độ không phải lúc nào cũng giống nhau. Đây thực sự là vấn đề tương tự như câu hỏi khác về việchtml-mode
được xác định bởisgml-mode
gói.