Navegando pelo sistema de arquivos dentro do Vim

Em: 31/10/2007 Tags: Vim Comentários (2) Referencie do seu blog (Trackback)

Uma das coisas que contribuem para que os programadores acostumados com grandes IDEs não utilizem o Vim é a falta de um elemento de interface que permita uma fácil navegação pela estrutura de diretórios de um projeto.

Esse problema, na verdade, é um mito. Há mais de uma forma de se conseguir navegar pelos diretórios por dentro do Vim. A melhor que encontrei é um plugin chamado NERDTree.

Para instalar:

  • Realize o download do plugin no site do projeto
  • Posicione o arquivo baixado, NERD_tree.vim, no diretório ~/.vim/plugin

Para testar a instalação, abra o Vim e, no modo de edição, digite o comando:

:NERDTree

A janela principal será divida em duas, e seu cursor será posicionado sobre a janela da esquerda, onde a árvore de diretórios foi aberta, tendo como raiz o diretório a partir de onde seu Vim foi aberto. Digitando o sobre um diretório “abrimos” esse diretório, e pressionando o sobre um diretório aberto ele é “fechado”. Uma vez com o cursor do Vim sobre um arquivo, pressionar tab abre o arquivo na janela da direita (essa janela é primeiro partida ao meio, e o arquivo é aberto na parte inferior da divisão).

Para descobrir os outros comandos disponíveis para a NERDTree digite ? quando dentro da janela que contém a árvore de diretórios.


Integrando Google Calendar e Gmail

Manter meus compromissos em dia não é algo que eu faça muito bem. Já tentei usar agenda convencional, drafts do Gmail (!) e o Google Calendar, mas até agora nada funcionou. Como já consegui integrar o Google Reader à interface do Gmail (veja este artigo se você não sabe como), me perguntei se não seria possível integrar também o Google Calendar a essa interface. Aliás, resolvi perguntar ao próprio Google

Entre alguns scripts do GreaseMonkey, encontrei o que me interessava: adicionar o link “Calendar” no menu lateral da interface do Gmail. O site oficial do script é este, e para instalar você pode clicar diretamente aqui (você precisa ter a extensão GreaseMonkey já instalada no seu Firefox).

Uma vez instalado o script, recarregue (Ctrl + R) a janela/aba do Firefox onde sua conta do Gmail está aberta. Se agora apareceu o link “Calendar” logo abaixo do link “Inbox”, no menu esquerdo, então a instalação funcionou. Ao clicar nesse link a interface do Google Calendar se abrirá na área principal, onde aparece sua caixa de entrada.

Agora o menu do Gmail aparece assim (no meu Firefox, claro):

  • Inbox
  • Calendar
  • Feeds
  • Trash

Quem sabe agora eu consigo manter em dia meus compromissos…


Vim com a fonte Monaco (aquela do TextMate)

Parece que a comunidade Rails internacional realmente gosta de Mac. Alguns nomes da comunidade nacional também. Eu ainda não sei porquê. Nada contra, claro, simplesmente nunca usei um Mac na vida, e não sei quando vou usar. Mas algo que me deixou intrigado foi a beleza da fonte utilizada pelo editor TextMate. Onde já se viu algo tão simples e ao mesmo tempo tão elegante? Eis que essa fonte não é um privilégio exclusivo dos usuários de Mac.

A fonte a que me refiro chama-se Monaco. Este tutorial cobre sua instalação em uma distribuição Ubuntu, e posterior configuração do gnome-terminal. Acredito que os passos para se instalar a fonte em outras distribuições sejam parecidos, mas não posso garantir. Assumo que você utiliza o vim modo texto, e não o gvim.

Baixe a fonte Monaco para o diretório ~ (dica extraída daqui):

wget http://www.gringod.com/wp-upload/software/Fonts/Monaco_Linux.ttf

Para de fato instalar a fonte siga os passos seguintes (dica extraída daqui):

cd /usr/share/fonts/truetype
sudo mkdir myfonts
cd myfonts
sudo cp ~/Monaco_Linux.ttf .
sudo chown root.root *.ttf
sudo mkfontdir
cd ..
fc-cache

