2010-04-08 10 views
50

I LOVE utilizza TextMate sul mio MacBook. È ottimo.Modifica di file remoti su SSH, utilizzando TextMate?

Purtroppo, desidero modificare alcuni file direttamente sul mio server di sviluppo, poiché è difficile ricreare l'ambiente localmente. Sto usando Git, quindi un'alternativa è quella di modificare solo localmente, git commit, git push, e quindi git merge, ma questo è un po 'complicato ogni volta che voglio fare un semplice cambiamento.

Preferisco solo ... usare un'altra soluzione. Una cosa che ho provato è montare un hard disk via MacFusion, e poi caricarlo in un editor. Ma è così spaventoso, lento/lento!

Qualcuno ha preparato una soluzione migliore?

+0

Che tipo di configurazione del server avete? Il numero di cose che puoi fare con Mac OS X e un bit (a volte grande) di comando-line-fu è straordinario: Scala, Python, Redis, Couch, Ruby ... – romainl

risposta

36

OK - ecco quello che funziona su Mountain Lion.

  1. Vai http://osxfuse.github.com/
  2. Installare il fusibile per OS X
  3. Installare SSHFS per OS X
  4. Poi i seguenti comandi sul terminale:

mkdir /Volumes/SSHFS

/usr/local/bin/sshfs [email protected]:/path/to/dir /Volumes/SSHFS 

Fine.

Si consiglia inoltre di utilizzare il plug-in ReMate come indicato da un altro utente per impedire a TextMate di eseguire il beach-balling ogni volta che lo si riorienta. Link:

Remate http://ciaranwal.sh/remate

+0

Ma il fastidio è ogni volta che chiudi il tuo laptop e la tua connessione wifi si disconnette, devi eseguire nuovamente il comando sshfs. –

1

non hai bisogno di push ogni volta che si apportano modifiche semplici; git è un sistema di controllo della versione distribuito, si commit nel repository locale per le piccole modifiche. Dovresti solo effettuare il push nel repository remoto una volta che hai finito di lavorare su una funzionalità/bug (o per una funzionalità davvero enorme, una sottofunzione completa). Bene, supponiamo che tu possa ricreare l'ambiente; che apparentemente non puoi.

Un editor di testo decente può essere integrato con il tuo sistema di controllo preferito; se non riesci a configurare il tuo editor per eseguire il commit e spingere dall'interno del tuo editor, procurati un editor decente.

Un editor ancora migliore può essere impostato per salvare, eseguire il commit, push, compilare ed eseguire il programma in un solo clic o premendo un tasto.

+1

Sono d'accordo su tutto, ma l'OP ha scritto che non è in grado replicare è l'ambiente localmente. Ciò significa che non è in grado di testare il codice e costretto a fare il commit/push dance ogni volta che salva i suoi file. – romainl

+0

@romainl: il punto è che qualsiasi buon editor di testo può essere impostato per salvare, eseguire il commit e premere, con un solo clic/pressione di un tasto. Se TextMate non può farlo, allora dovresti scegliere un editor di testo migliore. –

+0

Ricevo totalmente e acconsento al tuo punto. In realtà ho raggiunto una sorta di "plateau" con TextMate e infine abbandonato per Vim alcuni mesi fa. Non voglio davvero sembrare un predicatore o qualcosa del genere, ma la mia prima risposta alla maggior parte delle domande relative alla TM sarebbe "passare a Vim o Emacs" se non mi controllassi. – romainl

11

Uso Fetch e TextMate solo per tali attività. È possibile impostare il recupero per utilizzare TextMate come editor esterno e persino per aprire automaticamente i file in TextMate facendo doppio clic.

Il salvataggio della finestra in TextMate riporta automaticamente il file sul server. Ovviamente dovresti commettere le modifiche sul server in un secondo momento.

Sono sicuro che molti client FTP Mac potrebbero fare lo stesso.

+4

Faccio lo stesso con Cyberduck. –

