質問
私は現在、コードを編集するためにtelnetウィンドウでvimを使用しています(非常に古い学校です!)。多くのソースコード(主にC)があるため、タグ、cscopeなどを使用して移動します。限り、これは問題ありませんが、ネットワーク遅延により、すべてのキーストロークが「遅延」する可能性があり、あまり良くありません!
Windows PC(またはこれを行うように設定できる任意のエディター)でgvimを使用したい:
- FTP経由でリモートでファイルを編集します(gvimはすでにこれを実行できます)
- ローカルまたはサーバーに保存されているTAGSファイルを使用します(サーバー上で使用する方が効率的である場合、すべてのファイルをFTPでダウンロードする必要はありません)。ファイルを生成してから、ローカルマシンの適切な場所へのFTP接続は問題ないと思います。
- サーバー上のファイルのディレクトリにいるかのようにシェルコマンドを実行します(make、さまざまなスクリプトなど)。マシンにsshでアクセスできるので、これが問題になるとは思いません。
私はvimscriptに少し精通しているので、少しのり付けをしてもかまいません。これをやりたかったのは私だけではないだろうと思ったので、ここで質問します。
私が言ったように-この「組み込み」を備えたまともなエディターがあれば、切り替えても構いません!
解決
SSHを使用して、vimでファイルをリモートで編集することもできます。
:e scp://remote.host.com/project/file
そして、SSHを使用してリモートでmakeを呼び出します:
:!ssh remote.host.com '(cd project; make)'
ctags
リモートで ctags を使用するには、 tags ファイルをリモートで作成してローカルマシンにコピーし、 scp://remote.hostを追加します.com / project / をタグファイルの各ファイル名に追加します。次のような方法でこれを行うことができます
:%s#^\(\w\+\)\t#\1\tscp://remote.host.com/project/#
タグファイル。 次に、リモートファイルで作業する場合、 ':set tags = local_ctags / tags'を使用して、タグファイルのローカル(変更済み)バージョンを参照します。
他のヒント
'tags'オプションはVGSにTAGSファイルを探す場所を指示しますが、Vimがこのオプションでftp://またはscp://パスを許可するかどうかはわかりません。
:! ssh ...
しかし、ソース管理システムのいずれかを使用し、ローカルでファイルを操作し、更新されたファイルをサーバーに配置する方が良いと思いませんか?
リモートディレクトリのローカルマウントについてはどうですか? SMB共有、NFSマウントとしてエクスポートするか、Windowsで使用可能なSSHファイルシステム(sshfs)に相当するものがいくつかあります。