10

/multi 曾经为我工作,现在它消失了,我很沮丧。

我想做的是,在我的梦想世界里:

/myuser@remotehost:sudo:anotheruser:/some/path/to/file

...并有 ido 模式的工作。

这里的关键是 'myuser'、'remotehost' 和 'anotheruser' 都是非常临时的,我使用大量的远程主机,通常有不同的用户和 sudo-ing 到范围广泛的不同用户。

我需要添加什么以及如何在不一遍又一遍地重新加载 emacs 的情况下对其进行测试?

4

2 回答 2

9

截至本次提交,TRAMP 再次支持 ad-hoc 多跳。

粗略地说,您可以这样使用它:

/ssh:transituser@remotehost|sudo:user@remotehost:/some/file

我还没有让它可靠地工作ido-mode,这很遗憾,但总比没有好!:-)

于 2012-10-08T07:00:11.463 回答
0

以下代码可能会有所帮助:

  (defun find-file-as-root ()
    "Find a file as root."
    (interactive)
    (let* ((parsed (when (tramp-tramp-file-p default-directory)
                     (coerce (tramp-dissect-file-name default-directory)
                             'list)))
           (default-directory
             (if parsed
                 (apply 'tramp-make-tramp-file-name
                        (append '("sudo" "root") (cddr parsed)))
               (tramp-make-tramp-file-name "sudo" "root" "localhost"
                                           default-directory))))
      (call-interactively 'find-file)))

我在我的 .emacs 文件中有它,它似乎来自这里:http ://atomized.org/2011/01/toggle-between-root-non-root-in-emacs-with-tramp/

我没有广泛使用它,但似乎这是朝着正确方向迈出的一步。

于 2011-12-19T19:32:14.940 回答