有没有一种方法可以使用安装在本地计算机上的emacs访问远程服务器中的远程文件?我已经用谷歌搜索,发现我应该使用TrampMode,但是我必须知道确切的文件路径。我没有办法打开与远程服务器的ssh连接,然后从那里用计算机中的本地emacs打开文件吗?
有没有一种方法可以使用安装在本地计算机上的emacs访问远程服务器中的远程文件?我已经用谷歌搜索,发现我应该使用TrampMode,但是我必须知道确切的文件路径。我没有办法打开与远程服务器的ssh连接,然后从那里用计算机中的本地emacs打开文件吗?
Answers:
有多种方法可以执行此操作,但是通常情况下,您会向后处理此问题。将您的emacs配置复制到远程机器上,并使用本地emacs编辑您的文件。
“执行此操作的各种方法”将分为两类。首先是通过sshfs,某些保险丝文件系统,samba,nfs或任何其他数量的其他安装系统在本地安装远程驱动器的方法,以使文件级访问您的计算机成为可能。其次是各种程序,它们使您可以登录和浏览远程系统,然后通过将文件的副本传输到本地临时文件,对其进行编辑然后再传输回文件来对其进行操作。几个程序使该过程看起来非常无缝,但这是一个hack。
Tramp
,所以我的“ hack”授权一定不需要适用。我特别在想各种文件管理器程序,这些程序具有菜单项,例如“在编辑器中打开”。尽管这些方法可以使文件打开,但是它们通常在需要复制,修改,复制回文件等方式上比较脆弱。在关闭编辑器之前保存中间文件的过程通常不会向上游推送,这使它们难以使用在文件上。如果您知道解决Tramp
@starcorn 限制的方法,请添加另一个答案!
我确实认为Tramp是您想要的。您可以使用Dired模式浏览远程目录并查找所需的文件。
例如,如果要在/etc/
远程计算机上查找某些文件,rem
请执行以下操作:
C-x C-f
/rem:/etc/
并按Enter。您将获得如下输出:
/ssh:rem:/etc:
total 1460
drwxr-xr-x 141 root root 12288 Aug 12 06:46 .
drwxr-xr-x 23 root root 4096 Jul 18 23:48 ..
drwx------ 6 root root 4096 Nov 17 2009 .bzr
-rw------- 1 root root 749 Jul 18 23:30 .bzrignore
-rwx------ 1 root root 10015 Aug 12 09:17 .etckeeper
drwxr-xr-x 3 root root 4096 Aug 6 00:47 .java
-rw------- 1 root root 0 Nov 17 2009 .pwd.lock
然后,您可以使用例如箭头键找到您要编辑的文件。当光标位于文件上时,按Enter键进行编辑。