繁体   English   中英

在挂起/恢复后,Emacs Tramp挂起保存并打开当前缓冲区

[英]Emacs Tramp hangs on saving & opening a current buffer after suspend/resume

在Ubuntu 12.10上运行带有Tramp(2.2.6-24.3)的Emacs(24.3.1)时,我将通过Tramp打开一堆远程文件,例如:

m-x find-file: /scp:user@example.com:~/file.txt

在我的笔记本电脑上暂停/恢复循环后,我将回到Emacs并开始在开放缓冲区中工作。 一旦我保存或它自动保存冻结,并将显示“args超出范围(000 - 000)”(此消息来自内存,零表示它显示将在下次我得到它时编辑的数字)错误而不是保存。 任何后续尝试都会挂起。

此外,我无法在find-file中使用相同的协议打开任何其他文件,如上面'scp'的情况。

我发现的一些解决方法是首先删除〜/ .emacs.d / tramp文件,它有时会起作用,有时候在多个暂停/恢复循环后它不存在。

另一种解决方法是在打开文件时使用其他协议,因此在上面的find-file行中我会使用'ssh'或'scpc'。 这仅用于打开新缓冲区,而不是用于保存当前缓冲区,因此我通常会关闭文件的缓冲区,然后使用我提到的不同协议重新打开它。

有什么建议?

我没有看到“args超出范围”错误,但是当我在连接中断后挂起时,我已成功通过杀死协议/主机的Tramp缓冲区。 它通常被命名为*tramp/scpc hostname* 需要通信的文件缓冲区上的下一个操作将重新建立连接。

使用ido-switch-buffer非常简单,因为你可以在迷你缓冲区中完成所有操作 - 输入几个字母来查找Tramp缓冲区,使用Ck来杀死它。


重置连接的另一种方法(也许更清晰)是使用“Mx tramp-cleanup-this-connection”:

tramp-cleanup-this-connection是`tramp-cmds.el'中的交互式自动加载编译的Lisp函数。

(流浪汉-清理-此连接)

刷新当前缓冲区连接的所有连接相关对象。

另请参阅“Mx tramp-cleanup-all-connections”和“Mx tramp-cleanup-all-buffers”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM