好久没用go,今天发现centaur-emacs无法补全了。最近lsp-mode更新很频繁,centaur-emacs又做了调整了吗?
Windows上很多字体有问题。你试试source code pro。
可以用的 现在lsp-mode推荐bingo。
需要修改配置吗?
安装了 source code pro 只解决了一个字符显示,还有不能显示的字符,估计还是字体问题吧。
取最新的bingo,已经可以用了,不过发现一个小bug,我已经提issue了
试用过libvterm没?我使用了一下,以前term和zsh以及fish的兼容问题都没有了,与vim内嵌term效果一样。
在emacs中的效果
主要是还不成熟,安装也很麻烦,还没有集成。
This is a alpha-release , so it will crash your emacs. If it does, please report a bug!
我在Mac和Linux下都试过了,至少在zsh和fish的兼容性上,比ansi-term和multi-term强多了。
另外,我在你的.dotfiles里提了一个issue
已经fix。libvterm 进了 melpa 我会考虑集成,目前可以本地使用。
请问楼主,“HACK: DO NOT copy package-selected-packages to init/custom file forcibly.”这样做是出于什么目的?我记得spacemacs有这样一个机制:就是init中设置安装的插件与elpa文件夹中的插件始终保持一致。不知centaur是否有这样一个效果?
use-package
可以控制安装哪些包,package-selected-packages
就没有必要了,而且可能导致与配置不一致。
哦,谢谢回复!我正在学习您的配置。init控制安装哪些包容易实现,但似乎spacemacs实现了自动删除elpa文件夹中、init中未设置(或注释掉)安装的包,也就是实现了“init中设置安装的包与elpa文件夹中的包始终保持一致”;其他许多有名的配置,也未实现这点。本人水平有限,无法将spacemacs实现这点的代码提取出来用于自己的配置。
看看package-autoremove
?
3q! xiexie!
但是package-autoremove
会把所有的包都删掉,因为package-selected-packages
是空的。我觉得Emacs的包管理机制有点奇怪,明明在package list里面都已经有installed和dependency这样的状态信息,为什么autoremove不根据这个去删除孤儿依赖,而偏偏要用package-selected-packages
呢……
楼主的配置很棒!作为入坑一个多月的小白,在折腾了很多配置之后终于感觉可以安顿下来。个人觉得Centaur比Spacemacs好用得多,里面很多的细节实在是太贴心了。
现在遇到两个小问题。我平常码字喜欢用olivetti-mode居中文本。这个配置里用能用快捷键打开olivetti-mode非常方便,但是字体缩放到2倍对我而言有些太大了。我看了一下init-utils.el
,是通过给olivetti-mode-hook加了一个匿名函数来调整缩放比例,但因为是匿名函数所以没法remove掉。我不知道有没有好的办法在custom.el
或是custom-post.el
去掉这个缩放功能,现在只能去掉init-utils.el
里面与hook相关的那几行暂时解决这个问题。我想会不会把缩放比例设置成一个变量会好一些,这样用户可以根据自己的情况做调整。
另一个问题也和olivetti有关。在当前的buffer开启olivetti-mode的时候,打开另一个buffer会导致新buffer的字体也跟着放大。这个问题并不是所有情况下都会出现,我暂时还没找到规律,但是多试几次一定会出现(我使用的版本是Emacs 26.1)。我不太懂elisp,猜是和那个匿名函数有些关系,希望楼主可以解答一下。
非常感谢!
匿名函数也可以remove。把那个函数抄一边就行了
或者说(lambda (...) ...)
是名字就是(lambda (...) ...)
可能我之前没有解释清楚,init-utils.el
中的匿名函数是使用use-package
加入hook变量的。我试了一下这个方法,发现对直接使用add-hook
添加的lambda是可以remove掉的,但是use-package
中添加的的却不行,它把lambda变成了closure。olivetti-mode-hook
的值是:
((closure
(t)
nil
(if olivetti-mode
(text-scale-set 2)
(text-scale-set 0))))
我还找到一个办法是直接(setq olivetti-mode-hook nil)
,这样就能解决问题了。谢谢回复!自己今后还是要花点时间把elisp学懂才行……