29 de setembro de 2010

27 de setembro de 2010

Information junkie

Information Junkie é alguém que frequentemente está ocupado recebendo informações, e as vezes enviando, como um vício. Normalmente essa expressão é usada para pessoas que passam o dia navegando na Internet.

Usar a Internet para se comunicar e colher informações para mim não é ruim. Na verdade a Internet é um meio incrível de comunicação que deve ser explorado. O problema é quando a navegação começa a não fazer sentido e você passa a navegar apenas por navegar.

E-mail, RSS, Twitter, Orkut, Facebook, você preciso verificar sempre tudo isso? Definitivamente não. O tempo livre obtido por evitar se manter 100% atualizado a toda hora pode ser usado para outras coisas, como o trabalho que você deveria fazer e outras atividades que você goste e se divirta realizando.

Entretanto há uma contradição interessante nessa história de information junkie. Existem muitos casos, me incluo neles, de pessoas que descobrem que estão se tornando viciados em informação justamente por que lêem muito e em algum momento encontram um texto parecido com esse. Eu achava bonito dizer que ficava com o Gmail aberto o dia todo.

Talvez seja uma tendência natural. Você entra em diversas redes sociais, assina vários RSS, acompanha listas de discussão, entre outras coisas, para saber sempre das notícias mais quentes e para acompanhar o que outras pessoas interessantes pensam. Depois você descobre que de nada adianta ler muito e não produzir nada ou não ter tempo livre.

É possível que meu post seja um entre os 1000+ não lidos no seu Google Reader. Se for, comece a pensar bem em reduzir suas fontes de informações, elas já passaram do limite. Quem sabe até você não precise ler esse blog, sério, se o que escrevo não estiver sendo útil para você pode cancelar a inscrição, eu não vou ficar chateado :)

O importante é perceber que algo está errado e depois mudar para se sentir livre deixando de ser escravo das suas fontes de informação.

24 de setembro de 2010

Minimal Vim - Pathogen, organizando os plugins

Os scripts instalados no Vim ficam todos num mesmo diretório, no Linux o ~/.vim ou no Windows o c:/vimfiles. Dentro dele os scripts são separados de acordo com o seu tipo. Existe uma pasta para scripts que definem a sintaxe de uma linguagem, outra pasta para plugins que cuidam de funcionalidades de um determinado tipo de arquivo, etc.

Essa organização parece boa, mas muitos plugins espalham seus arquivos por vários desses diretórios. Em pouco tempo, ao instalar diversos plugins, a maior bagunça é criada.

Também não é muito prático atualizar os seus plugins. Hoje é comum encontrar scripts do Vim no github, não seria muito bom poder baixar o repositório e atualizar seus scripts pelo git?

Pensando nesses problemas foi criado o Pathogen, ele melhora o gerenciamento dos plugins e facilita a atualização e integração com repositórios. 

Faça o download do pathogen aqui: http://www.vim.org/scripts/script.php?script_id=2332

Para instalar coloque o arquivo na pasta autoload dentro de ~/.vim.

Também é necessário editar o .vimrc. Coloque as seguintes linhas no início do arquivo de configurações:

filetype off
call pathogen#runtime_append_all_bundles()

A primeira linha é necessária para fazer o pathogen funcionar corretamente em algumas distribuições. A segunda carrega os scripts usando o pathogen.

Os plugins agora devem ficar cada um na sua pasta, eles não se misturam mais. Crie um diretório bundle dentro de ~/.vim e para cada plugin você deve criar uma pasta dentro de bundle, por exemplo, para o plugin Command-T crie uma pasta commandt dentro de bundle e coloque todos os seus arquivos dentro.

Você agora pode baixar código de repositórios para dentro da pasta bundle, assim é possível atualizar os plugins com apenas um comando de acordo com o controle de versão que estiver sendo usado.

Apagar um plugin também fica mais simples, basta deletar sua pasta dentro de bundle. Você não precisa mais procurar todos os arquivos que estariam espalhados pelas diversas pastas do ~/.vim.

Se você tinha muitos plugins instalados sem o uso do pathogen vale a pena gastar um tempinho para organizá-los, fica muito mais fácil gerenciar tudo com o pathogen.


Veja outros posts da série Minimal Vim:

22 de setembro de 2010

17 de setembro de 2010

Minimal Vim - Localizar e substituir

A busca do Vim é excelente. Ele possui uma das melhores pesquisas incrementais que eu já usei e operar a busca apenas pelo teclado torna tudo ainda mais rápido. Por isso, dessa vez, não vamos usar nenhum plugin externo, apenas comandos nativos.

Antes de começar a ensinar como usar a busca do Vim vamos adicionar algumas configurações importantes ao .vimrc:

set incsearch
set hlsearch

