我与tramp和cygwin-mount有一个奇怪的互动(我想:Emacs: Tab completion of file name appends an extra i:\cygwin)。因此,我想禁用tramp。我无法在明确加载tramp的.emacs中找到任何内容。当我点击查找文件迷你缓冲区中的选项卡时,我可以看到“正在加载tramp ...”。我想弄清楚什么包导致了tramp的加载并禁用它。我该怎么做呢?我试着寻找(需要'tramp)但找不到任何有趣的东西。我能想到的唯一另一个选择是逐一评论我的.emacs中的一些,看看哪一个有用 - 但这是如此蛮力,我想要一个更聪明(更简单)的方式。
答案 0 :(得分:19)
这是一个很棒的问题!如果只是因为我不知道函数(eval-after-load文件格式),它将使您能够编写如下代码并将其放入.emacs文件中:
(eval-after-load "tramp"
'(debug))
以蛮力形式,将在您的窗口中呕吐回溯并揭示有问题的图书馆。
答案 1 :(得分:3)
我想你会发现tramp默认打开了。如果你这样做:
M-x customize-apropos
Customize (regexp): tramp
('Customize(regexp):'是来自emacs的提示)你会看到列出的两个变量(至少我在emacs 23中做过),如:
如果将tramp-mode设置为'off',请保存以备将来的会话,并重新启动emacs tramp应该不再加载。我相信你可以在当前会话中关闭它应该允许你测试这个,但这并不总是适用于自定义变量,虽然它应该与像tramp这样的标准emacs发布的一部分。
我没有安装emacs 22,但类似的东西也适用于此。
答案 2 :(得分:2)
我有一个与流浪汉有类似问题,有一天我发现了 我系统上的“/C:\...\debuglog.txt”。 由于该文件,auto-complete每次都调用tramp 我进入了 ”/”。流浪汉当然是错误的。 自动完成正在调用
(expand-file-name ...)
由于当前的file-name-handler-alist,它正在调用tramp。 我的解决方案是:
(delete-if
(lambda (x)
(or (eq (cdr x) 'tramp-completion-file-name-handler)
(eq (cdr x) 'tramp-file-name-handler)))
file-name-handler-alist)
答案 3 :(得分:1)
用于调试的仪器查找文件和/或检测初始化文件以进行调试。然后你可以逐步完成加载,看看tramp的加载位置。