porque você deve aprender vim hoje

106
PEDROFRANCESCHI [email protected] pedrofranceschi.com @pedroh96 PORQUE VOCÊ DEVE APRENDER VIM HOJE.

Upload: pedro-franceschi

Post on 25-May-2015

1.569 views

Category:

Technology


1 download

DESCRIPTION

Palestra na Hack Design Conf sobre VIm

TRANSCRIPT

Page 2: Porque você deve aprender VIm hoje

IDEx

Editores de texto

Page 3: Porque você deve aprender VIm hoje

“Write programs that do one thing and do it well.”

- Filosofia UNIX

Page 4: Porque você deve aprender VIm hoje

Background...

Page 5: Porque você deve aprender VIm hoje

Background...

TextMate (3 anos)

Page 6: Porque você deve aprender VIm hoje
Page 7: Porque você deve aprender VIm hoje
Page 8: Porque você deve aprender VIm hoje

Background...

Page 9: Porque você deve aprender VIm hoje

Background...

Emacs (~6 meses)

Page 10: Porque você deve aprender VIm hoje

EMACS

Page 11: Porque você deve aprender VIm hoje

EMACS

scape

Page 12: Porque você deve aprender VIm hoje

EMACS

scapeeta

Page 13: Porque você deve aprender VIm hoje

EMACS

scapeetalt

Page 14: Porque você deve aprender VIm hoje

EMACS

scapeetaltontrol

Page 15: Porque você deve aprender VIm hoje

EMACS

scapeetaltontrolhift

Page 16: Porque você deve aprender VIm hoje

Editor war!!

Emacs x Vim

Page 17: Porque você deve aprender VIm hoje

“EMACS Makes Any Computer Slow.”

Page 18: Porque você deve aprender VIm hoje

“Emacs é um ótimo sistema operacional. Só falta um editor de texto decente.”

Page 19: Porque você deve aprender VIm hoje
Page 20: Porque você deve aprender VIm hoje

Dando uma chance ao Vim...

Page 21: Porque você deve aprender VIm hoje
Page 22: Porque você deve aprender VIm hoje

Vim = Vi(Improved)

Page 23: Porque você deve aprender VIm hoje

Vim = Vi(Improved)

Page 24: Porque você deve aprender VIm hoje

Vim = Vi(Improved)

•Vim phylosophy

Page 25: Porque você deve aprender VIm hoje

Vim = Vi(Improved)

•Vim phylosophy

•Download e uso

Page 26: Porque você deve aprender VIm hoje

Vim = Vi(Improved)

•Vim phylosophy

•Download e uso

•.vimrc

Page 27: Porque você deve aprender VIm hoje

Vim = Vi(Improved)

•Vim phylosophy

•Download e uso

•.vimrc

•Colorschemes (temas) e plugins

Page 28: Porque você deve aprender VIm hoje

Vim = Vi(Improved)

•Vim phylosophy

•Download e uso

•.vimrc

•Colorschemes (temas) e plugins

•Demonstração

Page 29: Porque você deve aprender VIm hoje

Vimphylosophy

Page 30: Porque você deve aprender VIm hoje

Esqueça tudo que você sabe sobre qualquer outro editor de texto.

Page 31: Porque você deve aprender VIm hoje

Vim = eficiência

Page 32: Porque você deve aprender VIm hoje
Page 33: Porque você deve aprender VIm hoje

Normal mode

Insert mode

Page 34: Porque você deve aprender VIm hoje

h j k l

Page 35: Porque você deve aprender VIm hoje

2 keystrokes para ir para qualquer lugar do arquivo.

Page 36: Porque você deve aprender VIm hoje

2 keystrokes para ir para qualquer lugar do arquivo.

(sério)

Page 37: Porque você deve aprender VIm hoje

operator+

movement+

argument

change, delete, yank (copy), visual, etc

word, back word, end of word, find,

‘till, etc

(apenas quando o movement exige)

Page 38: Porque você deve aprender VIm hoje

Exemplos

Page 39: Porque você deve aprender VIm hoje

w - avança uma palavra

Exemplos

Page 40: Porque você deve aprender VIm hoje

w - avança uma palavra3w - avança 3 palavras

Exemplos

Page 41: Porque você deve aprender VIm hoje

w - avança uma palavra3w - avança 3 palavrasW - avança até o próximo espaço

Exemplos

Page 42: Porque você deve aprender VIm hoje

w - avança uma palavra3w - avança 3 palavrasW - avança até o próximo espaçob - volta uma palavra

Exemplos

Page 43: Porque você deve aprender VIm hoje

w - avança uma palavra3w - avança 3 palavrasW - avança até o próximo espaçob - volta uma palavraB - volta até o último espaço

