我的项目文件位于远程 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
答案4
如果无法使用 VCS 和本地开发服务器,我认为有三种方法可以实现。
使用 FTP/SFTP 客户端。Mac OS X 上的所有客户端都具有编辑于…按钮或菜单,您可以使用它来在 MacVim 中编辑文件。我经常在一些服务器上这样做,因为出于某种原因,我们无法安装 VCS。我建议美味FTP但也有免费的替代品。
使用 Vim/MacVim 的功能浏览和编辑远程服务器上的文件:
:e scp://[email protected]/path/to/dir/
请参阅
:h netrw
了解更多信息。对我来说,它有点麻烦,但它很实用,而且你永远不必离开你心爱的编辑器。使用已有的 Vim 直接在服务器上编辑文件。虽然失去了一些操作系统集成,但速度却提高了,而且显然可以直接访问服务器的 shell。您可能会觉得缺少插件很不方便,
~/.vimrc
但您可以借此机会练习 Vim 基础知识。