2009-07-09 6 views
3

私は通常、vimを使って自分の開発を行うために別のコンピュータにsshします( "Use Emacs"を投稿しないでください)。しかし、私はvimが非常に遅い私のインターネットが遅い(デュ)に気付いた。実際のファイルの代わりにファイルのキャッシュ上でvimの作業を使用する方法はありますか?

EDIT: ローカルマシンのターミナルを使用して、リモートファイルをvim scp:// host/fileコマンドで開きます。しかし、私がこれを行うと、私が入れたすべてのキーストロークはvimをネットワークに送り、物事を劇的に減速させます。代わりに、私はvimにリモートファイルを読ませ、私のローカル編集をさせ、w:wコマンドを実行するときにだけネットワークに行きます。ライトバックキャッシュオプションのように考えてください。

私はKomodo Editがこの機能を提供していることを知っています。これは私が考えを得た場所です。

+0

私はこの質問に混乱しています。ターミナル内でvimを実行している場合、vimはリモートマシン上で動作しています。接続が遅い場合は、vimで何をしているのかは関係ありません。遅くなるでしょう。リモートファイルを編集するローカルのvim実行可能ファイルについて話しているのであれば、その質問を明確にする必要があります。 –

答えて

6

を参照してください:

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

あなたはthis serverfault questionでより多くの情報を見つけることができます。

+2

大きなファイルでは 'scp://'が遅くなるので 'rsync://'を追加したかっただけです – Hasturkun

+2

これはnetrwプラグインによって実現されます。以前のバージョンのvimではこれを手動でインストールする必要がありました。これは、お使いのPCにどのアプリケーションがインストールされているかを制御できない場合に関係します。 – DrAl

1

Vimにはnetrwというプラグインがあります(これは最近のvimでは標準であると思います)。これは基本的に私が信じたいものです。リモートサーバー上のファイルを透過的にコピーして開くことができます。

は、あなたがこのようなvimの中で直接にsshから編集することができ:help netrwThe Vim Script page

0

sshfsが非常に役に立ちます。それはsftp上にリモートディレクトリをマウントすることができ、次にvim(または他のもの)をローカルで実行することができます。現在のUbuntuでは、あなたはsudo apt-get install sshfsです。

0

vim自体では可能かどうか分かりませんが、Linuxを使用している場合はsshfsに興味があります。 FUSE(Filesystem in Userspace)を使用して、sshを使用してリモートディレクトリをローカルディレクトリにマウントします。このリモートディレクトリは、ローカルコンピュータ上にあるかのように使用できます。それは非常に堅牢で信頼性があります(あなたのsshセッションが閉じていると、自動的に再接続し、気付かないかもしれません...)。

私はほとんど毎日それを使用しています。本当に素晴らしいソフトウェアです。

0

:e scp [email protected]:/path/file

Vimの中で:help netrw:help sshを参照してください。

1

vim scp:///を開き、速度が遅く、すべてのキーストロークにネットワークトラフィックがある場合、間違いが間違っています。 Vimは保存時にのみネットワークトラフィックを生成する必要があります。

おそらく自動保存機能がオンになっていますか?はいの場合 - リモートファイルの場合は無効にするか、少なくとも侵入しないようにします。

+0

どのように自動保存をオフにしますか? – ftrotter

+0

':help autosave'は" noautosave "を示唆しています。 –

関連する問題