5

私はこれを試したことがありませんが、ここで説明するように、vimでファイルをリモートで編集することは明らかに可能です。私の特定のケースでは、アクセスする必要のあるサーバーにはキャンパス内からのみアクセスできるため、次のように大学のアカウントにログインする必要があります。

ssh user@login.university.com

次に、そこから次のように安全なサーバーにログインします。

ssh user@secure.university.com

キーレスsshを設定しているので、次のようにプロセスを自動化できます。

ssh user@login.university.com -t "ssh user@secure.university.com"

secure.university.com/user/foo.txtローカルマシンなどでファイルをリモート編集する方法はありますか?

編集:

私の意図は、ローカルマシンでvimを使用することです。これは実用的ではなく(移動.vim folder、コピー.vimrc)、場合によっては(特定の設定でvimを再コンパイルし、vimソースにパッチを適用し、言語ビューティファイアをインストールする)、リモートマシンでvimを動作させることができないためです。動作させたい。私が欲しいのはこのようなものを発行することです(これは正確なscpではありません、私は知っています)

vim scp://user@login.university.com scp://user@secure.university.com//home/user/foo.txt
4

3 に答える 3

4

少し回避した後、私はそれを理解しました。まず、ここで.ssh/config説明するようにファイルを編集(または作成)する必要があります。この目的のために、基本的にプロキシを追加するこのような行を追加します。

Host secure
  User          Julius
  HostName      secure.university.com
  ProxyCommand  ssh Tiberius@login.university.com nc %h %p 2> /dev/null

scp次に、ファイルsecure.university.com:/home/Julius/fee/fie/fo/fum.txtを(経由で)ローカルコンピュータにコピーするだけです。

scp secure:/home/Julius/fee/fie/fo/fum.txt fum.txt

これを拡張して、次のようにリモートでvimにロードできます。

vim scp://secure//home/Julius/fee/fie/fo/fum.txt

またはbaddそのように使用する:

:badd scp://secure//home/Julius/fee/fie/fo/fum.txt

私の生活を簡素化するため.vimrcに、最も一般的に使用されるサブフォルダーのファイルにこのショートカットを追加しました。

nnoremap <leader>scp :badd scp://secure//home/Julius/fee/fie/fo/fum.txt

これまでのところ、vimはこれがリモートファイルであることをかなり認識していることが証明されているため、Cファイルに次のようなファイルが含まれている場合:

#include "foo.h"

「foo.h」が欠落していると文句を言うことはありません

于 2012-09-18T05:44:24.863 に答える
0

マシンでSSHを使用すると、シェルのリモートホストで任意のコマンド(vimも)を実行できます。ログに記録した後、マシンで実行しているときにvimを実行します。

于 2012-09-18T02:48:09.720 に答える
0

sshを使用しているため、基本的には、マシン自体の前に座っているかのように、CLIを介してサーバーにアクセスできます。そうは言っても、自分のマシンで使用するのと同じように、そのマシンで任意のプログラムを使用できます。がセキュアサーバー上の場所にsecure.university.com/user/foo.txt呼び出されたテキストファイルがあることを意味すると仮定すると、sshを介してログインした後、次のコマンドが機能します。foo.txt/user

cd /user
vim foo.txt

また、マシンにインストールされているnanoまたはその他のCLIベースのエディターを使用することもできます。

于 2012-09-18T02:50:55.387 に答える