初学者是不是还是手动比较好

昨晚初学者本者恰好的读borg manual,看了之后感觉略简单一点的就是就这个seed方法

但是:

git clone [email protected]:emacscollective/emacs.g.git ~/.config/emacs
cd ~/.config/emacs
make bootstrap-borg
make bootstrap

也许是晚上我脑子不转了,执行第一句就报无权限就卡住了,刚刚突然想到是应该替换成这个项目的网址再 clone,这就是初学者的困惑 :rofl:,当然老鸟会说你咋不学GIT,基本的前置知识你必须都得知道,要不这个就不是给你用的blabla :expressionless: 我是觉得都manual了,也许考虑到新人可能的问题会少一些弯路

当然还是承认自己学艺不精的

1 个赞

git submodule 的包是指啥(疑惑点:为啥不是 git 的包,而是 git submodule),能给个例子吗

补充:我去查了下,似乎是指自己在 git 上有个库,下面的子模块用于管理配置的意思

emacs.g 用的 Borg 就是采用 git 来管理你所安装的插件

采用 [email protected] 也就是 ssh,需要你配置过相关的 ssh,如果你之前用过 GitHub(按照 GitHub 的教程走过一遍),不会遇到问题才是(提示:~/.ssh/config,这种问题推荐先在网上搜一下吧,太常见了)

git submodule 就是在你的 git 仓库下添加一个子仓库

新手建议 spacemacs

1 个赞

就是用 git submodule 下载和管理的包。borg 就是基于 git submodule。

我看了眼 Borg User Manuel 真的太长了,直接 git 一把梭,要什么第三方包管理器啊 :laughing:

可以把多个配置一起下载到电脑上,慢慢折腾。

emacs --init-directory="~/.config/emacs.d"
emacs --init-directory="~/.config/spacemacs"

人生很长,可以多来回折腾几遍 :laughing:

1 个赞

初步切换到 el-get 了,需要的包都跑起来了,可以用一段啦

但是自己管理git submodule, 你怎么管理那些包还有的其他依赖呢?

spacemacs 包的升级如果没有科学上网,会比较麻烦!

顺带问一下,请问各位道友有没有关于 spacemacs 包升级的方法「无科学上网环境」?

我要不是想用非 elpa/melpa 的包、修改上游原始插件包,我会选 git submodule 吗?

我都选择 git submodule 手动管理插件包了,还要追求自动管理依赖吗?

这是方向问题,不是功能选择的问题。

用 git submodule 就是要自己管理包的依赖了,所以在安装那种依赖又多又复杂的包就会头疼。

我是用 epkg 来查看包的依赖关系,包的安装用 Borg。

1 个赞

emacs用上一两年,可能时不时会有改包的冲动,因为总有不如意的地方。于是 git 系列包管理器就会慢慢进入视野,不管是手动/borg/straight。

我还不到一年就想改包了,不过有点吃力,目前也就能看懂一点正则。

Borg 引入了一个 Makefile 对我这样的非程序员来说提高了复杂度,不过自带的 8 个函数挺好的。

虽然我还没用起来 borg,只是下载了 emacs.g 尝试了一下。

嗯,之前没了解过两个包,看了下包作者是magit的作者,包本身也组织得很有意思,我后面尝试下。我有时候确实想自己改改包的配置,或者单纯有时候更新包的时候,就会遇到Emacs报错,还得手动删除重新装,比较麻烦,也没有帮我理解细节问题到底在哪里。多谢。

这三行comment掉,从此borg-remove横着走。 多数情况下,我不关心submodule的变化情况,喜欢的包我都会commit/push到自己的repo,不担心误删。

顺便问几个初学者一直没解决的问题:

  1. ini.el 里已有一句
(defalias 'yes-or-no #'y-or-n-p)

想达到的效果是,emacs问的问题都用 y / n回答,目前遇到的问题是,在退出emacs时:

Active processes exist; kill them and exit anyway? (yes or no)
这里答y是不行的,会提示
Please answer yes or no.
  1. 用 vanila emacs 时,大家是怎样快速选中一行的

  2. 关于补全

(setq completion-styles '(orderless basic partial-completion)
      completion-category-overrides '((file (styles basic partial-completion))))

目前这样设置的,有一点不明,比如按M-x,想打 query-replace-regexp

目前可以按 q-r-r 之后 TAB 自动补全,但想达到的效果是 按 q 空格 r 空格 r TAB 来补全

不知应该如何改

  1. 一些个人定义的小 function 目前是放在 init.el 末尾了,与单放一个 el 文件相比是不是性能没什么区别,单放的好处是结构清晰,但是拷贝时要单独想着,目前我只用到了10个包左右,还没学随用随加载的方法,就两三个命令的几个 function 是不是放这里即可

1

我的设置

(setq use-short-answers t) ;; use y/n instead of yes/no
(setq confirm-kill-emacs (lambda (prompt) (y-or-n-p-with-timeout "确认退出?" 10 "y")))

2

我也不知道

3

空格可以用在文件名中,如果这样设置,find-file 就很难受了。

4

我原来设置了六十多个 init-XXX,昨天重新整理了一下,都写进了 custom.el、early-init.el、init.el 了,未来打算学习 tangle 利用 org-mode 和 org-raom 管理配置。

展示

vertico+posframe+pyim

新手折腾是避免不了的,但是建议少折腾二三手的包(代码多依赖多的),直接折腾vanilla emacs和原生功能。我的经验是大部分melpa的包(特别是minor mode),花点时间都能根据原生功能写出适合自己的函数,这样会学到更多,而且让你非常熟悉配置的代码,这样之后慢慢就折腾少了

1 个赞

谢谢,抄走啦

我没太理解,想像中,比如一个文件叫 foo bar, 打 f 空格 b TAB补全不可以吗

大工程,祝早日完工!

既然有了 TAB 补全,为什么还要用空格做选择呢?应该用方向键 C-n C-p M-n M-p 或者触控板滑动、鼠标滚轮做选择才对啊。

空格就应该是字面意义上的空格,不应该在补全的时候作为选择功能键。