A primeira linha ativa a busca incremental e a segunda ativa o destaque dos resultados da pesquisa, ou seja, todas as ocorrências da busca ficam marcadas com outra cor.

Para iniciar uma busca, no modo normal, pressione / e comece a digitar. Você já pode ver o resultado enquanto digita, afinal essa é uma pesquisa incremental. Para finalizar a busca pressione Enter.

A navegação pelos resultados é feita usando os atalhos n para ir para o próximo resultado e N (shift-n) para ir para o resultado anterior.

Um atalho bastante útil é o *, colocando o cursor sobre uma palavra e pressionando essa tecla no modo normal o Vim procurará ocorrências dessa palavra.

A substituição do Vim é muito poderosa, assim como todo o editor ela é um verdadeiro canivete suiço. Aqui vamos aprender o suficiente para a maioria dos casos, não é muito útil aprender mais meia dúzia de opções que raramente você utilizará, para isso temos ótimas referências espalhadas pela Internet ou até mesmo o help do Vim. Minha intenção nunca foi fazer um guia completo, a série Minimal Vim funciona como um filtro trazendo o mínimo de comandos para a maioria das tarefas, meu objetivo é fazer o Vim caber na sua cabeça.

A substituição no Vim é feita usando o comando s. Vejamos um exemplo com o caso mais usado para substituições:

:%s/original/modificada/gc

Vamos analisar cada parte do comando.

  • % define que a substituição será feita no arquivo todo.
  • s (substitute) é o comando de substituição.
  • /original após a primeira "/" fica o texto original que será substituído.
  • /modificada após a segunda "/" temos o texto que substituirá o original.
  • g (global) define que todas as ocorrências, não apenas a primeira de cada linha, serão substituídas.
  • c (confirm) o Vim perguntará se você deseja substituir cada ocorrência, sem essa opção todas as substituições são feitas automaticamente.


Quando o Vim pede a confirmação de uma substituição várias opções aparecem, são elas: y, n, a, q, l, ^E e ^Y. As mais importantes são:

  • y (yes) confirma a substituição.
  • n (no) pula a ocorrência atual e não substitui.
  • a (all) substitui todas as ocorrências.
  • q (quit) cancela a substituição.


Os comandos são bem intuitivos.

Isso é o essencial de pesquisa e substituição, eu raramente preciso usar algo mais complexo. Se você quiser aprender mais sobre esse assunto eu aconselho o Vimbook, mas use-o apenas como referência ou se você já for um usuário avançado, ler um livro tão grande para começar a usar o editor não é uma boa ideia.


Veja outros posts da série Minimal Vim:


15 de setembro de 2010

Se você não pode explicar de forma simples...


Você não é mais inteligente por usar linguagem rebuscada e linhas de raciocínio complexas. Qual o objetivo de ensinar se poucos entenderão?

13 de setembro de 2010

Respondendo e-mails com 3 frases.

Muitos e-mails na inbox nos deixa estressado. É ainda pior quando, mesmo respondendo vários e-mails todos os dias, o número de mensagens não lidas só aumenta. Zerar a inbox pode ser muito difícil.

O projeto Three Sentences, ou a versão brasileira criada pelo Augusto do Efetividade, Três Frases, traz como solução para agilizar o ato de responder os e-mails a diminuição drástica do tamanho da resposta. Você deve responder todos os e-mails com apenas 3 frases, sem que isso diminua a qualidade da sua resposta.

Talvez isso não resolva todos os seus problemas com sua inbox, mas pelo menos amenizará. Com certeza você vai conseguir responder um número maior de mensagens.

A ideia é boa, definir uma restrição desse tipo nos força a mudar a abordagem que costumamos usar. Se você tem problemas de acumulo de e-mails vale a pena tentar. Eu particularmente não uso nenhuma técnica específica, felizmente eu resolvi meus problemas com e-mails a algum tempo, eu apenas mantenho minhas respostas curtas. Talvez eu responda com três frases, ou quem sabe menos, ou um pouco mais. O importante é não enrolar, é bom para você que escreve e bom para quem recebe a mensagem.

PS: Um haiku, poucas palavras e muito conteúdo.
None is travelling
Here along this way but I,
This autumn evening. 
(Matsuo Basho)

10 de setembro de 2010

Minimal Vim - Alternando entre buffers

O Vim separa diferentes documentos abertos em buffers. A primeira vista quando você abre um novo documento ele parece sobrescrever o arquivo anterior, mas na verdade foi criado um outro buffer e o arquivo que você estava editando anteriormente continua aberto. Não existe nenhuma indicação clara que mais de um arquivo está aberto, isso pode parecer ruim, mas a interface limpa sem abas ou barras laterais acaba sendo algo positivo.

