Vim em vários monitores

9

Alguém tem uma solução elegante para ter o MacVim ou o gvim em vários monitores (resolução potencialmente diferente)? Ter 2 sessões não funciona bem devido a buffers e arquivos de swap separados.

Você poderia pensar que poderia ter duas janelas de GUI compartilhando os mesmos buffers, mas não consigo encontrar nada que funcione.

    
por Patm 25.10.2011 / 17:19

2 respostas

1

Expanda a janela gvim para cobrir as duas telas e use CTRL-W v para dividir a janela de edição verticalmente.

Veja :help CTRL-W para mais comandos de janela.

    
por 26.10.2011 / 06:22
1

Eu também uso vários monitores, então fiz uma solução simples para usar até que o vim implemente esse recurso. Usando um script de 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 fiz foi simplesmente garantir que apenas um arquivo fosse editável por vez e todos os outros fossem visualizadores. (Tudo é feito automaticamente sem solicitar.)

Fluxo de trabalho: Atualmente, o gitv é projetado para repositórios git, portanto, ele pode ser usado apenas para esses arquivos em um repositório git. Você pode facilmente alterar esse comportamento padrão, modificando a função lsFiles ().

Para abrir primeiro o arquivo 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 apelido como $ gvim2 a.txt)

Então gitv internamente faz o seguinte:

  1. encontre todas as instâncias do gvim que têm "a.txt" aberto. (Neste caso, GVIM1)
  2. define todos os buffers a.txt "readonly", "nomodifiable" e "autoread".
  3. O buffer que foi modificado será gravado no disco antes de definir "readonly".)
  4. remova o arquivo de troca.
  5. abra novamente o arquivo a.txt no GVIM2. (O gvim pode abrir esse arquivo sem problemas porque não há arquivo de troca.)

Se você quiser editar um.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

(Isto irá definir automaticamente o mesmo buffer aberto em outras instâncias do gvim "readonly" para evitar corrupção de dados.)

gitv pode ser baixado aqui: link Foi testado apenas no linux gvim, mas pode ser facilmente transferido para o MacVIM.

    
por 19.01.2013 / 09:02

Tags