リモートファイルのファイル名補完


16

私の友人は、数日前にEmacsでクールなトリックを見せてくれました。リモートサーバーでファイルを開くだけで、すぐに「vimでもそれを行う方法があるはずだ」と思いました。

私はそれ:e scp://user@server//filepathを行うために使用するだけで問題ありません;)。ただし、サーバー名を入力するだけで、ファイルのパスと名前(タブ付き)の補完を取得できます。これは私にはできませんでした。誰かがこれがvimでできるかどうか知っていますか?


1
ctrlpはそれをサポートするかもしれませんが...どうやらそれは機能要求です。
ムル

回答:


6

はい。ただし、vimのビルトインファイルマネージャーはリモートブラウジングをネイティブにサポートしていないため、現在(2015)はすぐに使用できるわけではありません。。

2016年第3四半期の更新:

さまざまな程度の快適さ/互換性/努力で、いくつかの回避策があります。これらをすべて合わせると、すばらしいソリューションになりますが、すべて個別に使用することもできます。

環境を変更できない場合、または.vimrc-only:vimファイルマネージャでは、// ?キーを使用して前方/後方を検索できTAB、それらの1つにマッピングできます。これは、ファイルシステム内をすばやくナビゲートするためのサウンドよりも強力です。以下の説明。

基本的な回避策(NetRWを使用した標準vimの場合):

  • vimにリモートファイルを指定しないでください
  • 「トップ」にあるディレクトリをポイントします。例$HOMEvim scp://files/、または/vim scp://files///
  • NetRWプラグインは、必要な最上位フォルダー(/または$HOME)で開きます。
  • NetRWでは、驚くほど少ないキーストロークでナビゲートできます。
  • /etc/network/interfacesNetRWをオンにしてリモートを編集するには/

    /etENTERENTER/netwENTERENTER/intENTERt

?上部から折り返すことなく、いつでも上方に検索することができます。

さらに良くほぼ模倣 TABするために.vimrc- 完了追加:

「従来の」タブ補完と比較すると、上記は異なりますが、非常に快適です。

注:上記のすべては、~/.ssh/configUser、Port、Compression、JumpHostを使用したssh証明書ベースのパスワードレス接続を想定しています(ProxyCommandは、ホスト名/エイリアスのみが必要となるように設定されています。

これについては、ここここでオフサイト説明済み です。


1
リンクを要約することでトリックを拡張できますか?サイトがダウンしたり死んだりする場合、プレーンリンクはあまり役に立ちません。
ムル

NetRWがネイティブにこれを行えるようになるまで、これは多かれ少なかれ私の最終的な「解決策」だと思います。残りの既知の問題は引き続き処理しますが、より微妙なバグ、修正、および機能強化を見つける(または指摘する)ことを期待しています。それらはアドレス指定/組み込みされます。コメントしていただきありがとうございます。
アレックスストラジェス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.