奇怪的Emacs Tramp Fix

时间:2012-12-21 22:24:04

标签: emacs tramp

我正在编辑远程主机上的文件并点击C-x C-s,当Emacs突然冻结时。那天早些时候工作;我在十分钟之前就在同一个会话中从另一个缓冲区保存了。点击C-g将其拉出悬挂状态,但它不会再保存。本地机器是OS X Leopard,远程是FreeBSD 7.4,Emacs是OS X的预编译下载24.1(9.0)。

我做了M-x tramp-cleanup-all-connections并再次尝试。没运气。我尝试了很多东西,包括关闭我的工作站并重新启动emacs。

跳到最后,我在.emacs中更改了以下行:

(setq tramp-verbose 10); had been 3

我想我会以这种方式得到一些好的调试信息。所以我重新启动了,并尝试编辑远程文件,发现我在* debug tramp / ssh ... * buffer中看到了一些内容。

瞧,我能够再次编辑远程文件。

我将tramp-verbose重置为3,重新启动,然后再次暂停。我把它切换回10,一切正常。即使我将tramp-debug-buffer设置为nil,它也能正常工作。

任何人都有任何想法,为什么会这样?真正让我停下来的事情是,经过几个月的无故障编辑后,Emacs突然停止工作。

2 个答案:

答案 0 :(得分:1)

好的tramp-mode很棒,但是当emacs做其他事情时,它有时会引入延迟。两个最大的罪魁祸首是自动保存和vc模式。如果这些开始运行并且您的连接速度很慢,则可能会锁定一段时间。你最好的选择是(setq tramp-verbose 5)并在“冻结”期间看看tramp是什么。

答案 1 :(得分:1)

关注stsquad's warning about auto-save后,我想我会分享禁用自动保存的设置(来自~/.emacs):

;; Tramp (http://www.emacswiki.org/emacs/TrampMode) for remote files
(require 'tramp)
(add-to-list 'tramp-remote-path 'tramp-own-remote-path)
(setq tramp-default-method "ssh")
;; Backup (file~) disabled and auto-save (#file#) locally to prevent delays in editing remote files
(add-to-list 'backup-directory-alist
             (cons tramp-file-name-regexp nil))
(setq tramp-auto-save-directory temporary-file-directory)
(setq tramp-verbose 10)