Agora a fonte estará disponível no menu System..Preferences..Font. Mas não é lá que vamos fazer a mudança. Como queremos essa fonte dentro do Vim, o que precisamos mudar é a fonte padrão do gnome-terminal (ou do Konsole, se você é usuário do KDE). Feche todas as instâncias do gnome-terminal que estiverem abertas, para que seja possível escolher a nova fonte.

Agora abra uma nova instância do gnome-terminal. Clique com o botão direito sobre a janela, em seguida clique na opção “Edit current profile…”. Na primeira aba, “General”, clique na opção “Font”. Procure pela fonte Monaco, clique “Ok”, e feche a janela de edição de perfil. Pronto, agora seu Vim e seu gnome-terminal estarão com a fonte Monaco. Para reverter a mudança volte na edição de perfil e troque para a fonte que você utilizava até então.

No meu Ubuntu utilizo a fonte Monaco com tamanho 14 (confira neste link a aparência do código Ruby com a Monaco ativada).

Enquanto o código Ruby fica ótimo com essa fonte, na minha opinião o código PHP deixa a desejar. Isso porquê o cifrão, tão presente na linguagem, é mais alto do que as outras letras e acaba parecendo um “intruso” dentro do código. Se você utiliza o Vim mas não gostou da Monaco, sugiro utilizar a Bitstream Vera Sans Mono com tamanho 14 (essa fonte é distribuída com o GNOME).

Atualização 1 (31/10/2007): fechar todas as instâncias do gnome-terminal é suficiente para que a fonte apareça na lista de seleção (não é preciso reiniciar o Ubuntu).


Gmail Greasemonkey

Procurando por formas de customizar o Gmail através de JavaScript descobri um projeto do próprio Google com o mesmo intuito, o Gmail Greasemonkey. Testei dois scripts dos seis disponíveis no site, e os resultados foram os seguintes:

  • Macros: disponibiliza novos atalhos de teclado para o Gmail. Desisti dela quando vi que o atalho “g”, que já utilizo, passa a significar “aplicar novo label às mensagens selecionadas”. Mas para quem tem paciência, é possível editar esses atalhos diretamente no script.
  • Google Reader Integration: gera um novo link dentro do Gmail, permitindo que tenhamos acesso aos nossos feeds com a mesma interface do Google Reader, mas embutida na área principal da interface do Gmail. A imagem que a documentação mostra após a instalação, no entanto, não foi a mesma que vi quando instalei o script no meu navegador. A listagem de feeds ficou “flutuando” na direita, e a barra de busca de feeds ficou tomando um grande espaço da tela, deixando uma área branca por baixo. Ainda assim prefiro ter um Google Reader feioso dentro do meu Gmail do que ter que mantê-lo em outro aba.

Para instalar esses scripts você precisa ter no seu Firefox a extensão Greasemonkey. Uma vez instalada, basta ir ao site do projeto Gmail Greasemonkey, clicar nos links que aparecem na página inicial referentes ao scripts e os instalar (uma janela do Greasemonkey se abre perguntando se você deseja instalar o script). As funcionalidades ficam disponíveis imediatamente, sem necessidade de reiniciar o navegador.

Atualização 1 (12/10/2007): para que o script Google Reader Integration funcione de acordo com a imagem disponível no site do projeto, é preciso seguir a seguinte receita de bolo (descobri essa dica nos comentários dos usuários, parece que é um bug gerado recentemente por alguma atualização por parte do Gmail ou do próprio Reader):

  • Instale a extensão CustomizeGoogle e reinicie o Firefox
  • Dentro do Firefox, vá ao menu Tools >> CustomizeGoogle Options
  • Na guia Gmail marque a opção “Secure (switch to https)”
  • Na guia Reader marque também a opção “Secure (switch to https)”

Agora o seu link “Feeds” dentro do Gmail deve exibir o Google Reader perfeitamente.


Modelo lógico do SCORM no Moodle 1.8.2

Escrevi hoje, utilizando o DBDesigner4, o modelo lógico do banco de dados para o módulo SCORM, conforme a definição das tabelas disponível na versão 1.8.2. Conseguir esse tipo de modelo, no caso do Moodle, não é tarefa fácil. A última versão que possui um grande conjunto de modelos é a 1.7 (confira aqui). Para a versão 1.8.2 não há nada parecido ainda. Esse modelo é parte do meu TCC.

Publiquei o modelo no fórum SCORM dentro do site da comunidade. Siga este link para conferir.