Je dois éditer des fichiers distants avec vim, qui se trouvent sur un serveur FTP. Il n'y a pas d'accès SSH ou SFTP. Juste FTP. J'ai essayé de synchroniser via curlftpfs, les fichiers sont apparus dans un répertoire local, mais je ne peux pas leur écrire, je reçois toutes sortes d'erreurs et, lorsque j'arrive à écrire des fichiers avec des terminaisons aléatoires, ils sont générés sur le serveur. index.php écrit sur le serveur en tant qu'index.phz, index.phy, etc ...
J'avais le texte sublime 2 installé mais je ne peux plus l'exécuter après avoir installé de nouveaux pilotes pour ma carte graphique. J'ai également essayé n ++ avec WINE, mais je n'ai pas eu la chance d'ouvrir des fichiers FTP situés à un niveau de répertoire plus profond.
J'ai vu qu'il existe différentes approches avec vim pour éditer des fichiers sur le FTP, mais chacune d'entre elles nécessite une saisie de type: e http: // [utilisateur @] ordinateur / chemin (avec le plugin netrw). Je voudrais vraiment éviter toute sorte de répétition, plutôt que de mettre en place une cartographie relative. Il est étrange qu’il n’y ait pas de solution pour vim car c’est un outil de développement pour la plupart, sublime et npp l’a déjà résolu de manière simple. taper sur et sur le même nom d’hôte / chemin, etc. casserait un principe simple de DRY.
Idealy serait si je pouvais mettre en cache les fichiers localement avec un outil de synchronisation, et les télécharger sur ftp en mappant le chemin local -> distant, juste après que vim écrit dans un fichier, ou si j'émettais une commande de téléchargement, etc. (sans avoir à taper le fichier ouvert à chaque fois). Il y a beaucoup de fichiers sur le serveur, donc je ne peux pas les mémoriser. Il est important pour moi de les mettre en cache localement pour pouvoir y accéder rapidement et les télécharger à l'aide d'une simple commande.
J'exécute Slackware 13.37 x64
"/usr/bin/gvim" --servername filezilla --remote-tab
.Bien que vous ne puissiez pas utiliser simplement les noms de fichiers relatifs (car le répertoire de travail local est différent), vous pouvez utiliser les modificateurs de nom de fichier pour faire référence aux fichiers de manière relative:
la source
Je ressens votre douleur, j'adore utiliser vim et, avec le client FTP, c'est presque comme si vous aviez SSH. Le flux de travail que j'utilise est
:e ftp://username@server/
:tab split
:tabn
:wq
J'ai trouvé que cela fonctionne le mieux.
Les onglets dans Vim sont excellents, ils peuvent vous permettre d’avoir un certain nombre de fichiers et vous pouvez même tirer
y
et supprimer desd
lignes entre des fichiers ouverts dans la même session. Très sympa.la source
Si vous utilisez vim,
ftp://hostname/path/
vous obtiendrez une liste de répertoires. Si vous travaillez souvent avec cet hôte, vous voudrez peut-être le marquer d'un signet. Avec netrw v153j, vous pouvez utiliser:NetrwMB filename(s)
; vous pouvez utiliser mb pour ajouter un signet au répertoire actuel; et vous pouvez utiliserqb
pour répertorier les signets actuels (et leur historique). Les signets et autres sont également disponibles via le menu avec gvim. Pour aller à un signet, utilisezgb
.Donc, je vous suggère de marquer le répertoire, de revenir à la liste de répertoires via
:Rex
ougb
et d’éditer les fichiers ainsi répertoriés.la source
Je sais que cela est ancien, mais une autre option consiste à utiliser, par exemple, curlftpfs ( compilation Slackware ici ) pour monter le serveur FTP sur un point de montage, puis à utiliser votre éditeur de texte local.
la source