Ich versuche, Sublime Text 2 als Editor zu verwenden, wenn ich SSH auf meinem Arbeitsserver verwende, und bin ratlos. Ich habe diesen http://urbangiraffe.com/2011/08/13/remote-editing-with-sublime-text-2/ (neben vielen anderen Posts) gefunden, der aussieht, als könnte er helfen, aber ich folge ihm nicht genau Insbesondere mit den Werten, die ich für die Remote-Variable in Zeile 5 eingeben soll. Ich habe "/ Users / path / to / local / copy" in mein lokales Stammverzeichnis gesetzt, weiß aber nicht, ob das richtig ist oder ob es mehr gibt machen. Irgendwelche Gedanken? Ich bin auf OSX10.8
ssh
sublimetext2
Reißzweckdieb
quelle
quelle
osxfuse
undsshfs
auf meinem Mac Remote - Verzeichnisse lokal laden und dann bearbeiten über ST2.Antworten:
Es gibt drei Möglichkeiten:
Verwenden Sie das SFTP-Plugin (kommerziell) http://wbond.net/sublime_packages/sftp - Ich persönlich empfehle dies, da es nach dem Einstellen öffentlicher SSH-Schlüssel mit Passphrase sicher, einfach und jeden Cent wert ist http://opensourcehacker.com/2012/ 10/24 / ssh-key-and-passwordless-login -grundlagen-für-entwickler /
Mounten Sie die Fernbedienung als lokales Dateisystem mit
osxfuse
undsshfs
wie in den Kommentaren erwähnt. Dies kann je nach OSX-Version und Ihren Kenntnissen mit UNIX-Dateisystemen etwas schwierig sein.Hacken Sie so etwas wie rmate zusammen, das die Dateibearbeitung über Remote-Tunneling mit einem lokalen Daemon durchführt (sehr schwierig, umständlich, aber sudo-kompatibel). Http://blog.macromates.com/2011/mate-and-rmate/
Theoretisch können Sie X11 auch auf dem Remote-Server installieren und dort Sublime über die VNC- oder X11-Weiterleitung ausführen. Dies hätte jedoch keinen Sinn.
quelle
Sie können rsub verwenden , das von TextMate inspiriert ist
rmate
. Aus der Beschreibung:Hier ist ein gutes Tutorial, wie man es richtig einrichtet.
quelle
Ich bin unter Windows und habe 4 Methoden verwendet: SFTP , WinSCP , Unison und Sublime Text unter Linux mit X11-Weiterleitung über SSH an Windows (ja, Sie können dies ohne unordentliche Konfigurationen und mit einem kostenlosen Tool tun).
Der vierte Weg ist der beste, wenn Sie Software auf Ihrem Linux-Computer installieren können.
Der vierte Weg:
MobaXterm
subl
Hinweis: Wenn Sie subl aufrufen, wenn es sich für eine bestimmte Bibliothek beschwert, stellen Sie sicher, dass Sie diese installieren, um sublimetext erfolgreich von mobaxterm aufzurufen.
Wenn Sie keine Software auf Ihrer Linux-Box installieren können, ist Unison das Beste. Warum?
SFTP
Setup: Installieren Sie das SFTP Sublime Text-Paket. Dieses Paket erfordert eine Lizenz.
In der SFTP-Konfiguration setze ich normalerweise:
Dies bietet mir zusätzlich zu einem SSH-Terminal an der Maschine ein ziemlich nahtloses Remote-Bearbeitungserlebnis.
WinSCP
Von da an hält WinSCP Ihre Änderungen synchron.
Arbeiten Sie mit SublimeText im lokalen Ordner. Stellen Sie einfach sicher, dass Sublime Text so eingestellt ist, dass die Zeilenenden der zu bearbeitenden Datei erraten werden.
Einklang
Ich habe festgestellt, dass die oben beschriebene WinSCP-Methode möglicherweise etwas langsam ist, wenn der Quellbaum massiv ist (etwa einige hundert MB mit einer tiefen Hierarchie). Mit Unison können Sie eine viel bessere Leistung erzielen . Der Nachteil ist, dass Unison nicht automatisch ist (Sie müssen es mit einem Tastendruck auslösen) und dass eine Serverkomponente auf Ihrem Linux-Computer ausgeführt werden muss. Die gute Seite ist, dass die Übertragungen unglaublich schnell sind, sehr zuverlässig und das Ignorieren von Dateien, Ordnern und Erweiterungen unglaublich einfach einzurichten ist.
quelle
SFTP setup
Link. Ich wusste nicht, ob SFTP Windows-Software oder ein Sublime-Paket ist.Im Anschluss an die Antwort von @ ubik sind hier die drei einfachen (einmaligen) Schritte aufgeführt, mit denen der Befehl 'subl' auf Ihrem Remote-Server ausgeführt werden kann:
rsub
Paket mit dem Sublime Package Manager in Sublime Text[ Lokal ] Führen Sie den folgenden Bash-Befehl aus (dadurch wird ein SSH-Tunnel eingerichtet , der die geheime Sauce von rsub ist):
[ Server ] Führen Sie den folgenden Bash-Befehl auf Ihrem Remote-Server aus (dadurch wird der Shell-Befehl 'subl' installiert):
Und voila! Sie verwenden jetzt Sublime Text über SSH.
Sie können eine Beispieldatei in Sublime Text vom Server mit etwas wie öffnen
subl ~/test.txt
quelle
/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
. Gedanken?Ich bin unter MacOS und der bequemste Weg für mich ist die Verwendung von CyberDuck , das kostenlos ist (auch für Windows verfügbar). Sie können eine Verbindung zu Ihrem Remote-SSH-Dateisystem herstellen und Ihre Datei mit Ihrem lokalen Editor bearbeiten. CyberDuck lädt die Datei an einen temporären Ort auf Ihrem lokalen Betriebssystem herunter und öffnet sie mit Ihrem Editor. Sobald Sie die Datei gespeichert haben, lädt CyberDuck sie automatisch auf Ihr Remote-System hoch. Es scheint transparent zu sein, als würden Sie Ihre Remote-Datei mit Ihrem lokalen Editor bearbeiten. Die Entwickler von Cyberduck stellen MountainDuck auch zum Mounten von Remote-Dateisystemen her.
quelle
Sie können etwas ausprobieren, an dem ich gearbeitet habe und das ' Xeno ' heißt. Sie können damit Dateien / Ordner in Sublime Text (oder einem beliebigen lokalen Editor) über eine SSH-Verbindung öffnen und Änderungen automatisch auf dem Remotecomputer synchronisieren. Es sollte auf fast allen POSIX-Systemen funktionieren (ich selbst verwende es von OS X aus, um eine Verbindung zu Linux-Computern herzustellen und Dateien in Sublime Text zu bearbeiten). Es ist kostenlos und Open Source. Ich würde mich über Feedback freuen.
Weitere Informationen: Es handelt sich im Grunde genommen um ein in Python geschriebenes Git / SSH-Mashup, mit dem Sie Dateien und Ordner auf einem Remotecomputer in einem lokalen Editor bearbeiten können. Sie müssen keine Kernelmodule konfigurieren, Sie müssen keine dauerhafte Verbindung haben, alles ist automatisch und die vorhandene Quellcodeverwaltung wird nicht beeinträchtigt, da ein Git-Repository außerhalb des Arbeitsbaums verwendet wird. Da es auf Git basiert, ist es extrem schnell und unterstützt das automatische Zusammenführen von Dateien, die sich an beiden Enden ändern können, im Gegensatz zu SSHFS / SFTP, bei dem nur Dateien mit älteren Zeitstempeln überlastet werden.
quelle
Sie können sftp verwenden, um das Remote-Verzeichnis auf Ihrem Standortcomputer bereitzustellen, und dann einfach die Dateien mit Sublime-Text wie gewohnt öffnen.
Geben Sie Folgendes in Ihren Linux-Dateimanager ein, um das Remote-Verzeichnis mithilfe von SFTP bereitzustellen.
Abhängig von Ihrer Internetgeschwindigkeit kann es langsam erscheinen. Aber das hat bei mir funktioniert.
quelle
Ich weiß, dass dies viel alt ist, aber ich habe eine wirklich coole Art, dies zu tun, die es wert ist, geteilt zu werden.
Was ist in Conemu und WinSCP erforderlich . Dies sind einfache Anweisungen
Öffnen Sie WinSCP.exe und melden Sie sich bei meinem gewünschten Remote-Server an (ich habe
festgestellt, dass es wichtig ist, sich vor dem Anhängen anzumelden ...).
In den Einstellungen für WinSCP - zwei Einstellungen zu ändern. Wählen Sie die Explorer-Oberfläche und nicht Commander, damit keine lokalen Dateien angezeigt werden. Es sei denn, Sie möchten (aber das scheint, als würde es hier saugen). Richten Sie Sublime als Standardeditor ein.
Klicken Sie bei geöffnetem ConEmu mit der rechten Maustaste auf die Registerkartenleiste und wählen Sie die Option aus
Attach to...
. Ein Dialogfeld mit Ihren laufenden Anwendungen wird geöffnet. Wählen Sie WinSCP und dann OK. ConEmu hat jetzt eine geöffnete Registerkarte, auf der WinSCP Ihre Remote-Dateien anzeigt.Klicken Sie mit der rechten Maustaste auf die Registerkarte WinSCP und wählen Sie
New console...
. Wenn das Dialogfeld geöffnet wird, geben Sie den Pfad zur ausführbaren Sublime-Datei auf Ihrem System ein. Bevor Sie drückenStart
,New console split
wählen Sie in dem Feld das Optionsfeld austo right
und legen Sie den Prozentsatz fest. Normalerweise wähle ich 75%, aber Sie können dies nach Ihren Wünschen anpassen und es kann später geändert werden.Sidebar->Hide Sidebar
und "bam". Sie haben jetzt Remote-Dateien genauso wie vor Ort - mit ein paar Einschränkungen, die natürlich mit der Remote-Bearbeitung verbunden sind. WinSCP blitzt jedoch schnell.Ich habe zwei Monitore - den Chrome-Browser des linken Monitors, den rechten Monitor den Code-Editor. Außerdem
ConEmu
erstelle ich in der Site, an der ich arbeite, einen weiteren Tab und ssh, damit ich Dinge wie Ausführengulp
odergrunt
Remote ausführen und auch Dateien über die Befehlszeile bearbeiten kann . Die Entwicklung ernsthaft beschleunigt.Hier ist ein Screenshot:
quelle
Dies ist der einfachste Weg, um Dateien lokal zu bearbeiten, die sich auf einem Remote-Host befinden, auf dem Sie zuvor ssh auf Remote-IP eingerichtet haben
Getan !!!
Beginnen Sie jetzt auf dem lokalen Host mit der Bearbeitung von Dateien. Wenn Sie dir lokal auflisten, wird möglicherweise nichts aufgelistet, bis Sie in ein Unterverzeichnis cd oder eine bestimmte Datei auflisten
so oben wird tatsächlich Remote-Datei bei bearbeitet
Für OSX oder Windows finden Sie dieses Tutorial von den freundlichen Leuten auf Digital Ocean
quelle
Eine andere Mac-Lösung, die osxfuse ähnelt, besteht darin, nur den Transmit FTP-Client von Panic Software zu verwenden, mit dem Sie einen Remote-Ordner als lokale Festplatte bereitstellen können. Es unterstützt SFTP, das sehr sicher ist.
quelle
Ich habe an einem Projekt namens GiySync gearbeitet . Es braucht noch etwas Arbeit, aber es ist Open Source und ich benutze es seit ein paar Jahren jeden Tag. Ich arbeite auch an einer nativen OS X-Version, die ich GitSyncApp genannt habe
Im Moment ist es nur OS X, aber es sollte einfach sein, Unterstützung für Linux und möglicherweise auch für Windows hinzuzufügen.
Es überwacht Dateisystemereignisse und synchronisiert mit git einen Projektordner auf Ihrem lokalen Computer und einem Server.
Ich habe die anderen Lösungen wie osx fuse, Expand Drive, Transmit, verschiedene Lösungen mit rsync usw. ausprobiert. Sie funktionieren alle für kleine Projekte in Ordnung, aber wenn Sie mit viel Code arbeiten, haben sie für mich nicht funktioniert.
Viele der Dateisystemoptionen führen Caching durch, um die Leistung zu verbessern. Dies ist in Ordnung, bis dies nicht mehr der Fall ist. Zum Beispiel, wenn Sie mit anderen Personen zusammenarbeiten und jemand anderes die Dateien auf dem Server ändert.
Ich hatte auch Probleme, wenn ich mich in einem flockigen oder langsamen Netzwerk befand, in dem ich leere Dateien hatte. Oder eine Datei, die nicht synchronisiert wurde, dann wurde das Caching seltsam; hoffentlich hast du dich kürzlich verpflichtet. Die Verwendung von git löst dieses Problem, da die Integrität jedes Commits überprüft wird.
Zwei Bonusfunktionen:
quelle
Abhängig von Ihren genauen Anforderungen können Sie die Verwendung von BitTorrent Sync in Betracht ziehen. Erstellen Sie einen freigegebenen Ordner auf Ihrem Heim-PC und Ihrem Arbeits-PC. Bearbeiten Sie die Dateien auf Ihrem Heim-PC (mit Sublime oder was auch immer Sie möchten) und sie werden beim Speichern automatisch synchronisiert. BitTorrent Sync ist nicht auf einen zentralen Server angewiesen, auf dem die Dateien gespeichert sind (a la Dropbox und dergleichen). Daher sollten Sie theoretisch keine Probleme haben, wenn ein Dritter vertrauliche Informationen speichert.
quelle
Eine Lösung, die für mich hervorragend funktioniert hat: Bearbeiten Sie lokal auf einem Mac und lassen Sie die Datei automatisch mit einem Remotecomputer synchronisieren
Stellen Sie sicher, dass Sie sich auf dem Remote-Computer ohne Kennwort angemeldet haben. Wenn nicht, befolgen Sie diese Schritte http://osxdaily.com/2012/05/25/how-to-set-up-a-password-less-ssh-login/
Erstellen Sie eine Datei in ~ / Library / LaunchAgents / filesynchronizer.plist mit folgendem Inhalt:
<?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>
In einem Terminalfenster ausführen
launchctl load ~/Library/LaunchAgents/filesynchronizer.plist
Das ist es. Alle Änderungen an Dateien in ~ / SyncDirectory werden mit ~ / SyncDirectory auf dem Remotecomputer synchronisiert. Lokale Änderungen überschreiben alle Remote-Änderungen.
Dadurch wird ein Startjob erstellt, der SyncDirectory überwacht. Wenn sich etwas ändert, wird rsync ausgeführt, um das Verzeichnis mit dem Remotecomputer zu synchronisieren.
quelle
lsyncd scheint eine gute Alternative zum sshfs-Ansatz zu sein. Wenn Sie "-delay 0" verwenden, funktioniert dies in Echtzeit.
quelle
Verwenden Sie FileZilla
Dies gilt für Mac- und Windows-Benutzer (ich verwende auf Mac). Ich habe im Laufe der Jahre mehrere der aufgelisteten Antworten verwendet und festgestellt, dass FileZilla gut zu meinen Anforderungen passt, wenn ich Dateien auf einem Remote-Host bearbeite, auf den ich SSH-Zugriff habe. Es ist auch schnell einzurichten.
View/Edit
.quelle