J'essaie d'utiliser Sublime Text 2 comme éditeur lorsque je me connecte à mon serveur de travail et je suis perplexe. J'ai trouvé ce http://urbangiraffe.com/2011/08/13/remote-editing-with-sublime-text-2/ (parmi beaucoup d'autres messages) qui semble pouvoir aider, mais je ne le suis pas exactement , en particulier avec les valeurs que je devrais mettre pour la variable distante à la ligne 5. Je mets "/ Users / path / to / local / copy" dans mon répertoire racine local, mais je ne sais pas si c'est vrai ou s'il y a plus faire. Des pensées? Je suis sur OSX10.8
ssh
sublimetext2
punaise
la source
la source
osxfuse
etsshfs
sur mon Mac pour monter localement des répertoires distants puis éditer via ST2.Réponses:
Il existe trois façons:
Utilisez le plugin SFTP (commercial) http://wbond.net/sublime_packages/sftp - Je le recommande personnellement, car après avoir configuré les clés SSH publiques avec une phrase de passe, il est sûr, facile et vaut chaque centime http://opensourcehacker.com/2012/ 10/24 / ssh-key-and-passwordless-login-basics-basics-for-developers /
Montez la télécommande en tant que système de fichiers local en utilisant
osxfuse
etsshfs
comme mentionné dans les commentaires. Cela peut être peu difficile, selon la version OSX et vos compétences avec les systèmes de fichiers UNIX.Hack together something like rmate which does file editing over remote tunneling using some kind of a local daemon (very difficult, cumbersome, but sudo compatible) http://blog.macromates.com/2011/mate-and-rmate/
Also, in theory, you can install X11 on the remote server and run Sublime there over VNC or X11 forwarding, but there would be no point doing this.
la source
Vous pouvez utiliser rsub , qui est inspiré de TextMate
rmate
. D'après la description:Voici un bon tutoriel sur la façon de le configurer correctement.
la source
Je suis sous Windows et j'ai utilisé 4 méthodes: SFTP , WinSCP , Unison et Sublime Text sous Linux avec transfert X11 via SSH vers Windows (oui, vous pouvez le faire sans configs désordonnées et en utilisant un outil gratuit).
La quatrième façon est la meilleure si vous pouvez installer des logiciels sur votre machine Linux.
La quatrième voie:
MobaXterm
subl
Remarque: Lorsque vous invoquez subl si elle se plaint pour une certaine bibliothèque - assurez-vous de les installer pour réussir à invoquer sublimetext depuis mobaxterm.
Si vous ne pouvez pas installer de logiciel sur votre box Linux, le mieux est Unison. Pourquoi?
SFTP
Configuration: installez le package SFTP Sublime Text. Ce package nécessite une licence.
Dans la configuration sftp, je règle généralement:
Cela, en plus d'un terminal SSH pour la machine, me donne une expérience d'édition à distance assez transparente.
WinSCP
À partir de là, WinSCP gardera vos modifications synchronisées.
Travaillez dans le dossier local à l'aide de SublimeText. Assurez-vous simplement que Sublime Text est configuré pour deviner les fins de ligne du fichier en cours d'édition.
Unisson
J'ai constaté que si l'arborescence source est massive (environ quelques centaines de Mo avec une hiérarchie profonde), la méthode WinSCP décrite ci-dessus peut être un peu lente. Vous pouvez obtenir de bien meilleures performances en utilisant Unison . L'inconvénient est que Unison n'est pas automatique (vous devez le déclencher avec une pression de touche) et nécessite qu'un composant serveur s'exécute sur votre machine Linux. Le côté positif est que les transferts sont incroyablement rapides, il est très fiable et ignorer les fichiers, dossiers et extensions est incroyablement facile à configurer.
la source
SFTP setup
lien. Je ne savais pas si SFTP était un logiciel Windows ou un package Sublime.Pour faire suite à la réponse de @ ubik, voici les trois étapes simples (uniques) pour que la commande «subl» fonctionne sur votre serveur distant:
rsub
package dans Sublime Text à l'aide du gestionnaire de packages Sublime[ Local ] Exécutez la commande Bash suivante (cela créera un tunnel SSH , qui est la sauce secrète de rsub):
[ Serveur ] Exécutez la commande Bash suivante sur votre serveur distant (cela installera la commande shell «subl»):
Et le tour est joué! Vous utilisez maintenant Sublime Text sur SSH.
Vous pouvez ouvrir un exemple de fichier dans Sublime Text à partir du serveur avec quelque chose comme
subl ~/test.txt
la source
/usr/local/bin/subl: connect: Connection refused /usr/local/bin/subl: line 200: /dev/tcp/localhost/52698: Connection refused Unable to connect to TextMate on localhost:52698
. Pensées?Je suis sur MacOS, et le moyen le plus pratique pour moi est d'utiliser CyberDuck , qui est gratuit (également disponible pour Windows). Vous pouvez vous connecter à votre système de fichiers SSH distant et modifier votre fichier à l'aide de votre éditeur local. Ce que CyberDuck fait est de télécharger le fichier dans un emplacement temporaire sur votre système d'exploitation local et de l'ouvrir avec votre éditeur. Une fois le fichier enregistré, CyberDuck le télécharge automatiquement sur votre système distant. Cela semble transparent comme si vous éditiez votre fichier distant à l'aide de votre éditeur local. Les développeurs de Cyberduck fabriquent également MountainDuck pour le montage de systèmes de fichiers distants.
la source
Vous pouvez essayer quelque chose sur lequel j'ai travaillé appelé ' xeno ». Il vous permettra d'ouvrir des fichiers / dossiers dans Sublime Text (ou n'importe quel éditeur local vraiment) via une connexion SSH et de synchroniser automatiquement les modifications sur la machine distante. Il devrait fonctionner sur presque tous les systèmes POSIX (je l'utilise moi-même sous OS X pour me connecter à des machines Linux et éditer des fichiers en Sublime Text). C'est gratuit et open source. J'adorerais quelques commentaires.
Pour plus d'informations: il s'agit essentiellement d'un mashup Git / SSH écrit en Python qui vous permet d'éditer des fichiers et des dossiers sur une machine distante dans un éditeur local. Vous n'avez pas besoin de configurer les modules du noyau, vous n'avez pas besoin d'avoir une connexion persistante, tout est automatique, et cela n'interférera pas avec le contrôle de source existant car il utilise un référentiel Git hors-worktree. De plus, parce qu'il est construit sur Git, il est extrêmement rapide et prend en charge la fusion automatique de fichiers qui pourraient changer aux deux extrémités, contrairement à SSHFS / SFTP qui ne fera qu'encombrer tous les fichiers avec des horodatages plus anciens.
la source
Vous pouvez utiliser sftp pour monter le répertoire distant sur votre machine de localisation, puis simplement ouvrir les fichiers en utilisant du texte Sublime comme vous le feriez normalement.
Pour monter le répertoire distant à l'aide de sftp, entrez ce qui suit sur votre gestionnaire de fichiers Linux;
Cela peut sembler lent en fonction de vos vitesses Internet. Mais cela a fonctionné pour moi.
la source
Je sais que c'est très vieux, mais j'ai une façon vraiment cool de faire ça qui mérite d'être partagée.
Ce qui est requis dans Conemu et WinSCP . Ce sont des instructions simples
Ouvrez WinSCP.exe et connectez-vous à mon serveur distant souhaité (j'ai
trouvé qu'il est important de se connecter avant de l'attacher ...).
Dans les préférences pour WinSCP - deux paramètres à modifier. Choisissez l'interface de type Explorateur plutôt que Commander - pour ne pas voir les fichiers locaux. Sauf si vous le souhaitez (mais cela semble être nul ici). Configurez Sublime comme éditeur par défaut.
Avec ConEmu ouvert, cliquez avec le bouton droit sur la barre d'onglets et sélectionnez l'option
Attach to...
. Une boîte de dialogue s'ouvrira avec vos applications en cours d'exécution. Choisissez, WinSCP et sélectionnez OK. ConEmu aura désormais un onglet ouvert avec WinSCP affichant vos fichiers distants.Faites un clic droit sur l'onglet WinSCP et choisissez
New console...
. Lorsque la boîte de dialogue s'ouvre, entrez le chemin d'accès à l'exécutable Sublime sur votre système. Avant d'appuyer surStart
, dans la case qui dit,New console split
sélectionnez le bouton radioto right
et définissez le pourcentage. Je choisis généralement 75%, mais vous pouvez personnaliser cela à votre guise, et cela peut être modifié plus tard.Sidebar->Hide Sidebar
et bam, vous avez maintenant des fichiers distants exactement de la même manière que vous le feriez localement - avec quelques mises en garde bien sûr qui accompagnent la modification de quoi que ce soit à distance. WinSCP s'éclaircit cependant rapidement.J'ai deux moniteurs - le navigateur Chrome de l'affichage du moniteur gauche, le moniteur droit affiche l'éditeur de code. Également dans
ConEmu
, je crée un autre onglet et ssh dans le site sur lequel je travaille, donc je peux faire des choses comme exécutergulp
ou àgrunt
distance et également manipuler des fichiers à partir de la ligne de commande. Sérieusement accéléré le développement.Voici une capture d'écran:
la source
C'est le moyen le plus simple de modifier localement des fichiers qui vivent sur un hôte distant où vous avez précédemment configuré ssh sur IP distante
Terminé !!!
Maintenant, sur l'hôte local, commencez simplement à éditer les fichiers ... lorsque vous listez dir localement, il ne peut rien répertorier jusqu'à ce que vous cd dans subdir ou listiez un fichier spécifique ... chargement paresseux ... cela n'a pas d'impact sur l'édition des fichiers
donc ci-dessus est en train de modifier le fichier distant à
Pour OSX ou Windows, voyez ce tut du genre sur Digital Ocean
la source
Une autre solution mac similaire à osxfuse consiste à simplement utiliser le client FTP Transmit de Panic Software, qui vous permet de monter un dossier distant en tant que disque local. Il prend en charge SFTP, qui est très sécurisé.
la source
J'ai travaillé sur un projet appelé GiySync . Il a encore besoin de travail, mais c'est open source et je l'utilise tous les jours depuis quelques années. Je travaille également sur une version native d'OS X que j'ai appelée GitSyncApp
À l'heure actuelle, il s'agit uniquement d'OS X, mais il devrait être facile d'ajouter la prise en charge de Linux, et éventuellement de Windows également.
Il fonctionne en regardant les événements du système de fichiers et il utilise git pour synchroniser un dossier de projet sur votre machine locale et un serveur.
J'ai essayé les autres solutions comme le fusible osx, Expand Drive, Transmit, plusieurs solutions qui utilisaient rsync, etc.
De nombreuses options du système de fichiers font de la mise en cache pour améliorer les performances, ce qui est bien, jusqu'à ce que ce ne soit pas le cas. Comme si vous travaillez avec d'autres personnes et que quelqu'un d'autre modifie les fichiers sur le serveur.
J'ai également rencontré des problèmes si j'étais sur un réseau irrégulier ou lent où je me retrouverais avec des fichiers vides. Ou un fichier qui n'a pas été synchronisé, puis la mise en cache est devenue bizarre; j'espère que vous vous êtes engagé récemment. L'utilisation de git résout ce problème car il vérifie l'intégrité de chaque commit.
Deux bonus:
la source
En fonction de vos besoins exacts, vous pouvez envisager d'utiliser BitTorrent Sync. Créez un dossier partagé sur votre ordinateur personnel et votre ordinateur professionnel. Modifiez les fichiers sur votre ordinateur personnel (en utilisant Sublime ou tout ce que vous voulez), et ils se synchroniseront automatiquement lorsque vous enregistrez. BitTorrent Sync ne repose pas sur un serveur central stockant les fichiers (à la Dropbox et similaires), vous devriez donc en théorie être à l'écart de tout problème dû à un tiers stockant des informations sensibles.
la source
Une solution qui a très bien fonctionné pour moi - éditez localement sur Mac et synchronisez automatiquement le fichier sur une machine distante
Assurez-vous que vous disposez d'une connexion sans mot de passe à la machine distante. Sinon, suivez ces étapes http://osxdaily.com/2012/05/25/how-to-set-up-a-password-less-ssh-login/
créez un fichier dans ~ / Library / LaunchAgents / filesynchronizer.plist, avec le contenu suivant:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>filesynchronizer</string> <key>ProgramArguments</key> <array> <string>/usr/bin/rsync</string> <string>-avz</string> <string>/Users/USERNAME/SyncDirectory</string> <string>USERNAME@REMOTEMACHINE:~</string> </array> <key>WatchPaths</key> <array> <string>/Users/USERNAME/SyncDirectory</string> </array> </dict> </plist>
Dans une fenêtre de terminal, exécutez
launchctl load ~/Library/LaunchAgents/filesynchronizer.plist
C'est tout. Toutes les modifications apportées à des fichiers dans ~ / SyncDirectory seront synchronisées avec ~ / SyncDirectory sur la machine distante. Les modifications locales remplaceront toutes les modifications à distance.
Cela crée un travail launchd qui surveille SyncDirectory et chaque fois que quelque chose change, il exécute rsync pour synchroniser le répertoire avec la machine distante.
la source
lsyncd semble être une bonne alternative à l'approche sshfs. Si vous utilisez "-delay 0", cela fonctionne en temps réel.
la source
Utilisez FileZilla
Cela s'applique aux utilisateurs Mac et Windows (j'utilise sur Mac). J'ai utilisé plusieurs des réponses répertoriées au fil des ans et j'ai constaté que FileZilla répond bien à mes besoins lors de la modification de fichiers sur un hôte distant auquel j'ai accès SSH. Il est également rapide à configurer.
View/Edit
.la source