是否可以通过 ssh 在远程服务器上运行 vim 但在我的笔记本电脑上的 MacVim 上显示 UI?

是否可以通过 ssh 在远程服务器上运行 vim 但在我的笔记本电脑上的 MacVim 上显示 UI?

我的项目文件位于远程 Linux 服务器上。该项目可能非常大。使用 vim 时,我需要在项目中查找文件。如果我使用 sshfs 将远程文件系统挂载到本地计算机上,查找文件会非常慢。所以我必须在远程服务器上运行 vim。但我想使用在本地计算机上运行的 MacVim。是否可以在远程服务器上运行 vim,通过 ssh 将控制台和命令发送到我的本地计算机,以便 MacVim 可以显示从远程发送的所有内容?

答案1

没有客户端和服务器分离,就像Emacs,因此如果无法进行远程文件系统访问,则必须在远程系统上启动 Vim。这可以是通过 Mac OS 终端应用程序启动控制台 Vim,或者(如果您正在运行 X 服务器),您可以ssh -Y(X11 转发)并在本地系统上显示远程 GVIM 实例。它将是基于 Gnome 的 Linux GVIM,而不是 MacVim,但功能非常相似。

答案2

我遇到了同样的问题,放弃了 SSHFS。它很慢,有点问题,而且像你一样,我在 git 和 find 等操作上遇到了麻烦。我很高兴做以下事情:

# checkout my repo locally:
git clone <path to repo> <dirname>

# open vim edit edit edit
#...
#...

# use rsync to keep everything in sync (except my git files):
cd ..
rsync -avOz --exclude=.git/ <dirname>/ <remote host name>:<remote project dir>/

你可以使用某种文件修改监视实用程序在文件更改时自动启动 rsync,但我还没有找到适合我的解决方案......

我一直在考虑的另一个想法是:将我的 dotvim 文件保存在 github 中,以便我可以远程检查它们(我的 dotvim)并使用莫什以获得更加灵敏的编辑体验。

答案3

另一个选择是切换到新病毒. Neovim 可以在服务器模式下启动并监听给定的地址。 图形用户界面客户端在 macOS 上运行的可以连接到远程运行的实例。

您可以在我的博客中找到详细的操作方法:

https://ddanilov.me/the-switch-from-vim/

答案4

如果无法使用 VCS 和本地开发服务器,我认为有三种方法可以实现。

  1. 使用 FTP/SFTP 客户端。Mac OS X 上的所有客户端都具有编辑于…按钮或菜单,您可以使用它来在 MacVim 中编辑文件。我经常在一些服务器上这样做,因为出于某种原因,我们无法安装 VCS。我建议美味FTP但也有免费的替代品。

  2. 使用 Vim/MacVim 的功能浏览和编辑远程服务器上的文件:

    :e scp://[email protected]/path/to/dir/
    

    请参阅:h netrw了解更多信息。对我来说,它有点麻烦,但它很实用,而且你永远不必离开你心爱的编辑器。

  3. 使用已有的 Vim 直接在服务器上编辑文件。虽然失去了一些操作系统集成,但速度却提高了,而且显然可以直接访问服务器的 shell。您可能会觉得缺少插件很不方便,~/.vimrc但您可以借此机会练习 Vim 基础知识。

相关内容