10
votes

Modifier de manière transparente des fichiers distants sous Windows, avec SSH / PUTTY et NETRW

OK les gars, peut-être que celui-ci a été demandé auparavant, mais j'ai cherché et que Ran ne jetait rien, je prends une chance ici.

J'utilise le dernier VIM (GVIM 7.3), sur Windows 7 64bits . P>

J'ai des fichiers distants que je veux modifier directement avec VIM, en utilisant NETRW. P>

En ce moment, j'ai une connexion SSH transparente entièrement fonctionnelle à ma télécommande Hôtes, grâce aux touches Putay, Pageant et Public / Private. P>

J'ai configuré avec succès un accès en lecture / écriture à des fichiers distants avec ces correctifs: P>

C:\Windows\system32\cmd.exe /c c:\"Program Files (x86)"\PuTTY\pscp.exe -q -batch
 -P 22 "C:\Users\me\AppData\Local\Temp\VIF215E.tmp" "user@host:/home/me/some-file.txt"
Hit any key to close this window...

vim

3 commentaires

Je suppose que Samba n'est pas une option?


Eh bien, il pourrait s'agir d'une option, mais je souhaite modifier des fichiers sur un serveur Web en direct (je sais, ne pas-édition-edit-edit-e-live-environnement ...). Donc, moins je le chargez mieux. Ssh sonna comme une solution propre, mais je commence à me demander ... Pour l'instant, je suis coincé avec un projet NetBeans 6.9 "Remote / SFTP", qui fonctionne bien, mais il ne sera jamais aussi rapide et amusant qu'un grand La mise en œuvre de Vim / SSH pourrait être. Peut-être que je devrait commencer à penser à remplacer Win7 par un nouveau debian ...


En supposant que le serveur a Vim, pourquoi ne modifiez-vous pas les fichiers directement sur le serveur? Ce serait un lot plus rapide.


6 Réponses :


2
votes

Cela semble un peu trop élaboré.

J'utilise SSHFS sur Linux pour y accomplir. Il vous permet de monter localement un chemin distant sur ssh.

Quelque chose de similaire est disponible pour Windows désormais aussi: http://dokan-dev.net/en/ . Il devrait supprimer le besoin de toutes les modifications du côté VIM.


3 commentaires

Merci, je cherche quelque chose comme celui-ci il y a longtemps!


Merci, ça sonne bien! Malheureusement, dokanshfs.exe ne fonctionne pas sur Windows 7 64bits (il se bloque juste après son début) ...


Pour l'enregistrement, cité de la page DOKAN: "La bibliothèque DOKAN prend en charge 64 bits System. Toutefois, la bibliothèque de mode utilisateur est exécutée sous forme d'application 32 bits et de bibliothèque DOKAN.NET est une bibliothèque 32 bits. Vous devez configurer votre application .NET à courir sur la plate-forme x86 ".



3
votes

Il suffit de mettre cette ligne dans votre VIMRC: xxx

Ceci exécutera SCP asynchrone (comme utiliser! Démarrer)


0 commentaires

2
votes

au lieu de xxx pré>

je devais utiliser p>

let g:netrw_scp_cmd = 'c:\"Program Files (x86)"\PuTTY\pscp.exe -q'


1 commentaires

Ce qui est bizarre, c'est que je reçois un C: \ programme ne peut pas être trouvé avec avec "C: \ Fichiers de programme (x86) \ Putty \ Putty \ Putty \ Putty \ Putscp.exe" et non C: \ "Fichiers de programme (x86)" \ Putty \ PSCP .EXE. +1 pour la position des guillemets (également supprimé -batch) mais ne savez pas si cela fait une différence.



4
votes

Ce sont ce que j'ai eu ce que j'ai travaillé aujourd'hui (GVIM 7.3 dans la victoire 7) (m'a pris de nombreuses heures pour enfin obtenir quelque chose de travail): xxx pré>

avec la première commande assurez-vous qu'il y a un [espace ] Après que vous obtiendrez des erreurs. Ensuite, vous pouvez vous connecter dans Vim via P>

:e scp://user@host:port#/(path to file)
:e sftp://user@host:port#/(path to file)


0 commentaires

1
votes

winscp est génial. Je pense que cela copie un fichier temporaire localement puis le FTPS, mais il est "transparent" et est très convivial.


0 commentaires

0
votes

Je trouve que c'est beaucoup plus facile de simplement exécuter Cygwin. Installez OpenSSH et GVIM en Cygwin, puis exécutez:

$ gvim scp://user@host//path/to/file


0 commentaires