Exemplos

Page 44: Porque você deve aprender VIm hoje

w - avança uma palavra3w - avança 3 palavrasW - avança até o próximo espaçob - volta uma palavraB - volta até o último espaçodw - deleta uma palavra

Exemplos

Page 45: Porque você deve aprender VIm hoje

w - avança uma palavra3w - avança 3 palavrasW - avança até o próximo espaçob - volta uma palavraB - volta até o último espaçodw - deleta uma palavradW - deleta até o próximo espaço

Exemplos

Page 46: Porque você deve aprender VIm hoje

w - avança uma palavra3w - avança 3 palavrasW - avança até o próximo espaçob - volta uma palavraB - volta até o último espaçodw - deleta uma palavradW - deleta até o próximo espaçoci) - deleta dentro dos parênteses e vai para o insert mode.

Exemplos

Page 47: Porque você deve aprender VIm hoje

w - avança uma palavra3w - avança 3 palavrasW - avança até o próximo espaçob - volta uma palavraB - volta até o último espaçodw - deleta uma palavradW - deleta até o próximo espaçoci) - deleta dentro dos parênteses e vai para o insert mode.da) - deleta os parênteses e tudo nele

Exemplos

Page 48: Porque você deve aprender VIm hoje

w - avança uma palavra3w - avança 3 palavrasW - avança até o próximo espaçob - volta uma palavraB - volta até o último espaçodw - deleta uma palavradW - deleta até o próximo espaçoci) - deleta dentro dos parênteses e vai para o insert mode.da) - deleta os parênteses e tudo nelef@ - vai para a próxima ocorrência de “@”

Exemplos

Page 49: Porque você deve aprender VIm hoje

w - avança uma palavra3w - avança 3 palavrasW - avança até o próximo espaçob - volta uma palavraB - volta até o último espaçodw - deleta uma palavradW - deleta até o próximo espaçoci) - deleta dentro dos parênteses e vai para o insert mode.da) - deleta os parênteses e tudo nelef@ - vai para a próxima ocorrência de “@”df@ - deleta tudo até a próxima ocorrência de “@”

Exemplos

Page 50: Porque você deve aprender VIm hoje

Exemplos

Page 51: Porque você deve aprender VIm hoje

Exemplosyw - copia a palavra atual para o clipboard

Page 52: Porque você deve aprender VIm hoje

Exemplosyw - copia a palavra atual para o clipboardyi” - copia tudo dentro das áspas para o clipboard

Page 53: Porque você deve aprender VIm hoje

Exemplosyw - copia a palavra atual para o clipboardyi” - copia tudo dentro das áspas para o clipboardp - cola o que está no clipboard

Page 54: Porque você deve aprender VIm hoje

Exemplosyw - copia a palavra atual para o clipboardyi” - copia tudo dentro das áspas para o clipboardp - cola o que está no clipboard/var - busca por “var” no arquivo

Page 55: Porque você deve aprender VIm hoje

Exemplosyw - copia a palavra atual para o clipboardyi” - copia tudo dentro das áspas para o clipboardp - cola o que está no clipboard/var - busca por “var” no arquivon - vai para a próxima ocorrência da busca

Page 56: Porque você deve aprender VIm hoje

Exemplosyw - copia a palavra atual para o clipboardyi” - copia tudo dentro das áspas para o clipboardp - cola o que está no clipboard/var - busca por “var” no arquivon - vai para a próxima ocorrência da buscaN - vai para a última ocorrência da busca

Page 57: Porque você deve aprender VIm hoje

Exemplosyw - copia a palavra atual para o clipboardyi” - copia tudo dentro das áspas para o clipboardp - cola o que está no clipboard/var - busca por “var” no arquivon - vai para a próxima ocorrência da buscaN - vai para a última ocorrência da busca0 - vai para o início da linha

Page 58: Porque você deve aprender VIm hoje

Exemplosyw - copia a palavra atual para o clipboardyi” - copia tudo dentro das áspas para o clipboardp - cola o que está no clipboard/var - busca por “var” no arquivon - vai para a próxima ocorrência da buscaN - vai para a última ocorrência da busca0 - vai para o início da linha$ - vai para o final da linha

Page 59: Porque você deve aprender VIm hoje

Exemplosyw - copia a palavra atual para o clipboardyi” - copia tudo dentro das áspas para o clipboardp - cola o que está no clipboard/var - busca por “var” no arquivon - vai para a próxima ocorrência da buscaN - vai para a última ocorrência da busca0 - vai para o início da linha$ - vai para o final da linhaControl + u - sobe metade da página

Page 60: Porque você deve aprender VIm hoje

