我在 OSX (Emacs24) 上运行 Emacs,有时我必须在已挂载的 sshfs 卷上编辑文件。但是,Emacs 的 vc 集成(特别是 git)在 sshfs 挂载上的速度真的很慢。
我想选择性地禁用 vc-mode,无论是在配置中还是使用 .dir-locals.el。我该怎么做?
答案1
答案2
我会尝试修改变量vc-处理后端我的 Emacs 版本描述为:
vc-handled-backends 是定义在 `vc-hooks.el' 中的变量,其值为 (RCS CVS SVN SCCS Bzr Git Hg Mtn Arch)
文档:将使用 VC 的版本控制后端列表。将尝试此列表中的条目以确定文件是否处于此类版本控制之下。从列表中删除条目可防止在访问由该后端管理的文件时激活 VC。空列表将完全禁用 VC。
您可以自定义这个变量。
在 Emacs 23.1 版本中引入了此变量,或者更改了其默认值。
答案3
我认为写周围建议为vc-git-registered
(甚至vc-registered
或vc-find-file-hook
)将是最好的行动方案。
在那里,您可以检查文件路径或通过设置的某些变量的值.dir-locals.el
。
答案4
(setq vc-ignore-dir-regexp
(format "\\(%s\\)\\|\\(%s\\)"
vc-ignore-dir-regexp
tramp-file-name-regexp))
假设你在上面安装了一些东西,/tmp/mnt
应该可以通过附加另一行格式\\|\\(%s\\)
并添加到/tmp/mnt/*
字符串列表中来实现
(setq vc-ignore-dir-regexp (format "\\(%s\\)\\|\\(%s\\)\\|\\(%s\\)"
vc-ignore-dir-regexp
tramp-file-name-regexp
"/tmp/mnt/*"))