O documento apresenta o editor de texto VIM, descrevendo sua história, funcionalidades e como pode ser customizado através de plugins. O autor defende que VIM é uma poderosa ferramenta de edição que melhora a produtividade ao ser devidamente aprendido e configurado.
2. Quem Sou Eu?
● Graduação:
– Eng. Telecomunicações
– Analise de Sistemas Orientado a Objetos
● GNU/Linux: ~2002
● Analista de Infraestrutura GNU/Linux
● Programador FOSS:
– Anarchy, USB Manager, Tiamat, C-CairoPlot...
– Cairoplot, Web2py e Pelican
● Passatempos:
– http://mindbending.org
– Hack 'n' Cast
'
3. Objetivo da Palestra
● Everybody hates VIM
– Todo primeiro uso do VIM é traumático
● i, ESC, :wq, :q!
● Mostrar as possibilidades
● Esclarecer designs
● Competidor real
● DIY “IDE”
5. Mas... VIM?
● Sim... por quê não?
● Ele é onipresente
● Ele não precisa de ambiente
gráfico
● É leve
● É old school
● Suporta inúmeras
linguagens
● Customizável
● Bem documentado
● Supera editores atuais
6. Vale o esforço?
● Editar texto é uma tarefa comum
– Programador
– Analista de sistemas
– Usuário comum
● Conhecer sua ferramenta de trabalho aumenta a
produtividade
● Por que o VIM é tão diferente?
8. Breve História
● Existiam apenas computadores
"centrais"
● Eram utilizados "terminais
burros"
● Não era comum o uso de
"monitores"
● Os terminais eram lentos!
● O "padrão" de comunicação era
a TTY:
– Teletypewriter ou
Teleprinter
9. Breve História
● 1971: Ken Thompson cria "ed", um
line editor
– Implementa o conceito de modos
● 1976: Bill Joy cria "ex", outro line
editor
– Implementa os comandos mais
conhecidos do vi
● 1976: Bill Joy implementa o
comando :visual (:vi)
● 1979: a situação se inverte...
● 1991: Bram Moolenaar cria o VIM
10. Entendendo o VIM
● Principais modos:
– Comando
– Inserção
– Normal
● Mas...
– Normal, Visual, Select, Insert,
Command-line, Ex, Operator-pending,
Replace, Virtual
Replace, Insert Normal, Insert
Visual, Insert Select
● HJKL & ESC
● Keep your damn hands in the
Home Row
14. Vanilla VIM
● Setup básico:
set nocompatible " Desativa compatibilidade com VI
filetype plugin indent on " Ativa a auto indentação
syntax on " Ativa Syntax Highlight
set hlsearch incsearch smartcase " Melhora a busca
set number " Ativa número de linha
set ruler " Ativa indicador de posição
set showcmd " Ativa indicador de comando em execução
set showmatch " Ativa destaque de pares
set cursorline " Destaca a linha atual
set hidden " Desabilita o 'modo chato' dos buffers
15. Buffers
● Abra novos arquivos com :e <fname>
● Liste os buffers com :ls
● Mude de buffer com :b1, :b2, :b3
● Cycle: :bnext e :bprev
● Crie atalhos:
– nmap <c-tab> :bn<CR>
– nmap <c-tab> :bp<CR>
● Execuções batch!
35. Fontes de Aprendizado
● Livros Gratuitos
◾ A Bite of VIM
◾ VIM Cookbook
◾ VIM Book
● Livros Pagos
◾ Learing VI and VIM Editors
◾ Hacking VIM
◾ Pratical VIM
● Vídeos
◾ VIMCasts
◾ Derek Wyatt's Videos
● Sites:
◾ VIM Ninjas
◾ USE VIM
◾ VIM Bits
◾ VIM Awsome
◾ TIL VIM
◾ r/vim
◾ r/vimplugins
◾ r/vim_magic
◾ VIM | Stack Overflow
● .vimrc