+4

Sì. Transmit e (il mio preferito) Yummy FTP fanno altrettanto. – romainl

+0

Non puoi montare l'FTP remoto usando il comando di Finder-K e collegarti a un URL come ftp (s): // server/cartella /? – Capsule

0

MacFusion è piuttosto facile da usare, fondamentalmente in ssh-mount delle directory. http://macfusionapp.org/

Transmit 4 ha una funzione simile, sebbene costi $$.

Provare http://ciaranwal.sh/remate/ se sembra lento, in quanto ciò disabiliterà il compagno di testo dall'aggiornare la lista dei file così spesso.

1

Se non si è in grado, per qualsiasi motivo, di replicare localmente l'ambiente e si desidera comunque utilizzare TextMate, il client FTP + combinazione TextMate è la soluzione migliore a cui possa pensare. MacFusion e tutte le altre soluzioni simili sono ordinate sulla carta ma terribilmente lente.

Se ti senti abbastanza avventuroso e sicuro di abbandonare il requisito TextMate, SSH + Vim nel terminale funziona incredibilmente bene.

Sei positivo non puoi replicare in tutto il tuo ambiente remoto?

1

So che questa domanda ha già diverse risposte, ed è stato un po 'di tempo, ma volevo anche sottolineare DokanSSHFS - Questo userà SSH per creare un'unità locale del percorso della directory sul server che si sceglie. Quindi puoi usare il tuo editor di scelta per modificare i file come se fossero su un disco locale.

5

Io uso la versione gratuita di TextWrangler proprio per questo e funziona benissimo. Posso caricare e salvare i file su sftp.

+1

Sì! Funziona alla grande –

3

La risposta corretta è utilizzare sshfs e assicurarsi che "Esegui il salvataggio atomico" sia selezionato nella finestra delle preferenze di Textmate. Il modo più semplice per configurare sshfs è usare Macfusion. http://macfusionapp.org/.

+0

stavo usando macfusion per un po 'fino a quando ho capito che stava causando qualche strana azione symlink di file nascosti nelle directory ssh'd ... ha smesso di succedere quando ho usato l'opzione "connect to network" di mac nel finder – Kristian

0

Utilizzare il fusibile per OS X http://osxfuse.github.com e il pacchetto companion, SSHFS (stesso URL) e installarli. Ho installato le librerie di compatibilità MacFUSE anche da lì, solo per buona misura.

Quindi, installare http://macfusionapp.org e seguire le istruzioni qui (https://github.com/osxfuse/osxfuse/wiki/SSHFS) per configurare macfusion per utilizzare le nuove librerie.

Ho avuto problemi con l'autenticazione con la password, quindi ho impostato l'autenticazione della chiave ssh e ho usato macfusion senza password. Funziona come un fascino.

8

La cosa migliore sarebbe utilizzando la sceneggiatura di TextMate , seguire il link e troverete le istruzioni Soffietto, ve lo consiglio in quanto renderà la vostra vita più facile e gestire tutti i Nitty- Gritty.

0

Se si utilizza un IDE, è sufficiente impostare un tunnel SSH sul proprio server di sviluppo e modificare i file dal comfort del proprio IDE preferito. Salvare i file localmente sarebbero automaticamente quindi spingere i file sul server dev così

PS: non sto avallando l'uso di IDE

0

È necessario rmate funziona benissimo per modificare i file sul server tramite SSH utilizzando TextMate sulla tua macchina locale. Github link here

1

La maggior parte delle soluzioni proposte è incentrata su sshfs in una forma o nell'altra. Ho provato queste soluzioni, ma ho trovato che l'affidabilità del filesystem non è sempre buona come desiderato.

È disponibile lo strumento rmate, che consente la modifica di file remoti nel testo compagno.

Utilizzare il comando dalla sessione ssh per modificare file sul server:

rmate file_name 

Il readme su github fornisce facile seguire le istruzioni su come configurarlo.