2010-09-13 13 views
15

Así que estoy en un terminal VPS usando ssh.¿Abrir la aplicación de texto local para editar el archivo de texto remoto usando ssh?

En caso normal tan sólo pudiera ejecutar localmente

mate <file> 

y los incendios hasta TextMate con ese archivo.

¿Es posible utilizar el mismo comando y de alguna manera abrir la aplicación local de TextMate pero editar el archivo remoto?

Eso sería bueno si está trabajando en VPS y no quiere usar vim todo el tiempo.

+0

bcvi hace exactamente eso, pero para vim. Sin embargo, se basa en el soporte integrado de vim para scp: //, lo que podría dificultar un puerto de Textmate. –

Respuesta

3

La solución es montar el sistema remoto usando sshfs. En OS X, sshfs puede instalarse, por ejemplo, usando Homebrew.

El sistema de archivos se monta mediante SSH usando sus credenciales o claves SSH habituales, por lo que es muy fácil de hacer, y luego lo navega como si fuera un directorio local y disfruta del beneficio de tener acceso a todas sus herramientas locales.

+0

SSHFS es divertido hasta que se desconecta la conexión al servidor. Entonces tienes que SIGKILL todo lo que está a la vista. IDK tal vez solo estoy usando una versión anterior. –

+1

No puedo responder por SSHFS específicamente, pero si utilizo MacFUSE si pierdo mi conexión, las unidades se desmontan limpiamente, y he tenido sitios montados por días. YMMV. – furtive

+1

Han tenido los mismos problemas que Michael describe, ni siquiera una configuración de reconexión ayudó. Para todos los usos que tiene sshfs, los momentos que podía emplear generalmente terminaban con crons o rsyncs manuales sobre ssh. – Wrikken

1

Si haces ssh a otra caja, entonces puedes abrir el archivo usando cat y canalizarlo a un archivo local. No creo que pueda transmitirlo a un editor en el cuadro local.

+0

Tiene que haber algunas herramientas que lo permitan ... parece una característica que alguien ha pensado mucho antes que yo. –

+0

Si está allí, será de gran ayuda para mí también ... – Raghuram

2

Como alternativa, puede sincronizar la carpeta con rsync en ssh.

De esa manera trabajas localmente, y rsync lo sincroniza con el servidor para ti. Eso podría ser iniciado explícitamente por usted o ejecutarse en un daemon.

4

Tienes diferentes opciones:

  • de montaje de un sistema de archivos remoto utilizando (Mac) Fusible (según lo recomendado por furtiva),
  • sincronizar el directorio remoto:
    • con rsync (según lo recomendado por eglasius),
    • con un SCM (como Git o hg u otros),
  • o, y esta sería mi forma preferida, usar Emacs (Aquamacs, supongo, en su caso) y usar el modo vagabundo para editar archivos remotos.

Solía ​​hacer esto en algunos años atrás para algunos proyectos, y funcionó perfectamente, tanto para LAN como para WAN.

Si desea adherirse a TextMate, entonces furtive's solution es ideal.

1

Otra opción es utilizar una de las dos disponibles Textmate sincronización pack - tanto para uso rsync y ssh para mantener las carpetas remotas y locales sincronizados.

  1. Textmate remote sync bundle
    Este es el paquete que uso. Parece tener la misma funcionalidad exacta que el segundo paquete, pero encontré este primero.

  2. Textmate Sync bundle

La única palabra de advertencia que añadiría es la primera sincronización se borrará la carpeta remota y reemplazarlo con el contenido de la carpeta local.

+0

el enlace eliminado http://log.dustinwilson.com/archives/2010/01/04/TextMate_Sync/ – shaneknysh

Cuestiones relacionadas