Exemplosyw - copia a palavra atual para o clipboardyi” - copia tudo dentro das áspas para o clipboardp - cola o que está no clipboard/var - busca por “var” no arquivon - vai para a próxima ocorrência da buscaN - vai para a última ocorrência da busca0 - vai para o início da linha$ - vai para o final da linhaControl + u - sobe metade da páginaControl + d - desce metade da página

Page 61: Porque você deve aprender VIm hoje

Exemplosyw - copia a palavra atual para o clipboardyi” - copia tudo dentro das áspas para o clipboardp - cola o que está no clipboard/var - busca por “var” no arquivon - vai para a próxima ocorrência da buscaN - vai para a última ocorrência da busca0 - vai para o início da linha$ - vai para o final da linhaControl + u - sobe metade da páginaControl + d - desce metade da página17G - vai para a linha 17 do arquivo

Page 62: Porque você deve aprender VIm hoje

Exemplosyw - copia a palavra atual para o clipboardyi” - copia tudo dentro das áspas para o clipboardp - cola o que está no clipboard/var - busca por “var” no arquivon - vai para a próxima ocorrência da buscaN - vai para a última ocorrência da busca0 - vai para o início da linha$ - vai para o final da linhaControl + u - sobe metade da páginaControl + d - desce metade da página17G - vai para a linha 17 do arquivogg - vai para o início do arquivo

Page 63: Porque você deve aprender VIm hoje

Exemplosyw - copia a palavra atual para o clipboardyi” - copia tudo dentro das áspas para o clipboardp - cola o que está no clipboard/var - busca por “var” no arquivon - vai para a próxima ocorrência da buscaN - vai para a última ocorrência da busca0 - vai para o início da linha$ - vai para o final da linhaControl + u - sobe metade da páginaControl + d - desce metade da página17G - vai para a linha 17 do arquivogg - vai para o início do arquivoG - vai para o final do arquivo

Page 64: Porque você deve aprender VIm hoje

Downloade

instalação

Page 65: Porque você deve aprender VIm hoje

O vim de console já vem instalado na grande maioria dos Linux/UNIX...

Page 66: Porque você deve aprender VIm hoje

O vim de console já vem instalado na grande maioria dos Linux/UNIX...

... mas existem versões aprimoradas para ambientes gráficos

Page 67: Porque você deve aprender VIm hoje

MacVim: versão otimizada para rodar no Mac OS X (com suporte a janelas,

mouse, abas, etc)http://code.google.com/p/macvim/

gVim: versão oficial do Vim com suporte a janelas para Windows e

Linux (Ubuntu, etc)http://www.vim.org/download.php

Page 68: Porque você deve aprender VIm hoje

.vimrc

Page 69: Porque você deve aprender VIm hoje

O .vimrc é a mágica por trás da customização e da otimização do

uso do vim.

Page 70: Porque você deve aprender VIm hoje

.vimrc (vimfiles)

Page 71: Porque você deve aprender VIm hoje

• É o arquivo de configuração do Vim.

.vimrc (vimfiles)

Page 72: Porque você deve aprender VIm hoje

• É o arquivo de configuração do Vim.

• Definição de preferências, atalhos, macros, etc.

.vimrc (vimfiles)

Page 73: Porque você deve aprender VIm hoje

• É o arquivo de configuração do Vim.

• Definição de preferências, atalhos, macros, etc.

• Definição do colorscheme (tema)

.vimrc (vimfiles)

Page 74: Porque você deve aprender VIm hoje

• É o arquivo de configuração do Vim.

• Definição de preferências, atalhos, macros, etc.

• Definição do colorscheme (tema)

• Lista (Vundle) e configuração de plugins

.vimrc (vimfiles)

Page 75: Porque você deve aprender VIm hoje

• É o arquivo de configuração do Vim.

• Definição de preferências, atalhos, macros, etc.

• Definição do colorscheme (tema)

• Lista (Vundle) e configuração de plugins

• Fica localizado em ~/.vimrc

.vimrc (vimfiles)

Page 76: Porque você deve aprender VIm hoje

• É o arquivo de configuração do Vim.

• Definição de preferências, atalhos, macros, etc.

• Definição do colorscheme (tema)

• Lista (Vundle) e configuração de plugins

• Fica localizado em ~/.vimrc

• Versões do Vim com suporte a modo gráfico (MacVim, gVim, etc) usam também o ~/.gvimrc

.vimrc (vimfiles)

Page 77: Porque você deve aprender VIm hoje

• É o arquivo de configuração do Vim.

• Definição de preferências, atalhos, macros, etc.

• Definição do colorscheme (tema)

• Lista (Vundle) e configuração de plugins

• Fica localizado em ~/.vimrc

