3

我通常使用 vim SSH 到另一台计算机进行开发(请不要发布“使用 Emacs”)。但是,我注意到当我的互联网速度很慢时 vim 很慢(duh)。

编辑:我在本地机器上使用终端并使用 vim scp://host/file 命令打开远程文件。但是,当我这样做时,我输入的每一个键都会导致 vim 进入网络,从而大大减慢速度。相反,我希望 vim 读取远程文件,让我进行本地编辑,并且仅在执行 :w 命令时才进入网络。把它想象成一个回写缓存选项。

我知道 Komodo Edit 提供了这个功能,这就是我得到这个想法的地方。

4

6 回答 6

6

您可以像这样在 vim 中直接从 ssh 进行编辑:

:e scp://remoteuser@server.tld//path/to/document

您可以在此 serverfault question中找到更多信息。

于 2009-07-09T12:15:58.307 回答
1

Vim 有一个名为 netrw 的插件(我相信这是最新 vim 的标准配置)。我相信这基本上可以满足您的要求:它允许您通过透明地复制来打开远程服务器上的文件。

请参阅:help netrwVim 脚本页面

于 2009-07-09T12:15:38.603 回答
1

如果你打开 vim scp:/// 并且速度很慢,而且每次击键都有网络流量,那么肯定有问题。Vim 应该只在保存时生成网络流量。

也许你打开了自动保存?如果是 - 为远程文件关闭它,或者至少减少它的侵入性。

于 2009-07-09T12:44:58.847 回答
0

我发现sshfs对此非常有用。它可以通过 sftp 挂载远程目录,然后您可以在本地运行 vim(或其他任何东西)。在当前的 Ubuntu 上,您可以sudo apt-get install sshfs.

于 2009-07-09T12:16:58.840 回答
0

我不知道是否可以在 vim 本身中做到这一点,但如果你使用 Linux,你可能会对sshfs感兴趣。它使用 FUSE(用户空间中的文件系统)通过 ssh 将远程目录挂载到本地目录,然后您可以像在自己的本地计算机上一样使用该远程目录。它非常健壮和可靠(如果您的 ssh 会话已关闭,它将自动重新连接,您可能甚至都不会注意到它......)。

我几乎每天都在使用它,它确实是一款很棒的软件。

于 2009-07-09T12:17:41.070 回答
0

:e scp user@host:/path/file

参见Vim 中的:help netrw和。:help ssh

于 2009-07-09T12:22:09.043 回答