这几天正在学习和使用centuar emacs,体验非常棒:
1.界面非常漂亮,也很清爽
2.速度很快,我在manjaro下使用几乎无卡顿的现象
3.配置结构很清晰,想看哪个直接去init文件中去查找
4.支持很全面
对我个人来说稍微困难点的地方就是配置比较多,自己对elisp没有那么熟悉,要多花点时间去学习。
同时遇到了一个不影响使用,但是看着非常别扭的问题。最近在学习common lisp的一些知识,新建一个.lisp文件后,同时打开安装好的sly,写一些小东西的时候,补全是没有问题的,但是在company-box中的补全列表里,所有的图标都是unknown情况下的图标,也就是说没有识别出类型。而在c或c++等其他环境下,box里面显示的图标都是正常的,比如函数啊,变量啥的。请问这是什么情况?
(setq debug-on-error t)
加之到init.el中, 看看有没有什么地方在作妖,或许能够提供更为详细的出错信息,以便于作者替你排查。
我检查了代码,common-lisp 需要做一些适配,company-box目前不支持。试试这个是否可行:
(defun my-company-box-icons--elisp (candidate)
(when (or (derived-mode-p 'emacs-lisp-mode) (derived-mode-p 'comnon-lisp-mode))
(let ((sym (intern candidate)))
(cond ((fboundp sym) 'Function)
((featurep sym) 'Module)
((facep sym) 'Color)
((boundp sym) 'Variable)
((symbolp sym) 'Text)
(t . nil)))))
大佬,按照你说了,加了一个lisp-mode,已经可以正确显示了,非常感谢。
另外今天还遇到了个问题想请教下,我将你的init-window配置文件中抄了很多到自己的配置文件里,但是在使用alt+n快速切换窗口是,提示我aw–select-window:Symbol’s value as variable is void:n,
但是dotimes明明已经给n赋过值了啊?怎么会为空呢?
代码没有问题,从backtrace看根本没有执行 dotimes。看看你的emacs环境,是否dotimes有问题?
找到问题所在了,但是没想明白为什么。
看日志是这几个函数没定义,但是明明是已经定义了的啊