练习use-package
的时候,想配置语言环境来重构我的配置文件
不过
遇到了一些小问题,请大家帮我看看
0. :commands 指令?
这玩样干啥使的,我以为是加载一个mode之后接着执行这些命令,
(use-package color-moccur
:commands (isearch-moccur isearch-all)
:bind (("M-s O" . moccur)
:map isearch-mode-map
("M-o" . isearch-moccur)
("M-O" . isearch-moccur-all))
:init
(setq isearch-lazy-highlight t)
:config
(use-package moccur-edit))
1. scheme 与 geiser
这个geiser
不管怎么折腾配置,geiser-active-implementations
始终是一个列表,没有被改变,
用不了run-geiser
(use-package scheme-mode
:defer t
:mode "\\.ss\\'"
:hook
((scheme-mode . geiser-mode))
:config
:commands (geiser-mode run-geiser))
;; MODULE config about geiser
(use-package geiser
:defer t
:after (scheme-mode)
:config
(setenv "MITSCHEME_LIBRARY_PATH"
"/usr/bin/chezscheme9.5")
(add-to-list 'exec-path "/usr/bin/chezscheme9.5")
(setq scheme-program-name "chezscheme9.5"
geiser-chez-binary "chezscheme9.5"
geiser-active-implementations '(chez)))
2. c+±mode
手动调出c++-mode
的时候,给了我这么一堆乱码
run-hooks: Wrong number of arguments: #[(command &optional arg &rest ignored) "ÅÆ\"\0ÇÈ!ÅÉ\"e\0
\0Ê ÅË\"%\0Ì ÅÍ\".\0ÎÅÏ\"9\0Ð!ÅÑ\"D\0Ò!ÅÓ\"O\0Ô!ÅÕ\"
\0Ê :a\0@Ö!?
\0×ØÙ#\0ÚÛ!}\0Üu\0Ûc\0ÚÝ!\0Üu\0Ýc)" [command major-mode company-irony-c-headers--modes arg matched eql interactive company-begin-backend company-irony-c-headers prefix ...] 5 ("/home/steiner/.emacs.d/elpa/company-irony-c-headers-20151018.909/company-irony-c-headers.elc" . 5840) (list (quote interactive))], 0
(use-package c++-mode
:mode "\\.cc\\'"
:hook
((c++-mode . flycheck-mode)
(c++-mode . irony-mode)
(c++-mode . company-mode)
(c++-mode . company-irony-c-headers))
:config
(add-to-list (make-local-variable 'company-backends)
'(company-lsp company-irony-c-headers company-irony)))
顺便说一句,写上(flycheck-mode 1)
这样的代码还是有乱码
3. python-mode 的interpreter
调用run-python
的时候,这样设置是有效的
(use-package python-mode
:mode "\\.py\\'"
:config
(setq python-shell-interpreter "python3.8"))
但这样设置是无效的,什么玩样?
(use-package python-mode
:mode "\\.py\\'"
:interpreter "python3.8")
最后
我有个问题,有没有关键字指定use-package
一个包后加载的函数或其他包,就像
调用c++-mode
之后把flycheck
,company
之类的包导入进来
(use-package c++-mode
:mode "\\.cc\\'"
:hook
((c++-mode . flycheck-mode)
(c++-mode . irony-mode)
(c++-mode . company-mode)
(c++-mode . company-irony-c-headers))
...