• Versões do Vim com suporte a modo gráfico (MacVim, gVim, etc) usam também o ~/.gvimrc

• A comunidade compartilha seus vimfiles no Github.

.vimrc (vimfiles)

Page 78: Porque você deve aprender VIm hoje

• É o arquivo de configuração do Vim.

• Definição de preferências, atalhos, macros, etc.

• Definição do colorscheme (tema)

• Lista (Vundle) e configuração de plugins

• Fica localizado em ~/.vimrc

• Versões do Vim com suporte a modo gráfico (MacVim, gVim, etc) usam também o ~/.gvimrc

• A comunidade compartilha seus vimfiles no Github.

• DICA: comece o seu .vimrc do zero, não o copie, apenas inspire-se no dos outros usuários

.vimrc (vimfiles)

Page 79: Porque você deve aprender VIm hoje

https://github.com/pedrofranceschi/vimfiles

Meus vimfiles

Page 80: Porque você deve aprender VIm hoje

Colorschemese

plugins

Page 81: Porque você deve aprender VIm hoje

Um bom colorscheme torna o uso do Vim agradável aos olhos.

Page 82: Porque você deve aprender VIm hoje

Vim padrão (sem colorscheme)

Page 83: Porque você deve aprender VIm hoje

Colorscheme badwolf

Page 84: Porque você deve aprender VIm hoje

Colorscheme molokai

Page 85: Porque você deve aprender VIm hoje

Colorscheme solarized

Page 86: Porque você deve aprender VIm hoje

DICA: use o Powerline.https://github.com/Lokaltog/powerline

Page 87: Porque você deve aprender VIm hoje

Plugins permitem você fazer literalmente o que quiser com o Vim.

Page 88: Porque você deve aprender VIm hoje

Pathogen (coloque cada plugin em uma pasta e eles serão instalados)

Instalação de plugins

Page 89: Porque você deve aprender VIm hoje

Pathogen (coloque cada plugin em uma pasta e eles serão instalados)

Instalação de plugins

... ou ...

Vundle (defina no seu .vimrc a lista de plugins e eles serão instalados do Github

Page 91: Porque você deve aprender VIm hoje

Bons plugins

Page 92: Porque você deve aprender VIm hoje

Bons plugins

CtrlP - busca de arquivos incrivelmente rápida

Page 93: Porque você deve aprender VIm hoje

Bons plugins

CtrlP - busca de arquivos incrivelmente rápida

Powerline - linha que mostra o status do Vim

Page 94: Porque você deve aprender VIm hoje

Bons plugins

CtrlP - busca de arquivos incrivelmente rápida

Powerline - linha que mostra o status do Vim

YankRing - navegue pelo histórico de yanks (cópias)

Page 95: Porque você deve aprender VIm hoje

Bons plugins

CtrlP - busca de arquivos incrivelmente rápida

Powerline - linha que mostra o status do Vim

YankRing - navegue pelo histórico de yanks (cópias)

ack.vim - busca no projeto (pasta) inteiro

Page 96: Porque você deve aprender VIm hoje

Bons plugins

CtrlP - busca de arquivos incrivelmente rápida

Powerline - linha que mostra o status do Vim

YankRing - navegue pelo histórico de yanks (cópias)

ack.vim - busca no projeto (pasta) inteiro

Surround - manipulação de parênteses, áspas, etc

Page 97: Porque você deve aprender VIm hoje

Bons plugins

CtrlP - busca de arquivos incrivelmente rápida

Powerline - linha que mostra o status do Vim

YankRing - navegue pelo histórico de yanks (cópias)

ack.vim - busca no projeto (pasta) inteiro

Surround - manipulação de parênteses, áspas, etc

Fugitive - o melhor plugin de git de todos os tempos

Page 98: Porque você deve aprender VIm hoje

Demonstração

Page 99: Porque você deve aprender VIm hoje

Conclusões...

Page 100: Porque você deve aprender VIm hoje

“Vim é um gosto adquirido. Você o odeia até imergir nele. Pouca gente consegue,

a maioria simplesmente o odeia.”

- @AlexandreTorres

Page 101: Porque você deve aprender VIm hoje

Vim é doloroso de aprender, mas quem se acostuma não volta atrás.

Page 102: Porque você deve aprender VIm hoje

DICA: $ vimtutor

Page 103: Porque você deve aprender VIm hoje

DICA: vimgolf.com

Page 104: Porque você deve aprender VIm hoje

Não tenha medo de tentar editores e ferramentas novas.

Page 106: Porque você deve aprender VIm hoje

[email protected]

pedrofranceschi.com@pedroh96

PORQUE VOCÊ DEVE APRENDER VIM HOJE.