BuscaPé, líder em comparação de preços na América Latina

Plugin para Vim

Posted by Mathias Grimm on dezembro 21, 2008 in Vi/Vim

Boa noite a todos.
Tem um bom tempo que não posto nada aqui então resolvi colocar algo que talvez só chame a atenção dos mais conservadores! ehhehe

Muitas pessoas não conhecem o poder do editor Vim, mais conhecido como Vi (pronuncia vi-ai), e estou aqui para mostrar como ele pode ser útil na sua vida.

Nesse artigo construí um plugin simples, que não faz abslolutamente nada de útil, mas é a base para um plugin mais complexo. Bom.. qual a necessidade de um plugin?!? R. Facilitar a vida de quem está utilizando o editor!

Exemplos de utilizacao poderia ser integracao com CVS, leitor de notícias, ou qualquer outra coisa que se pense... usem a criatividade.

Vamos ao que interessa...
Esse plugin foi desenvolvido para sistemas unix /unix-like
Entre no terminal , no seu home e crie a pasta plugin dentro da pasta .vim e crie um arquivo teste.vim, como na imagem abaixo.

Após isso insira um código dentro do arquivo, como na imagem abaixo

Isso fará com que o vim ecreva o texto entre aspas. Para isso, salve o arquivo e abra novamente o vim.
Observe que logo de cara a mensagem é exibida.

Mas nem sempre desejamos que uma ação seja executada automaticamente, para isso criaremos uma função que poderá ser chamada sempre que quisermos.

A linguagem que é utilizada para criar os plugins está documentada no help do vim, e define que uma função sempre deve começar com uma letra maiúscula.
Agora salve o arquivo e abra o vim novamente e digite ":call HelloWorld()" e aperte ENTER

call é utilizado para chamar qualquer funcão disponível no vim, e quando criamos um plugin a função passa a existir, podendo até ser chamada por outro plugin.
Veja o resultado da chamada da função.

Agora podemos perceber que o utilizar call sempre que quisermos chamar uma função pode tornar-se algo chato, para isso criaremos um atalho, ou melhor, criaremos uma comando do vim, que chamará internamente a função que criamos.

agora basta chamar utilizando ":HelloWorld()" em vez de utilizar call HelloWorld().

Também utilizamos esses comandos para poder passar argumentos as funções.
Criaremos um argumento e imprimiremos seu valor

Esse foi um simples exemplo de criação de um plugin. Como já disse, utilize a criatividade.

Crie seu próprio player mp3, compilador personalizado,ftp ou qualquer que seja sua necessidade. Eu estou utilizando um pseudo-webservice em php integrado com um plugin do vim, que me proporciona integração com os arquivos em desenvolvimentos controlados pelo controle de versão, me proporcionando uma produtividade adicional.

Caso alguem tenha alguma crítica,dúvida ou sugestão, é só entrar em contato.
Pra variar escrevi o artigo correndo.. desculpem qualquer equívoco.

Abraço a todos e obrigado pela visita!

3 Comentários on Plugin para Vim

By Marcio Muzzi on janeiro 16, 2009 at 2:55 pm

Ae Mathias, comecei a escrever um plugin para o gEdit há alguns meses, para trabalhar com desenvolvimento PHP, acredite, pesquisei plugins para o gEdit e não achei nada que preste para o PHP. A idéia do plugin é inicialmente um autocomplete e highlight de código, mas não animei para concluir o plugin pq parei de udar o gEdit.
O tutorial para criar plugin do gEdit é muito bom:
http://live.gnome.org/Gedit/PythonPluginHowTo

[]s

By Wellington on maio 30, 2009 at 6:51 pm

Assinei o feed do seu blog, você tem ótimos posts !

Estou me aventurando agora no mundo linux, não sabia que era possível criar plugins para o vim.

Abs.

By Mathias Grimm on maio 30, 2009 at 7:22 pm

Valeu Wellington!

Ultimamente não postei nada, mas os que postei procurei sempre temas pouco falados, mas que sejam interessantes. Pretendo manter esse padrão.

O vim é um editor muito poderoso. A falsa impressão causada pelo módo caractere as vezes nos priva das grandes funcionalidades do Vim. Digamos que o limite é sua imaginação. praticamente qualquer coisa pode ser feita com o vim, basta ter a idéia e criar o plugin, numa combinaçao vim + linux é possível criar coisas impressionantes. Pretendo ainda demostrar um exemplo de utilização de XML-RPC com vim, fiz um plugin utilizando esta tecnologia, ficou show de bola!

Write a Comment on Plugin para Vim

Subscribe

Follow comments by subscribing to the Plugin para Vim Comments RSS feed.

More

Read more posts by Mathias Grimm

Redimensionamento de imagens em lote C++ X PHP X PYTHON X PERL X SHELL SCRIPT