vim ssh macvim ctags

Usando Macvim en ssh



ctags (7)

Mi proyecto implica trabajar en una gran base de código en un servidor remoto. Estoy editando constantemente varios archivos, por lo que no es posible copiar los archivos hacia atrás. Tengo mi configuración local de Macvim como a mí me gusta, con múltiples complementos que incluyen ctags.

¿Es posible usar Macvim sobre ssh de tal manera que pueda navegar y abrir archivos desde Macvim que se ejecutan localmente?

Conseguir que ctags funcionen sin que se instale en el servidor remoto sería aún mejor, pero sospecho que no es posible ...

También un problema es el hecho de que el servidor remoto está configurado con .vimrc de otra persona que no quiero usar, pero que no puedo sobrescribir.


El siguiente comando abrirá un archivo en MacVim sobre ssh:

:e scp://[email protected]/path/to/file

Sospecho que esto podría no ser completamente lo que estás buscando, ya que solo te dará un archivo a la vez.

Si pudieras montar un recurso compartido del sistema de destino localmente, también funcionaría.


En cuanto a la parte .vimrc de su pregunta, la documentation indica que el parámetro -u puede ayudarlo.

-u {vimrc} El archivo {vimrc} se lee para las inicializaciones.


MacFUSE como se sugiere arriba ya no se mantiene. Afortunadamente, hay un sucesor, OSXFUSE .

Uso MacVim en OS X 10.9 con OSXFUSE y SSHFS para editar código en un servidor Linux remoto. Experimento un pequeño retraso (1-3 segundos) al guardar un archivo de texto, pero aparte de eso, es como trabajar con su sistema de archivos local.


Una cosa que solía usar mucho era abrir una sesión X-11, luego conectarme a mi host remoto y usar gvim sobre X. Tendrás una versión de GUI completa del editor, se verá como si estuviera ejecutándose localmente, pero todo realmente se ejecuta de forma remota.

Otra alternativa es usar VNC para controlar de forma remota la sesión en el host remoto. Hay varios clientes de VNC para Mac.

También puede usar un cliente Mac SFTP o FTP para conectarse, y luego decirle que edite un archivo o archivos. Si lo ha configurado para usar MacVim como su editor, la E / S del archivo se producirá a través de la conexión FTP de forma transparente. Así es como edito sitios web remotos cuando no tengo la capacidad ssh.

El plugin netrw de MacVim y vim es muy capaz. Si no pasa un nombre de archivo para editar en el comando scp://... , vim presentará el navegador de directorio habitual que le permite seleccionar su archivo desde la máquina remota y editarlo localmente. Por ejemplo, esto abre una conexión de mi computadora portátil a sí mismo a través de SSH y me muestra el directorio de inicio dentro de vim:

vim scp://greg@localhost//Users/greg/



scp-ing para cada archivo va a ser un dolor en tu trasero.

Mientras SSHFS con MacFuse funciona, puede ser realmente muy lento. Lo intenté un par de veces en el trabajo con una gran pipa a un servidor cerrado y, aunque la idea parecía elegante al principio, fue una experiencia enloquecedora plagada de bailes de playa.

¿Cómo está configurada el servidor exactamente? ¿Inicia sesión como otra persona o como usted mismo con su propio /home/username ?

Si más tarde puede poner fácilmente todas sus cosas relacionadas con Vim en su directorio de inicio y usar el Vim del servidor casi como si usara MacVim. Incluso puedes crear ctags en algún lugar de tu directorio personal y usarlo ...

Si inicia sesión como usted mismo pero no tiene un directorio de inicio, puede colocar su material Vim en algún lugar donde tenga acceso de escritura y agregar su ruta al .vimrc maestro con un if / else que verifique su nombre de usuario.

No he probado esta solución pero utilizo una técnica similar para cargar diferentes configuraciones, ya sea que esté en mi Mac o en mi buzón de Ubuntu:

if has("gui_running") "various gui settings let os=substitute(system(''uname''), "/n", "", "") if os == "Darwin" || os == "Mac" "Mac-specific settings elseif os == "Linux" "Linux-specific settings endif endif

Tal vez con el comando whoami ...


MacFuse es la versión MAC de fusible. Pero lamentablemente ya no mantienen el proyecto y tiene algunos problemas con Snow Leopard, pero hay una solución .