FTPサーバー上にあるvimでリモートファイルを編集する必要があります。 SSHまたはSFTPアクセスはありません。 FTPだけ。 curlftpfsを介して同期しようとしましたが、ファイルはローカルディレクトリに表示されましたが、それらに書き込むことができず、あらゆる種類のエラーが発生し、ランダムな末尾のファイルを書き込むことができた場合、サーバーで生成されます。 index.phpは、サーバーにindex.phz、index.phyなどとして書き込みます。
崇高なテキスト2をインストールしましたが、グラフィックカード用の新しいドライバーをインストールした後は実行できなくなりました。 WINEでn ++も試しましたが、より深いディレクトリレベルにあるFTPファイルを開くことができませんでした。
FTP上のファイルを編集するためのvimにはさまざまなアプローチがあるのを見てきましたが、どれも:e http:// [user @] machine/path (netrwプラグインを使用)のように入力する必要があります。相対的なマッピングを設定するのではなく、いかなる種類の繰り返しも避けたいと思います。 vimの開発者ツールのほとんどが、sublimeとnppですでに簡単な方法で解決されているため、vimの解決策がないのは不思議です。同じホスト名/パスなどで入力すると、単純なDRYの原則が破られます。
理想的には、同期ツールを使用してファイルをローカルにキャッシュし、vimがファイルに書き込んだ直後にパスをローカル->リモートにマッピングしてftpにアップロードするか、アップロードコマンドなどを発行します(開いているファイルを入力する必要はありません)毎回)。サーバーにはたくさんのファイルがあるので、それらを記憶することはできません。ファイルにすばやくアクセスして簡単なコマンドでアップロードできるように、ファイルをローカルにキャッシュしておくことが重要です。
Slackware 13.37x64を実行しています
Netrwを使用して、リモートディレクトリのコンテンツを次のように表示できます。
:e ftp://[email protected]/ <-- note the slash at the end.
そこから、P
を使用して別のウィンドウで、または<CR>
を使用して現在のウィンドウでファイルを開くことができます。
ファイルリストを失っても慌てる必要はありません。ファイルリストはまだ残っているので、:Rex
で元に戻すことができます。
または、FilezillaやgFTPなどのGUIFTPクライアントとその「編集…」機能を使用するだけです。
相対ファイル名を単純に使用することはできませんが(ローカル作業ディレクトリが異なるため)、filename-modifiersを使用してファイルを相対的に参照できます。
:edit %:h/another.html
私はあなたが苦痛を感じます、私はvimを使うのが大好きです、そしてftpクライアントで、それはあなたがsshを持っているようです。私が使用するワークフローは
:e ftp://username@server/
を使用してftpサーバーにログインします:tab split
:tabn
:wq
を閉じます。これが最も効果的であることがわかりました。
Vimのタブは素晴らしく、多数のファイルを保存でき、同じセッションで開いているファイル間のy
行をヤンクしてd
行を削除することもできます。とてもかっこいい。
Vim _ftp://hostname/path/
_を使用すると、ディレクトリリストが表示されます。このホストを頻繁に使用する場合は、ブックマークを付けることをお勧めします。 netrw v153jでは、:NetrwMB filename(s)
;を使用できます。 mbを使用して、現在のディレクトリをブックマークできます。 qb
を使用して、現在のブックマーク(および履歴)を一覧表示できます。ブックマークなどはgvimのメニューからも利用できます。ブックマークに移動するには、gb
を使用します。
したがって、ディレクトリをブックマークし、_:Rex
_またはgb
を介してディレクトリリストに戻り、リストされているファイルを編集することをお勧めします。