このコマンド「:e scp://username@host//home/oracle/filename.ksh」を使用して、vim 7.2 でリモート ファイルを編集しようとしています。しかし、「scp: not found」というエラーが表示されます。次に、scp ファイルを home/oracle に配置しました。しかし、それでも同じエラーが発生します。私は何が欠けていますか?
3 に答える
Vim 6.x 以降、netrw プラグインは標準プラグインとしてインストールされます。したがって、ftp、rcp、scp、または http を介してファイルを編集できます。
アクションについてscp
は、次のようにファイルを開くと便利です。
vim scp://remoteuser@server.tld//path/to/document
Vim のヒント ページで多くの情報を入手できます。
OS ソフトウェアの構成に応じて、これを実現するためにヒューズと sshfs を交互に使用できます。
ほとんどのディストリビューションで sshfs としてパッケージ化されているため、ユーザーは (ユーザーのアクセス許可ポリシーに応じて) ローカル ファイルシステムのどこかに ssh の場所を実際にマウントできます。
コマンドは次のようになります (既に sshfs がインストールされていると仮定します)。
sshfs <user>@<host>:<remote_location> <local_path>
例:
sshfs root@test.example.org:/var/www /mnt/sshfsmounts/www
そうすることで、あたかもローカル ファイル システムの一部であるかのように、リモート ファイルを安全に編集できます。
vim /mnt/sshfsmounts/www/index.php
例えば。
ここにいくつかの便利なリンクがあります:
[1] - http://en.wikipedia.org/wiki/SSHFS
[2] - http://fuse.sourceforge.net/sshfs.html
[3] - http://www.linuxjournal.com/article/8904
マウントされた ssh ファイル システムに対するアクセス許可は、sshfs
コマンドで指定されたユーザーに適用されるアクセス許可であり、マウント ポイントのローカル ファイル システムに対するアクセス許可によって完了することに注意してください。これは、基本的に、指定された sshfs ユーザーの下で、マウント ポイントと ssh ホストの両方に書き込みアクセス権が必要であることを意味します。
に ssh しhost
、そこにある vim のコピーを使用してファイルを編集する必要があります。
ssh username@host
vim /home/oracle/filename.ksh
それ以外の場合は、必要に応じて、ファイルをローカル (vim の外部) で scp し、編集してから、ファイルを scp に戻しますhost
。
scp username@host:/home/oracle/filename.ksh .
vim filename.ksh
scp filename.ksh username@host:/home/oracle/