Alguém tem uma solução elegante para ter MacVim ou gvim em vários monitores (resolução potencialmente diferente)? Ter 2 sessões não funciona bem devido a buffers separados e arquivos de troca.
Você pensaria que poderia ter duas janelas GUI compartilhando os mesmos buffers, mas não consigo encontrar nada que funcione.
Respostas:
Expanda a
gvim
janela para cobrir as duas telas e use CTRL-W vpara dividir a janela de edição verticalmente.Veja
:help CTRL-W
para mais comandos da janela.fonte
Também costumo usar vários monitores, portanto, fiz uma solução simples para usar até que o vim implemente esse recurso. Usando um script lua chamado gitv, posso abrir um arquivo em várias instâncias do GVIM ao mesmo tempo. Basicamente, quando há duas instâncias do GVIM denominadas GVIM1 e GVIM2, o que eu fiz foi simplesmente garantir que apenas um arquivo seja editável por vez e todos os outros sejam visualizadores. (Tudo é feito automaticamente sem aviso prévio.)
Fluxo de trabalho: Atualmente, o gitv é projetado para repositórios git, portanto, pode ser usado apenas para esses arquivos em um repositório git. Você pode alterar facilmente esse comportamento padrão modificando a função lsFiles ().
Para abrir primeiro a.txt no GVIM1, use
$ gitv gvimr GVIM1 a.txt
Isso abrirá uma janela gvim se não houver uma. Em seguida, para abrir o mesmo a.txt em outra instância GVIM2, use
$ gitv gvimr GVIM2 a.txt
(ou você pode criar um alias como $ gvim2 a.txt)Em seguida, o gitv realiza internamente o seguinte:
Se você deseja editar a.txt no monitor 1 em vez do monitor 2, faça isso para alternar o buffer ativo: $ gitv gvimr GVIM1 a.txt (ou gvim1 a.txt) Isso pode ser feito mais facilmente dentro do gvim1 usando ctrl + g + a.txt
(Isso definirá automaticamente o mesmo buffer aberto em outras instâncias do gvim "somente leitura" para evitar corrupção de dados.)
O gitv pode ser baixado aqui: http://code.google.com/p/gitv/ Foi testado apenas no linux gvim, mas pode ser portado facilmente para o MacVIM.
fonte