我 Windows 用 Borg 啊,只是不怎么在这上面去操作包的安装。因为 Magit 太慢。我是 macOS 上Borg更新了配置,然后在 Windows 上用 Borg 同步下配置而已。因为子模块多了,在 Windows 上启动 magit 要等几秒种。
如果你只在 Windows 上用 Emacs,真的不推荐用 Borg,没优势。但你可以自己体验一下
Borg 在 Linux 和 macOS 的体验还是很好的。
我修改了帖子标题:
- 小白入坑borg时遇到的问题
+ borg 有时 make 出错,有时不出错但运行 epkg-update 没反应
@pipiTan 你遇到的问题应该是个Bug,最新版本已经修复了。
2 个赞
你好,按照你的描述尝试了一下borg安装包,发现我安装什么包都会提示没有依赖,难道依赖也要一个一个手动安装吗?
甚至我安装到没有依赖的包时会有这个错误。
而且我感觉官方的教程真的看不太懂 ,大佬能再详细讲讲吗?麻烦了。
对的,Borg 要你自己决定依赖是否要安装。比如你这要 M-x borg-assimilate async
,然后再 M-x borg-build helm
因为有的功能不用的话,可以不编译相关的包。比如我的 consult 中就不编译下面这两个部分,可以在 .gitmodules 文件中这么写,然后再 M-x borg-build
[submodule "consult"]
no-byte-compile = consult-icomplete.el
no-byte-compile = consult-selectrum.el
path = lib/consult
url = [email protected]:minad/consult.git
这是我的个人配置,你可以参考下:
安装包前可以先运行 epkg-describe-package
,看一下要安装的包有哪些依赖
@gangzhan @aqua0210
感谢两位的帮忙,我已经懂怎么安装包了。
但是如果某个包的依赖非常的多,有什么简化的处理吗?
我是按照官网的borg seed安装的borg,我发现在init.el里写的配置比如(display-line-numbers-mode)没有效果,是什么情况呢
没有,Borg 不负责依赖管理。
你用这个只在当前buffer 开的,要和 hook 一起用。
我是这样设置,只在 prog-mode 开行号。
(use-package display-line-numbers
:hook (prog-mode . display-line-numbers-mode)
:custom (display-line-numbers-width 3))
你要全局开可以用这个 global-display-line-numbers-mode
感谢,抄了很多你的配置 。
请教一下,一般borg的使用流程是怎么样的呢,比如我已经安装了很多包了,如何备份(是这样说的吧?)我现在有的配置,还有回滚等等。我到了别的pc是不是按照seed那里操作就行了,只是github的地址换成我自己的。如果是,在我已经弄好borg的配置下,如何同步两台pc的配置呢?
最后,问一个跟borg没关的问题,我之前用的是doom emacs,在find files 还有 M-x这些操作的时候,用tab选中选项的时候,minibuffer会在自动补全这个选项,大佬知道这是如何实现的吗?
再次感谢大佬的帮忙!
回滚就是 magit 的常规操作啊。退回到以前的commit,或者进入每个子模块,退回指定的 commit。
是的。你自己的配置就是 seed。
我用的 vertico + consult + orderless , 不过我改成了用 Tab来上下移动,完成补全用 C -i 或者回车, 因为我在 buffer 中的补全用的 Corfu,设置了 Tab-and-Go 的方式,这样 minibuffer 和 buffer 体验统一。
你可以一个个加上试试。
我也是用vertico consult orderless的,配置是抄你的。
我在安装懒猫大佬的lsp-bridge时遇到个问题,borg提示找不到acm,但是这个包好像是就是在lsp-bridge里面的,我在lsp-bridge文件夹里看到了acm。我也试过把acm move到lib目录下,然后手动在.gitmodules里面加上acm,borg-build会出错,如何解决这个问题呢?
在 .gitmodules 里面这样写应该就可以了。因为默认只有包的根目录加入load-path
[submodule "lsp-bridge"]
load-path = .
load-path = acm
path = lib/lsp-bridge
url = https://github.com/manateelazycat/lsp-bridge
build lsp-bridge的过程有很多个这个lexical var candidates的错误
而且我发现每次build都会有这个error loading,这是什么情况呢?
可能是 lsp-bridge 的依赖你没安装完。
你看看 helm-make-source 这个函数是哪个包的。
我没真正用过 lsp-bridge,不明白上面那些警告是什么问题。但是警告的话一般是不用管的。只有错误需要关注。
这个函数是helm的,我重新Build了一下它,我现在还没安装新包,不知道解决了没。
关于lsp-bridge的问题我已经去懒猫的帖子下面问了。
突然发现magit里没有最近的commit,反而是显示这个,我好像没有别的分支啊,我应该如何做呢?
感谢你的帮忙!
你这问题跟 Emacs 没啥关系,这是跟 git 相关的,你看看描述不就明白了吗?
Unmerged into origin/master
未合并到 origin/master
不就是讲这是你本地的一条 commit,尚未合并到远程分支
一个建议,新手期就先别抄大佬的配置了,参照 borg 作者给新手的配置:emacs.g,先把基础的安装、配置搞明白了,再去研究大佬的配置
2 个赞
你得先熟悉下 git 或者 magit 的相关操作。
这个意思是你的项目本地修改了,还没推送到你的远程仓库。
如果你决定推送,就按 P , u。这样远程仓库就更新了,其他电脑也就可以 pull 了。
1 个赞
@gangzhan @aqua0210
好的,我明白了。感谢两位的帮忙!
论坛大佬们都好有耐心,很多在你们眼里比较弱智的问题都会耐心回答!感谢