不谈Spacemacs,只谈Centaur Emacs

目前 GO 推荐用 module,任何路径下都可以。GOPATH 指定多个路径,就要看 Go lang server 是否支持了,有问题可以到相应的 LSP 下咨询。另外,个人不建议用 fish,不兼容是硬伤,带来的问题实在太多。当然,如果你能解决也无妨。理论上,只要环境变量能导入 Emacs,用任何 shell 都无所谓。

好的,fish若不好对应,我就改成zsh

lsp的思路挺好,但这两天配置go,c还有rust遇到很多不顺的地方。特别是rust的rls,总是失败,我现在把lsp禁用了

应该不会,LSP 都是通用的,VSCode,VIM、Emacs 都是用的这个,配置都很简单的。

rust 应该没什么需要配置的呀,把rls装完,再配一下lsp就完事了,基本达到开箱即用

(require 'lsp-mode)
(require 'lsp-clients)
(require 'rust-mode)
(add-to-list 'auto-mode-alist '("\\.rs\\'" . rust-mode))
(add-hook 'rust-mode-hook 'lsp)

我不是说emacs配置的问题,而是rls命令出问题。rls命令启动不了,报陷阱6的错误,我暂时不想去查了,这应该是rust版本的问题。

还有一个问题是,我用了evil,不知是不是和lsp冲突还是怎么的,我在编辑go的过程中,emacs总是自作主张的,插入很多内容。比如dd命令是evil的行删除命令,结果当前行是被删除了,但会把前几行复制一遍粘贴在这一行上。整个就乱了。没法编辑下去。

我从前两天某次更新之后,发现Centaur报错:Autoloading file /path/to/doom-modeline.elc failed to define function doom-modeline-mode,不影响大部分使用,有些custom-post.el里的设置会失效。

我还不知道怎样禁用doom-modeline等。请问这个应该怎么调试?

你没有更新包。请执行upgrade-packages。

centaur-update提示要.dotfiles,我就把你的.dotfiles也取下来了。但不清楚update要用.dotfiles的配置做什么用?我比较喜欢的用的ZSH_THEME,我在.zshrc设置也不起作用了,是不是你在什么地方又恢复成默认的了。我用grep搜索你的配置,没找到,丢人了:joy:

你确定执行的是centaur-update?我猜你是执行的centuar-update-all吧?如果要用 Centaur Dotfiles,请参看它的 README,.zshrc.local配置自己的选项。

光想着emacs了,忘了dotfiles 里也有Readme了:joy:

十分感谢!看完你的配置结构后才发现模块化配置(provide,require)这一神器。

其实这只是最基本的用法,个人比较推崇大道至简。很多框架都太复杂太笨重了。

2 个赞

本来准备放弃zsh投向fish,看了dotfiles之后,发现zsh还有antigen这么方便的管理方式。再者,遇到一些fish不兼容的情况,让我对fish也有点爱恨交加。跟着楼主学东西就是快。

多谢!

ありがとうございます!

但我对传统shell中,字符串的处理这块不是很爽。虽然不是主要依赖shell做字符处理,但##%%这种写法不如fish中的string命令。不管怎样,我还是回到zsh。

顺便问一下,楼主平常用的是Linux还是Mac?

fish最大的问题是是不兼容POSIX shell,平时没什么问题,有的时候很烦。

zsh不用什么高级配置的话,自己配置很轻松,不需要搞什么框架。

这里的几个扩展装上,平时用起来基本就不输fish了。

mac用得多些,Linux也用,主要是Ubuntu和manjora。zsh除了不是原生功能速度稍逊外,其他都不比fish差了。

我现在用的是Mac和manjaro-i3

多谢推荐,我用了一段时间zsh,上个月才改成fish。主要是觉得fish脚本的写法比较容易接受。不像bash,中括号[]加上%#这种处理方式

现在改成zsh后,在Linux下,emacs中的term的显示有些问题。不好弄得话,我在emacs中指定成bash也可以。

现象如下

在每次输出结果前,会输出一些多余信息。上图是我执行的是ls命令。在输出的结果行中,Desktop前的信息都是多余的

下图是.zsh.local的内容

换主题,用ys没有问题

也是一样的问题,:grinning:

我的环境是manjaro-i3