É possível executar o vim em um servidor remoto via ssh, mas mostrar a interface do usuário no MacVim no meu laptop?

2

Meus arquivos de projetos estão em um servidor Linux remoto. O projeto pode ser muito grande. Eu preciso encontrar arquivos dentro do projeto ao usar o vim. Se eu montar o sistema de arquivos remoto em minha máquina local com sshfs, encontrar arquivos seria muito lento. Então eu tenho que executar o vim no servidor remoto. Mas eu gostaria de usar o MacVim rodando na minha máquina local. É possível rodar o vim no servidor remoto que envia o console e os comandos para a minha máquina local via ssh, de forma que o MacVim possa mostrar tudo que é enviado do remoto?

    
por woodings 20.02.2013 / 12:30

3 respostas

4

Não há separação entre cliente e servidor, como no Emacs , portanto, se o acesso ao sistema de arquivos remoto estiver fora de questão, será necessário iniciar o Vim no sistema remoto. Isso seria o console Vim por meio do aplicativo do terminal do Mac OS ou (se você tiver um servidor X em execução), você pode ssh -Y (encaminhamento X11) e exibir uma instância GVIM remota em seu sistema local. Seria o Linux GVIM baseado no Gnome, não o MacVim, mas muito similar em termos de recursos.

    
por 20.02.2013 / 12:50
2

Eu enfrento o mesmo problema, desisti do SSHFS. Foi lento, um pouco buggy, e como você eu tive problemas com operações como git e find. Eu fiquei muito feliz fazendo o seguinte:

# checkout my repo locally:
git clone <path to repo> <dirname>

# open vim edit edit edit
#...
#...

# use rsync to keep everything in sync (except my git files):
cd ..
rsync -avOz --exclude=.git/ <dirname>/ <remote host name>:<remote project dir>/

Você pode usar algum tipo de utilitário de controle de modificação de arquivo para iniciar o rsync automaticamente na alteração do arquivo, mas eu não encontrei uma solução que funciona bem para mim ...

Uma idéia alternativa com a qual eu tenho brincado: manter meus arquivos dotvim no github para que eu possa verificá-los remotamente ( meu dotvim ), e use Mosh para uma experiência de edição mais responsiva.

    
por 20.02.2013 / 14:35
-1

Se não for possível usar um VCS e um servidor de desenvolvimento local, vejo três maneiras de ir.

  1. Use um cliente FTP / SFTP. Todos os clientes disponíveis no Mac OS X têm um Edit in… botão ou menu que você pode usar para… editar arquivos no MacVim. Eu faço isso frequentemente com alguns servidores onde, por um motivo ou outro, não podemos instalar um VCS. Sugiro YummyFTP , mas existem alternativas gratuitas.

  2. Use a capacidade do Vim / MacVim para navegar e editar arquivos em servidores remotos:

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

    Veja :h netrw para mais informações. É um pouco complicado para o meu gosto, mas funciona e você nunca tem que deixar o seu amado editor.

  3. Edite os arquivos diretamente no servidor, usando o Vim que já está lá. Você perde um pouco a integração do sistema operacional, mas ganha velocidade e, obviamente, um acesso direto ao shell do servidor. Você pode se sentir à mão pela ausência de seus plugins e ~/.vimrc , mas pode aproveitar isso como uma oportunidade para se exercitar com os conceitos básicos do Vim.

por 20.02.2013 / 13:17

Tags