Vim 在远程服务器上编辑文件

Vim 在远程服务器上编辑文件,vim,emacs,ssh,sftp,filezilla,Vim,Emacs,Ssh,Sftp,Filezilla,我想知道在远程linux服务器上编辑文件的最佳方法是什么 我一直在ssh上使用Emacs,效果非常好 但是,我也喜欢将文件复制到本地机器,然后在图形化Emacs应用程序中编辑它们 通过SSH进行编辑或复制文件并在本地进行编辑是否有优点或缺点?使用rsync或SFTP来回复制文件进行编辑是否更好 两全其美:使用sshfs将远程文件系统装载到您的系统中,然后使用常用的本地编辑器。详细描述了如何执行此操作;您可以使用脚本将其自动化,这样就不需要任何努力。两个方面的最佳选择:使用sshfs将远程文件系统

我想知道在远程linux服务器上编辑文件的最佳方法是什么

我一直在ssh上使用Emacs,效果非常好

但是,我也喜欢将文件复制到本地机器,然后在图形化Emacs应用程序中编辑它们


通过SSH进行编辑或复制文件并在本地进行编辑是否有优点或缺点?使用rsync或SFTP来回复制文件进行编辑是否更好

两全其美:使用
sshfs
将远程文件系统装载到您的系统中,然后使用常用的本地编辑器。详细描述了如何执行此操作;您可以使用脚本将其自动化,这样就不需要任何努力。

两个方面的最佳选择:使用
sshfs
将远程文件系统装载到您的系统中,然后使用常用的本地编辑器。详细描述了如何执行此操作;您可以使用脚本将其自动化,这样就不需要任何努力。

Emacs有一个用于这种编辑的内置功能,称为Tramp。像
C-x C-f/ssh一样打开文件:user@host:/path/to/file
。如果
user@
部分与本地用户名是同一字符串,则可以省略该部分。

Emacs有一个用于此类编辑的内置功能,称为Tramp。像
C-x C-f/ssh一样打开文件:user@host:/path/to/file
。如果
user@
部分与您的本地用户名是同一字符串,则可以省略该部分。

从发布的答案中可以看出,有许多不同的方法可以满足您的要求。每种方法都有一些优点和缺点。哪个最适合你取决于你喜欢的工作流程

流浪汉 优势
  • 本地和远程工作之间的良好集成。这是一个完整的emacs,编辑远程文件与处理本地文件没有太大区别
  • 远程编译。您可以进行设置,以便在编译远程文件时,还可以使用其他有助于开发的emacs模式,例如跳到下一个错误
  • 多跳。有时,无法直接连接到远程服务器。您可能需要先登录到bastion主机,然后再登录到目标计算机。Tramp可以使这个过程几乎自动化
  • 易于使用。如果您有带密钥的ssh设置并使用ssh代理,那么访问远程文件与访问本地文件没有什么不同
缺点
  • 需要可靠的internet连接
  • 根据您的本地和远程环境,开始工作可能有点棘手
  • 如果您的工作流程有点复杂,即很难集成远程构建工具,特别是如果它们是非常特定于站点的,则很难获得正确的工作流程
sshfs 优势
  • 如果您的本地机器上有非emacs工具,并且您也希望在文件上使用这些工具,那么这是一个很好的方法
  • 无需对emacs进行任何特殊配置。就emacs而言,这些只是本地文件
缺点
  • 如果您的internet连接不稳定,可能会有点不可靠
  • 有效性在一定程度上取决于远程文件系统
  • 根据其安全政策/程序,您的公司可能不接受
终端中的远程Emacs 优势
  • 如果您配置了远程emacs,这将非常容易
  • 不需要本地配置的emacs,可以在不同的平台上正常工作-只需要一个终端和远程连接
缺点
  • 需要本地和远程emacs配置
  • 有时很难让所有密钥绑定在终端和ssh连接下正常工作
  • 没有GUI支持。访问菜单的方法需要使用绑定到F10的基于文本的菜单,这可能会有问题,具体取决于终端和ssh配置
远程X11 优势
  • 使用X11运行emacs的远程GUI版本

    缺点
  • 可能很慢。确实需要使用X11压缩协议来减少X11流量

  • 需要远程emacs配置设置
  • 需要良好的互联网连接。最好是局域网而不是广域网
远程桌面 优势
  • 只要运行一个rdp客户端,您就会看到远程系统,就像直接登录一样。根据您的平台,有很多选择(可能太多)
  • 如果您只想远程访问您的工作站,即您的owrk系统,该系统完全配置为支持您所需的功能,这将非常棒

    缺点
  • RDP类型的客户端的质量似乎存在相当大的差异。如果您想从Linux过渡到Linux,这很好,但在涉及混合平台时灵活性较低

  • 通常需要远程软件设置来支持rdp类型的会话
我个人的选择是使用流浪汉。我过去经常使用远程X11,但随着emacs下字体变得更加复杂,性能显著下降(特别是在使用字体锁定时)。我还使用了sshfs-sshfs解决方案,当您需要处理整个目录树时,或者当您需要在emacs以外的远程文件组上使用本地工具时,该解决方案非常有效


我对远程文件和希望以其他用户身份访问本地文件时都使用tramp。例如,如果我想访问一个通常需要su/sudo访问的本地配置文件,您可以使用tramp来执行此操作

从发布的答案中可以看出,有许多不同的方法可以满足您的需求。每种方法都有一些优点和缺点。哪个最适合你取决于你喜欢的工作流程

流浪汉 优势
  • 本地和远程工作之间的良好集成。这是一个完整的emacs,编辑远程文件与处理本地文件没有太大区别
  • 远程编译。您可以进行设置,以便在编译远程文件时,还可以使用其他emacs mo