私の友人は、数日前にEmacsでクールなトリックを見せてくれました。リモートサーバーでファイルを開くだけで、すぐに「vimでもそれを行う方法があるはずだ」と思いました。
私はそれ:e scp://user@server//filepath
を行うために使用するだけで問題ありません;)。ただし、サーバー名を入力するだけで、ファイルのパスと名前(タブ付き)の補完を取得できます。これは私にはできませんでした。誰かがこれがvimでできるかどうか知っていますか?
私の友人は、数日前にEmacsでクールなトリックを見せてくれました。リモートサーバーでファイルを開くだけで、すぐに「vimでもそれを行う方法があるはずだ」と思いました。
私はそれ:e scp://user@server//filepath
を行うために使用するだけで問題ありません;)。ただし、サーバー名を入力するだけで、ファイルのパスと名前(タブ付き)の補完を取得できます。これは私にはできませんでした。誰かがこれがvimでできるかどうか知っていますか?
回答:
はい。ただし、vimのビルトインファイルマネージャーはリモートブラウジングをネイティブにサポートしていないため、現在(2015)はすぐに使用できるわけではありません。。
2016年第3四半期の更新:
さまざまな程度の快適さ/互換性/努力で、いくつかの回避策があります。これらをすべて合わせると、すばらしいソリューションになりますが、すべて個別に使用することもできます。
シェルの初期化ファイルにユーザーレベルafuse
/ sshfs
デーモンを設定します
例えばからの数行のスクリプト.profile
で、例えばディレクトリの下にオンデマンドの自動マウンターをセットアップできます~/scp/
。この統合の詳細は、UnixおよびLinux SEの投稿にあります。これは、最も快適なオプションは、リモートファイルはローカルの「見える」ですが、必要とafuse
し、sshfs
あなたに利用できるようにします。
リモートファイルパスのセットアップシェルコマンドライン補完
bashの完了関数パッケージには、完了のために設計されたいくつかの関数がssh
ありscp
ます。ラッパー関数を使用してvim()
、リモートパスをvim
期待どおりの形式にマングリングし、それらを使用してTABが完成したリモートファイルをに提供できますvim
。このアプローチのマイナーな欠点についても詳しく説明しています。混乱のない状況の場合。bash-completion
インストールする必要があるか、同等であり、他のシェルに適合させる必要があります。
環境を変更できない場合、または.vimrc
-only:vimファイルマネージャでは、// ?キーを使用して前方/後方を検索できTAB、それらの1つにマッピングできます。これは、ファイルシステム内をすばやくナビゲートするためのサウンドよりも強力です。以下の説明。
$HOME
:vim scp://files/
、または/
:vim scp://files///
/
または$HOME
)で開きます。/etc/network/interfaces
NetRWをオンにしてリモートを編集するには/
:
/etENTERENTER/netwENTERENTER/intENTERt
?
上部から折り返すことなく、いつでも上方に検索することができます。
さらに良く、ほぼ模倣 TABするために.vimrc
- 完了追加:
autocmd filetype netrw noremap <buffer> <TAB> /
let g:netrw_liststyle=3
<C-E>
、リモートVExploreのトグルを追加します(使用します)。incsearch
、ignorecase
とsmartcase
netrwのための、またはすべてのバッファ。「従来の」タブ補完と比較すると、上記は異なりますが、非常に快適です。
注:上記のすべては、~/.ssh/config
User、Port、Compression、JumpHostを使用したssh証明書ベースのパスワードレス接続を想定しています(ProxyCommandは、ホスト名/エイリアスのみが必要となるように設定されています。