Emacsプラグイン(4)——パッケージの構成use-package
3657 ワード
一、参考
Emacsシリーズ記事ディレクトリ——更新ing
use-package
use-package docs
Configuring Emacs from Scratch — use-package
二、どうして
2.1移植性
他の機器において、
2.2コード構造がフラットすぎる
2.3
上記の方法では、
三、基本使用
3.1インストール
3.2基本文法
3.3例
(1)
(2)
3.4保証使用の
文
3.5保証
四、
keyword名
簡単な説明
ユニット2
ユニット4
ユニット2
ユニット4
ユニット2
ユニット4
ユニット2
ユニット4
ユニット2
ユニット4
ユニット2
ユニット4
ユニット2
ユニット4
ユニット2
ユニット4
ユニット2
ユニット4
ユニット2
4.1
Emacsシリーズ記事ディレクトリ——更新ing
use-package
use-package docs
Configuring Emacs from Scratch — use-package
二、どうして
use-package
が必要ですか.init.el
を構成すると、次の2つの問題が発生することがよくあります.2.1移植性
他の機器において、
emacs
を構成する必要がある場合、必要なpackages
をすべてインストールすることが保証されないと、init.el
の多くの構成が有効にならない可能性があります.2.2コード構造がフラットすぎる
init.el
では、複数のpackages
が構成する必要があるが、init.el
はすべてのパケットの構成ファイルであり、packages
の追加に伴い、構成間の競合が発生する可能性がある2.3
packages
の取付問題の解決(defvar my-packages '(spacemacs-theme company))
(dolist (p my-packages)
(when (not (package-installed-p p))
(package-install p)))
上記の方法では、
2.1
を解決することができますが、2.2
を新しいpackage
に導入することはできません.use-package
は、上記の2つの問題をうまく解決することができます.三、基本使用
3.1インストール
M-x package-install use-package
3.2基本文法
(use-package
:init
:config
:bind
)
3.3例
(1)
use-package
未使用
(global-company-mode t)
(define-key company-active-map (kbd "C-n") 'company-select-next)
(define-key company-active-map (kbd "C-p") 'company-select-previous)
(setq company-idle-delay 0.0)
(2)
use-package
使用(use-package company
:bind (:map company-active-map
("C-n" . company-select-next)
("C-p" . company-select-previous))
:config
(setq company-idle-delay 0.3)
(global-company-mode t))
3.4保証使用の
package
はすべて存在する(use-package magit
:ensure t
:bind ("C-x g" . magit-status))
文
:ensure t
は、ローカルに存在しないすべてのpackage
がインストールされて使用されることを保証します.3.5保証
use-package
取付(when (not (package-installed-p 'use-package))
(package-refresh-contents)
(package-install 'use-package))
四、
keyword
リストkeyword名
簡単な説明
:after
ユニット2
:bind-keymap, :bind-keymap*
ユニット4
:bind, :bind*
ユニット2
:commands
ユニット4
:preface, :init, :config
ユニット2
:custom
ユニット4
:custom-face
ユニット2
:defer, :demand
ユニット4
:defines, :functions
ユニット2
:diminish, :delight
ユニット4
:disabled
ユニット2
:ensure, :pin
ユニット4
:hook
ユニット2
:if, :when, :unless
ユニット4
:load-path
ユニット2
:mode, :interpreter
ユニット4
:magic, :magic-fallback
ユニット2
:no-require
ユニット4
:requires
ユニット2
4.1
:init