2009-03-05 10 views
5

私は現在、コードを編集するためにvimをtelnetウィンドウで使っています(非常に古い学校!)。多くのソースコード(主にC言語)があるので、タグ、cscopeなどを使って回避します。これまでは問題ありませんが、ネットワークの待ち時間によってすべてのキーストロークが「遅く」なる可能性があります。これはあまり良くありません。ネットワーク上でのgvimの効果的な使用

私は私のWindows PC(またはこれを実行するように設定することができる任意のエディタ)の上gvimを使用したい:(すでにこれを行うことができますgvimを)FTP経由でリモートから

  1. 編集ファイル
  2. ローカルまたはサーバーに保存されているTAGSファイルを使用します(おそらく、サーバーでファイルを使用する方が効率的です。ファイルをすべてダウンロードする必要はありません)。私はファイルを生成して、私のローカルマシン上の適切な場所にFTPしていると思うでしょう。
  3. シェルコマンドは、サーバー上のファイルのディレクトリ(make、各種スクリプトなど)にあるかのように実行します。私はマシンへのsshアクセスを持っているので、これは問題ではないと思う。

私は少しvimscriptに精通していますので、少し接着しても構いません。私はこれまでこれをやりたかった唯一の人ではないと思ったので、ここで尋ねる。

私が言ったように - この "組み込み"を持つまともなエディタがあれば、私は気にしません!

答えて

6

また、SSHを使ってvimでファイルをリモートで編集することもできます。

その後、
:e scp://remote.host.com/project/file 

し、リモートで作る呼び出すためにSSHを使用します。

:!ssh remote.host.com '(cd project; make)' 

ctagsの

ctagsのリモートでを使用するためには、私はリモートでタグファイルを作成し、コピーしますそれをローカルマシンに追加し、scp://remote.host.com/project/をt内の各ファイル名に追加します彼はファイルにタグを付けます。これを行うには、

:%s#^\(\w\+\)\t#\1\tscp://remote.host.com/project/# 

タグファイルを使用します。 リモートファイルを操作するときは、タグファイルのローカル(変更された)バージョンを参照するために ':set tags = local_ctags/tags'を使用します。

2

'tags'オプションは、Vimがこのオプションでftp://またはscp://パスを許可するかどうかはわかりませんが、VimにTAGSファイルを探す場所を指示します。

あなたは:!ssh ...

を使用して、サーバー上でコマンドを実行することができますしかし、あなたはローカルのソース管理システムの一つ、ファイルで作業を使用して、サーバー上で更新されたファイルを配置する方が良いだろうとは思いませんか?

2

どのようにリモートディレクトリlocalyをマウントしますか? SMB共有、NFSマウント、またはWindows用のSSHファイルシステム(sshfs)に相当するものをエクスポートすることができます。

+0

これはかなり良いアイデアです - 唯一の欠点は、私のローカルマシンではなくサーバー上でプログラムを実行したいということです。おそらく何らかのsshハッキングが必要になるでしょう。 –

+0

Ehmm ..ここに提案されている他の解決策もこの問題を抱えています。 – kyku