在远程SWANK上的SLIME repl上,输入:
(打开“〜/
然后点击TAB
这会在我的本地文件系统上显示一个带有自动完成的缓冲区。有人知道如何让它显示远程系统上的文件吗?
目前我的.emacs看起来像这样:
(load (expand-file-name "~/quicklisp/slime-helper.el"))
(setq inferior-lisp-program "sbcl")
(require 'slime)
(slime-setup '(slime-fancy slime-tramp slime-asdf))
(slime-require :swank-listener-hooks)
(push (slime-create-filename-translator :machine-instance "ws1"
:remote-host "ws1"
:username "myusername")
slime-filename-translations)
我一直在谷歌搜索和尝试随机的东西,任何帮助非常感谢!
答案 0 :(得分:1)
您需要提供函数slime-maybe-complete-as-filename
的新实现。它的默认实现调用Emacs函数comint-replace-by-expanded-filename
。
此问题的最通用解决方案是查询远程Lisp以获取文件系统数据。编写一个简单地通过TRAMP连接将完成重定向到远程系统的函数可能会更容易。