考虑到目前在Windows上使用Emacs更频繁,另外希望自己的配置逐渐化繁为简,尽可能直接使用Emacs自带的功能,又因为Magit这个神器还是没法让人比较愉快地在Windows上用(WSL的方案例外,注意一下),所以目光转向了vc,但是关于这个工具的介绍似乎也不算多,想问一下社区里的各位,在用vc做版本控制操作的,这个工具是否需要增加更多配置,还是直接用默认的就好?
从来没用过啊哈哈哈,自从用了 emacs 就是一直用的 magit
vc 只是一堆 API 吧,没有像 magit 这样有序的整合。
1 个赞
我之前也有和你一样的想法,因为我 Windows 用的比较多。
还认真地去试用了下 vc,习惯了 magit 后真用不了 vc。宁愿用慢点的 magit 也不想用 vc。
1 个赞
我个人过去比较习惯直接命令行,magit在windows上的表现实在是让人感觉过于沮丧了
2 个赞
命令行我也常用。
啥时候 magit 能支持 libgit2 估计才能提高体验。
其实 Git 在 Windows 上本身就慢,也不全是 magit 的问题。
是的,还是 magit 体验好。 如果要性能好,直接去用命令行就好了。
如果只用git,不用其他版本控制工具,可以加个:
(setq vc-handled-backends '(Git))
避免不必要的库加载
在dired里,用vc的接口灰度显示.gitignore的文件
虽然不是很切题,这个挺有用也贴一下:
(defun dired-dim-git-ignores ()
"Dim out .gitignore contents, folder/glob not handled"
(require 'vc)
(when-let ((ignores (vc-default-ignore-completion-table 'git ".gitignore"))
(exts (make-local-variable 'completion-ignored-extensions)))
(dolist (item ignores) (add-to-list exts item))))
(add-hook 'dired-mode-hook #'dired-dim-git-ignores)
1 个赞
vc 更简单,速度更快,功能当然也更少。对于git,日常使用C-x v v
就足够了。要高级功能还是只能用magit,毕竟vc是通用的。
1 个赞
windows下开native compile的magit感觉挺好用的啊,速度非常快
这个是不是对magit也有效?
在windows上使用magit很慢,主要是慢在对git的系统调用上,为此找到了两个思路:
好像是吧,magit有(require 'vc)
magit 里只有 (require 'vc-git)
,而且是编译和命令触发才会加载。应该没什么影响
vc 用了几天就放弃了,相比 magit 体验差太多了,有两个函数比较好用,一直在我配置中留下来了
- vc-revert
- vc-ignore