Introdução
A edição de texto é uma das tarefas mais frequentemente executadas por seres humanos em ambientes computacionais, em qualquer nível. Usuários finais, administradores de sistemas, programadores de software, desenvolvedores web, e tantas outras categorias, todos eles, constantemente, necessitam editar textos.
Usuários finais editam texto para criar documentos, enviar e-mails, atualizar o blog, escrever recados ou simplesmente trocar mensagens instantâneas pela internet. Administradores de sistemas editam arquivos de configuração, criam regras de segurança, editam scripts e manipulam saídas de comandos armazenados em arquivos de texto. Programadores desenvolvem códigos-fonte e a documentação de programas essencialmente em editores de texto. Desenvolvedores web interagem com editores de texto para criarem layout e dinâmica de sites.
Tamanha é a frequência e onipresença da tarefa de edição de texto que a eficiência, flexibilidade e o repertório de ferramentas de editores de texto tornam-se quesitos críticos para se atingir produtividade e conforto na edição de textos.
Qualquer tarefa de aprendizado requer um certo esforço. Todo programa introduz novos conceitos, opções e configurações que transformam o modus operanti do usuário. Em princípio, quanto maior o esforço, maior o benefício. Quem quer apenas escrever textos, pode-se contentar com um editor básico, cuja as únicas opções são digitar o texto, abrir e salvar o documento ou pode utilizar um editor que permita pré-configurar ações, formatar o conteúdo, revisar a ortografia, etc, além da ação básica que é escrever textos.
Qualquer usuário de computador pode abrir o primeiro tipo de editor e imediatamente começar a escrever, a curto prazo, sua ação terá consequências imediatas e não requer conhecimentos adicionais. Por outro lado, esse usuário terá que fazer esforço para digitar o mesmos cabeçalho todos os dias.
O outro tipo de editor permite que o usuário pré-configure o cabeçalho do documento e todos os dias esse trecho já estará digitado. Em contrapartida, o usuário deve aprender como pré-configurar o editor. O que requer esforço para aprender a utilizar o programa escolhido. O benefício somente será observado a médio/longo prazo, quando o tempo ganho ao utilizar a configuração será superior ao tempo consumido aprendendo sobre o programa. O “Vim”1 é um editor de texto extremamente configurável, criado para permitir a edição de forma eficiente, tornando-a produtiva e confortável. Também é uma aprimoração do editor “Vi”, um tradicional programa dos sistemas Unix. Possui uma série de mudanças em relação a este último. O próprio slogan do Vim é Vi IMproved, ou seja, Vi Melhorado. O Vim é tão conhecido e respeitado entre programadores, e tão útil para programação, que muitos o consideram uma verdadeira “IDE (Integrated Development Environment, em português, Ambiente Integrado de Desenvolvimento)”.
Ele é capaz de reconhecer mais de 500 sintaxes de linguagens de programação e marcação, possui mapeamento para teclas, macros, abreviações, busca por Expressões Regulares2, entre outras facilidades.
A figura 1.1 mostra o vim sendo usando para editar o arquivo o desse livro sobre vim.
Figura 1.1 - Usando o vim para editar o código em LaTex
O Vim conta com uma comunidade bastante atuante e é, ao lado do Emacs3, um dos editores mais usados nos sistemas GNU/Linux4, embora esteja também disponível em outros sistemas, como o Windows e o Macintosh.
1. Vim - http://www.vim.org ↩
2. Expressões Regulares - http://guia-er.sourceforge.net/guia-er.html ↩
3. Emacs - http://www.gnu.org/software/emacs/ ↩
4. O kernel Linux sem os programas GNU não serviria para muita coisa. ↩