Instância solitária do Vim
Publicado em GNU/Linux
O meu amigo Lorn estava com uma dúvida agora há pouco. Ele é chique (ah, eu tenho que dar uma zuadinha vai) e tem um Mac onde utiliza o Textmate e queria saber se dava para replicar a seguinte feature no Vim: sempre abrir os arquivos na mesma instância do editor, em uma aba nova.
Se você gostou da idéia, continue lendo. Vamos trabalhar nesse script em um ambiente *NIX (onde o Mac OS se encaixa também) e com o editor no modo gráfico, se você quiser no console é só trocar de gvim para vim e fazer as adaptações necessárias. Vamos fazer alguns testes para ver se o script vai funcionar:
- Feche todas as instâncias do editor que estiverem abertas.
- Verifique se quando você digita vim --serverlist você não recebe uma mensagem de erro.
- Se recebeu, teste com gvim --serverlist. Se mesmo assim ocorreu a mensagem de erro, ou o seu editor está em uma versão muito antiga ou não foi compilado com esse recurso. Aí você tem que dar um jeito de atualizar ou compilar o bicho na unha e depois voltar nesse passo.
- Ok, se tudo correu bem, ele não deve retornar nada pois não há nenhuma instância aberta (você fez o que eu pedi no item 1, não fez?). Se houvessem algumas instâncias pipocando por seu computador, seria(m) retornado(s) o(s) nome(s) que o editor se "registrou".
- Para evitar dar algum piripaque, vamos garantir que vamos pegar sempre o primeiro nome retornado se por acaso já havia alguma coisa aberta. Vamos pegar isso com o head -n1, que vai extrair a primeira linha. Fica assim: gvim --serverlist | head -1
- Ok, agora vamos criar um alias para chamar o editor dizendo o seguinte para ele "ei, se já tiver uma instância aberta conecte-se nela e abra o arquivo que estou pedindo em uma nova aba". Para isso vamos inserir o conteúdo do nosso comando acima dentro de outro:
alias tvim="gvim --servername `gvim --serverlist | head -1` --remote-tab" - Chamei o alias de tvim, de "tab vim", mas sintam-se à vontade para chamá-lo do que quiserem, tipo "ovtrta" (one Vim to rule them all). ;-)
Pronto, a partir desse momento sempre que o alias for chamado ele vai abrir os arquivos sempre na mesma instância do editor, em uma aba nova. Ah, tem que ser o Vim 7.x para frente, onde há os suportes de abas. Mais detalhes sobre essas opções podem ser encontrados aqui.
Comentários
Comentários fechados.
Artigos anteriores
- Pull requests em modo raiz - sex, 22 de dezembro de 2023, 09:57:09 -0300
- Qual a idade do seu repositório? - ter, 27 de dezembro de 2022, 12:50:35 -0300
- Utilizando ctags em projetos Rails mais recentes - qui, 24 de junho de 2021, 08:23:43 -0300
- Fazendo o seu projeto brotar - seg, 15 de julho de 2019, 08:57:05 -0300
- Learn Functional Programming with Elixir - sex, 02 de março de 2018, 18:47:13 -0300
- Ambiente mínimo - Driver Driven Development - qua, 23 de agosto de 2017, 15:15:03 -0300
- Ambiente mínimo - repositórios de código - dom, 16 de abril de 2017, 13:02:14 -0300
- Ambiente mínimo - terminal e navegador - dom, 02 de abril de 2017, 21:43:29 -0300
- Utilizando muitas gems no seu projeto? - sáb, 29 de outubro de 2016, 11:57:55 -0200
- Desenvolvedores e inteligência artificial - seg, 11 de julho de 2016, 09:09:38 -0300
Mais uma dúvida, se abrir à partir do terminal beleza, mas se tento digitar dentro do comando executar não funciona, como resolver?
Cara, esta e outras dicas suas bem que poderiam ir para o Livro, só não sei exatamente em que local. Fique a vontade!!
E se eu quizer dividir a janela existente?
Sérgio, antes de mais nada, parabéns pela iniciativa!
É engraçado que eu vi hoje de manhã a notícia nos meus RSS's e inclusive fiz download do PDF e estou dando uma olhada. Eu entro em contato por email com você e a gente conversa melhor, beleza?
Iniciei um projeto para a criação de um livro sobre o vim em português no meu blog: http://vivaotux.blogspot.com/2009/01/nosso-livro-sobre-o-vim.html - há uma postagem sobre e um previw em um frame do site scribd.
Há um grupo de discussão
http://groups.google.com/group/vimbook
e a página oficial do projeto
http://code.google.com/p/vimbook/
A idéia é que as pessoas que dominam melhor o vim e o Latex adicionem suas melhores idéias a este projeto! Você topa junta-se a este projeto?
Muito boa a dica,
Procurei no link que você indicou mais não achei nada sobre fazer com que a janela do gvim ganhe o foco quando abrir um arquivo em uma aba. Tem alguma ideia de como fazer isso?
Obrigado
Boa dica, TaQ... Mas eu reparei que, ao menos comigo, eu não posso utilizar um tvim /path/do/arquivo: ele abre uma nova instância do gVim.
Segui uma dica e acabei com isso: http://pastebin.com/f7a69dcd7
Abraço
Uia.. Mandou bem nessa dica TaQ. Muito interessante e util esse negócio ai.