SSHを使用したナビゲーション


10

vim scp://host/path/to/fileローカルでリモートファイルを編集し、保存時にリモートマシンを更新するために使用できることを知っています(:w)。ただし、sshを使用してディレクトリ内を移動できるかどうか(またはそれを行うプラグインがあるかどうか)を知りたい

NERDTreeはそれをサポートしていません。フォルダーに移動すると、netrwを使用してディレクトリにナビゲートできますが、ファイルを開いても機能しません。

回答:


13

Vim / Netrwがファイルを指す代わりに:

scp://host/path/file

それをディレクトリにポイントします:

scp://host/path/

これにより、マシンを参照しているかのように、同じリストと同じショートカットが表示されます。


UnixWindowsマシンのフォルダーにアクセスするためにマシンからリモート処理するときにこれを試したことがあります。試してみたところvim scp://user@10.1.4.4//C:/Users/user/Desktop/tmp/、空白の画面が表示され、'ls' is not recognized as an internal or external command試行したときにエラーが発生しましたvim scp://user@10.1.4.4//C:/Users/user/Desktop/tmp/filename
alpha_989

このことから、リモートコンピュータにログインしたときにvimコマンドを発行しているように見えlsます。また、Windowsコンピュータのため、..がないlsため、コマンドは失敗します。vimがプラグインなどwindowsを使用してssh経由でディレクトリをトラバースすることは可能netrwですか?私が使用していますVIM 8.1
alpha_989

2
これを機能させるscp://host//path/は、後に続くスラッシュが必要であることに注意しください。それ以外の場合、vimはパスを通常のファイルとして開こうとしますが、これは空白でロードされます。
koyae

1

おっと、この質問を開いたことを忘れました!

したがって、問題は、私が持っていた(Debian Jessieのvim-gnomeにパッケージ化された)netrwバージョンでは、エクスプローラーから(sshを介して)ファイルを変更すると、正しいURI(メモリの '@'が ' user @ host 'がありませんでした)。(何も見つからなかったため)空のファイルを開きましたが、適切なURIを使用して新しいファイルを保存しました(元のファイルを事実上上書きしています)。

@ user21497の回答も役に立ちましたが、 ':e'を使用するとローカルでファイルが作成されるため、これは非常に便利です。

最後に、この質問はnetrwを使用してナビゲートするのに役立ちました(:Exを使用してファイルを開いた後にエクスプローラーに戻る)

助けてくれてありがとう!


0

「新しいファイルに通知」の意味がわかりません。新しいファイルを作成する場合は、scp:// hostname / directoryを介して参照するときに、ローカルディレクトリで新しいファイルを作成するときと同じように「%」を押します。:help netrw-%を参照してください。d(:help netrw-d)を使用してディレクトリを作成できます。既存のファイルを変更する場合は、netrwディスプレイのファイル名の上にカーソルを置いてファイルを選択し、を押します<cr>(v、o、tなど、他の選択方法もあります)。この概要については、:help netrw-quickmapを参照してください。私はこれを試しましたが、空のファイルを取得しませんでした(既存の場合)。もちろん、新しいファイルは空になります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.