如何ssh到远程服务器并使用本地emacs编辑文件?

如何ssh到远程服务器并使用本地emacs编辑文件?

有没有办法使用本地计算机上安装的 emacs 来访问远程服务器中的远程文件?我用谷歌搜索发现我应该使用流浪模式但是我有必要知道确切的文件路径。有没有办法让我打开到远程服务器的 ssh 连接,并从那里用我的计算机中的本地 emacs 打开文件?

答案1

有多种方法可以做到这一点,但通常你会倒着解决这个问题。将您的 emacs 配置复制到远程计算机,并在您正在编辑的文件中使用本地 emacs。

“执行此操作的各种方法”可分为两类。首先是通过 sshfs、某些熔断文件系统、samba、nfs 或任意数量的其他安装系统等在本地安装远程驱动器的方法,以便对计算机进行文件级访问。其次是各种程序,允许您登录和浏览远程系统,然后通过将文件的副本传输到本地临时文件,编辑它,然后将其传回来操作文件。有几个程序使这个过程看起来非常无缝,但它是一个黑客。

答案2

或者您可以打开 emacs,运行 eshell,然后 cd 到远程计算机,例如:

cd /hostname:~

现在,运行 shell 命令,导航到所需的文件并将其打开:

find-file filename

答案3

我确实认为 Tramp 就是您要找的人。您可以使用 Dired 模式浏览​​远程目录并查找所需的文件。

/etc/例如,如果我正在远程计算机上查找某些文件rem,我会执行以下操作:

  • 打开 emacs
  • 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 键进行编辑。

相关内容