Procurando a melhor solução para alternar entre os buffers eu primeiro testei os comandos nativos do Vim. Existem vários, algumas configurações no .vimrc talvez os tornassem mais práticos, mas o fato de existirem diferentes comandos para listar e abrir os buffers me fez procurar alguns plugins que facilitassem essa tarefa.

O popular plugin BufExplorer foi a melhor solução que eu encontrei. Ele é fácil de usar e não acrescenta nenhuma poluição visual a interface. O Vim continua limpo como ele deve ser.

Faça o download do BufExplorer aqui: http://www.vim.org/scripts/script.php?script_id=42

Para instalar apenas extraia o arquivo no ~/.vim, se você estiver no Linux, ou c:/vimfiles, se você for usuário do Windows.

O comando para acessar o BufExplorer é o :BufExplorer, mas não é prático digitar isso toda vez que for necessário mudar para outro arquivo. Vamos criar um atalho no .vimrc, ctrl+b abrirá o BufExplorer:

nnoremap <c-b> :<c-u>BufExplorer<cr>

O BufExplorer toma toda a tela com a lista dos buffers abertos. Seu uso é muito simples. Para mudar para um arquivo basta colocar o cursor na sua linha e pressionar enter. Grande parte do uso do do BufExplorer se resume a pressionar ctrl+b, usar as setas para cima e para baixo para escolher o buffer e pressionar enter. Para fechar um buffer pressione d e para sair do BufExplorer use a tecla q.

Existe ainda um atalho padrão do Vim que eu uso bastante, o ctrl+6. Ele alterna para o último buffer editado. É uma funcionalidade simples que pode ser usada para alternar rapidamente entre dois arquivos.

Experimente os atalhos aos poucos, mesmo com o meu esforço para reduzir o número de comandos necessários para usar o Vim, apenas a prática vai fazer o uso do editor ser natural. Continuem acompanhando a série Minimal Vim, pratiquem e adaptem o que foi aprendido às suas necessidades.

Veja outros posts da série Minimal Vim:


8 de setembro de 2010

3 de setembro de 2010

Minimal Vim - Copiar, colar e recortar

Eu poderia reduzir as operações de copiar, colar e recortar aos conhecidos ctrl+c, ctrl+v e ctrl+x usados em praticamente todas as aplicações que conhecemos, mas os atalhos diferentes do Vim, nesse caso, ajudam bem mais que as simples operações que estamos acostumados.

Para selecionar um texto no Vim você precisa entrar no modo Visual, pressione v no modo normal, depois basta apenas movimentar o cursor para selecionar o que deseja. Você também pode usar shift+v para selecionar uma linha inteira.

Com o texto selecionado você pode copiar ou recortar a seleção. A tecla y de yank é usada para copiar o texto e a tecla d de deletar para apagar o que estiver selecionado. Não existe exatamente uma opção para recortar, entretanto ao deletar qualquer texto com o atalho d ele fica disponível para ser colado, então ele funciona como a conhecida operação de recortar. Para colar, o atalho é p de paste, o texto é colado imediatamente após o cursor. Esse comportamento é um pouco diferente dos editores comuns, pois no Vim o cursor fica em cima da letra e não antes ou depois de um caracter.

No Vim é possível copiar e recortar uma ou várias linhas inteiras de uma só vez com apenas um comando. Isso é muito útil e não é necessário entrar no modo Visual. Para copiar uma linha inteira vamos usar o atalho yy e para recortar uma linha inteira dd. Para copiar mais de uma linha o atalho é (número de linhas)yy, ou seja, 5yy copia a linha atual mais as quatro abaixo, totalizando cinco linhas. O mesmo pode ser usado para deletar as linhas, 3dd deleta três linhas. Na hora de colar também é possível usar um número antes do atalho, com isso a operação é repetida de acordo com ele, por exemplo, 5p cola o conteúdo cinco vezes.

Copiar, colar e recortar no Vim é ótimo, o único problema é a interação com outras aplicações, esses comandos não se comunicam bem com o mundo externo. Para colar texto vindo de outra aplicação o atalho é shift+insert (no modo de Inserção) e para copiar para fora do Vim temos um atalho bem complicado, o "+y. shift+insert é um bom atalho, mas o de copiar para fora do programa é complicado e pouco prático, por isso vamos criar um novo atalho para essa operação no .vimrc.

Adicione essa linha no arquivo de configuração:

vnoremap <C-Insert> "+y

Agora o atalho ctrl+insert pode ser usado para copiar texto para fora do Vim.

Outro motivo importante para não usar ctrl+c e ctrl+v é que o segundo é um atalho importante do Vim. Eu falarei sobre ele em breve.

1 de setembro de 2010

Internet e educação por Isaac Asimov

O vídeo abaixo é de 1988, a Internet não era nada parecida com o que temos hoje.



"As pessoas não param de fazer coisas que gostam apenas porque elas atingem uma certa idade." (Isaac Asimov)