SlideShare ist ein Scribd-Unternehmen logo
1 von 29
Downloaden Sie, um offline zu lesen
Por que Vim?




Willian Molinari (a.k.a PotHix)
Por que o Vim é o que é
Os modos do Vim

    Visual
    Inserção
    Comandos
    Normal
O modo Visual

v para seleção
V para seleção da linha
ctrl-v para seleção em bloco
O modo Inserção

i, a, o
    Antes, depois, próxima
Variações maiúsculas
Alguns atalhos do teminal
O modo de comandos

usar ":" no modo normal
chamadas externas com !
comandos internos
atribuir configurações
:%s/substituir/por_isso/g
Salvando e saindo
Resolvendo problemas :D
:w salvar (write)
:q sair (quit)
:wqa (salvar e sair de todos)
:e! reabrir o arquivo atual
ZZ o famoso "Zalva e Zai"
O modo Normal

O mais utilizado
Porta para outros modos
/busca_com_barra
Movimentação
Exclusão
Alteração
Movimentação no Vim

Mudança de paradigma
  Utilizar as teclas h,j,k,l (←↓↑→)
Acesso fácil as teclas
Navegando entre palavras
  w,e,b
Começo e fim de linha
  0, ^, $
Teclas com motions

Combinação de comandos
Pense mais antes de agir
Movimentação
  f ind
  to
Alteração

Alterando (changing) texto
substituindo (replace)
copiando e colando
   yank and paste
Exclusão

Excluindo (delete)
Excluindo diretamente (x)
Facilidade de exclusão
utilizando as motions!
Utilizando buffers

Tudo aberto entra em buffer
Lidar com buffers "na mão"
BufExplorer
Screens

Split Horizontal
Split Vertical
Tabs
Movimentação entre screen
Organização dos screens
Screens e boas maneiras

split com os arquivos
relacionados
um contexto por tab
Macros

A tecla q inicia a gravação
Usar @letra para executar
@@ executa a ultima macro
novamente
Plugins!
Rails.vim

Rmodel
Rcontroller
Rview
Rextract
Surround.vim
 Alterando com cs"'
 Excluindo com ds"
 Inserindo com ys2w'
     ys - surround
     2w - 2 palavras
     ' - para inserir
 repeat.vim
Nerdtree
NERDTreeToggle
? para modos
Snipmate
Snippets textmate like
Facilmente configurável
Valores padrões
Fácil organização
matchit
Melhoria da função %
Encontra começo/fim de:
  if
  blocos
  chaves, colchetes,
  parenteses e etc
  tags (HTML e etc)
fugitive
:Git
:Gblame
:Gstatus
:Gsplit
Plugins diversos
Vimpress
  postar no blog direto do Vim
  correção ortográfica
ragtag
endwise
IndexedSearch
Killer commands
  xp
  gf
  ctrl-]
  =
  ctrl-p
   :AV
Configurações amigonas

Abrir APIDock
Alterar erros de comandos
Atalhos para plugins
Outras funções para teclas
Recomendações
 Screencasts
   Vimeo
   Vimcasts
 Vimbook
 Estudo de .vimrc
 @vimtips
Obvervações finais
Saiba que não será fácil
Curva de aprendizado
Treine sua digitação
Você só verá os seus
resultados com a prática
That's All Folks!



     Perguntas?


                    Thanks!

pothix@pothix.com         http://pothix.com/blog

Weitere ähnliche Inhalte

Was ist angesagt?

LabMM3 - Aula teórica 13
LabMM3 - Aula teórica 13LabMM3 - Aula teórica 13
LabMM3 - Aula teórica 13
Carlos Santos
 
(A16) LabMM3 - JavaScript - Erros
(A16) LabMM3 - JavaScript - Erros(A16) LabMM3 - JavaScript - Erros
(A16) LabMM3 - JavaScript - Erros
Carlos Santos
 
Tutorial hacker.BAT
Tutorial hacker.BATTutorial hacker.BAT
Tutorial hacker.BAT
rphasaigg
 
[Curso Java Básico] Aula 11: Variáveis - Tipos Primitivos
[Curso Java Básico] Aula 11: Variáveis - Tipos Primitivos[Curso Java Básico] Aula 11: Variáveis - Tipos Primitivos
[Curso Java Básico] Aula 11: Variáveis - Tipos Primitivos
Loiane Groner
 

Was ist angesagt? (20)

Ciclo de vida de um componente react
Ciclo de vida de um componente reactCiclo de vida de um componente react
Ciclo de vida de um componente react
 
Vim - Um editor onipresente e flexível
Vim - Um editor onipresente e flexívelVim - Um editor onipresente e flexível
Vim - Um editor onipresente e flexível
 
LabMM3 - Aula teórica 13
LabMM3 - Aula teórica 13LabMM3 - Aula teórica 13
LabMM3 - Aula teórica 13
 
Aula 02 - Escolha caso
Aula 02 - Escolha casoAula 02 - Escolha caso
Aula 02 - Escolha caso
 
(A16) LabMM3 - JavaScript - Erros
(A16) LabMM3 - JavaScript - Erros(A16) LabMM3 - JavaScript - Erros
(A16) LabMM3 - JavaScript - Erros
 
Tutorial hacker.BAT
Tutorial hacker.BATTutorial hacker.BAT
Tutorial hacker.BAT
 
Nada sobre JavaScript
Nada sobre JavaScriptNada sobre JavaScript
Nada sobre JavaScript
 
XSS (Cross site scripting)
XSS (Cross site scripting)XSS (Cross site scripting)
XSS (Cross site scripting)
 
QConSP: Do cache ao cluster, escalando com Rails
QConSP: Do cache ao cluster, escalando com RailsQConSP: Do cache ao cluster, escalando com Rails
QConSP: Do cache ao cluster, escalando com Rails
 
Introdução PLSQL
Introdução PLSQLIntrodução PLSQL
Introdução PLSQL
 
Aula CRONTAB
Aula CRONTABAula CRONTAB
Aula CRONTAB
 
JavaScript - #Aula04 parte 02 - Variaveis e Constantes
JavaScript - #Aula04 parte 02 - Variaveis e ConstantesJavaScript - #Aula04 parte 02 - Variaveis e Constantes
JavaScript - #Aula04 parte 02 - Variaveis e Constantes
 
Nmap tips & tricks
Nmap tips & tricksNmap tips & tricks
Nmap tips & tricks
 
[Curso Java Básico] Aula 11: Variáveis - Tipos Primitivos
[Curso Java Básico] Aula 11: Variáveis - Tipos Primitivos[Curso Java Básico] Aula 11: Variáveis - Tipos Primitivos
[Curso Java Básico] Aula 11: Variáveis - Tipos Primitivos
 
Desenvolvimento de web sites com php
Desenvolvimento de web sites com phpDesenvolvimento de web sites com php
Desenvolvimento de web sites com php
 
Shell script
Shell scriptShell script
Shell script
 
Introdução ao JavaScript e DOM
Introdução ao JavaScript e DOMIntrodução ao JavaScript e DOM
Introdução ao JavaScript e DOM
 
Shell script i
Shell script iShell script i
Shell script i
 
Apresentação de ruby com blocos de programação, módulos e outros exemplos
Apresentação de ruby com blocos de programação, módulos e outros exemplosApresentação de ruby com blocos de programação, módulos e outros exemplos
Apresentação de ruby com blocos de programação, módulos e outros exemplos
 
Xss
XssXss
Xss
 

Ähnlich wie Vim

Apostila De Visualg
Apostila De VisualgApostila De Visualg
Apostila De Visualg
ecompo
 
Apostila De Visualg
Apostila De VisualgApostila De Visualg
Apostila De Visualg
ecompo
 

Ähnlich wie Vim (20)

Perl From Vi, Part I
Perl From Vi, Part IPerl From Vi, Part I
Perl From Vi, Part I
 
O Vim é seu amigo e não seu inimigo!
O Vim é seu amigo e não seu inimigo!O Vim é seu amigo e não seu inimigo!
O Vim é seu amigo e não seu inimigo!
 
Debugging tips and tricks
Debugging tips and tricksDebugging tips and tricks
Debugging tips and tricks
 
Vim - Produtividade na ponta dos seus dedos
Vim - Produtividade na ponta dos seus dedosVim - Produtividade na ponta dos seus dedos
Vim - Produtividade na ponta dos seus dedos
 
Vim Rocks!
Vim Rocks!Vim Rocks!
Vim Rocks!
 
Produtividade com Eclipse IDE
Produtividade com Eclipse IDEProdutividade com Eclipse IDE
Produtividade com Eclipse IDE
 
TypeScript - Campus party 2013
TypeScript - Campus party 2013TypeScript - Campus party 2013
TypeScript - Campus party 2013
 
Apostila De Visualg
Apostila De VisualgApostila De Visualg
Apostila De Visualg
 
Apostila De Visualg
Apostila De VisualgApostila De Visualg
Apostila De Visualg
 
Aula2
Aula2Aula2
Aula2
 
Programando em Go
Programando em GoProgramando em Go
Programando em Go
 
burlando um WAF
burlando um WAFburlando um WAF
burlando um WAF
 
Ruby on Rails (VERSAO COM LAYOUT CONSERTADO)
Ruby on Rails (VERSAO COM LAYOUT CONSERTADO)Ruby on Rails (VERSAO COM LAYOUT CONSERTADO)
Ruby on Rails (VERSAO COM LAYOUT CONSERTADO)
 
Introdução ao Java 5
Introdução ao Java 5Introdução ao Java 5
Introdução ao Java 5
 
Python para Programadores
Python para ProgramadoresPython para Programadores
Python para Programadores
 
Linux Editor VI
Linux Editor VILinux Editor VI
Linux Editor VI
 
Java Básico :: Java Console
Java Básico :: Java ConsoleJava Básico :: Java Console
Java Básico :: Java Console
 
Clean code
Clean codeClean code
Clean code
 
Codigos cmd
Codigos cmdCodigos cmd
Codigos cmd
 
Minicurso Shell Script
Minicurso Shell ScriptMinicurso Shell Script
Minicurso Shell Script
 

Mehr von Willian Molinari

Abertura do ruby_rails_no_mundo_real_guru_sp
Abertura do ruby_rails_no_mundo_real_guru_spAbertura do ruby_rails_no_mundo_real_guru_sp
Abertura do ruby_rails_no_mundo_real_guru_sp
Willian Molinari
 

Mehr von Willian Molinari (16)

Desconstruindo a web
Desconstruindo a webDesconstruindo a web
Desconstruindo a web
 
Mesos
MesosMesos
Mesos
 
As escolhas do desenvolvedor
As escolhas do desenvolvedorAs escolhas do desenvolvedor
As escolhas do desenvolvedor
 
Desenvolvimento de jogos com HTML5 e javascript
Desenvolvimento de jogos com HTML5 e javascriptDesenvolvimento de jogos com HTML5 e javascript
Desenvolvimento de jogos com HTML5 e javascript
 
Javascript and browser games
Javascript and browser gamesJavascript and browser games
Javascript and browser games
 
How we used ruby to build locaweb's cloud (http://presentations.pothix.com/ru...
How we used ruby to build locaweb's cloud (http://presentations.pothix.com/ru...How we used ruby to build locaweb's cloud (http://presentations.pothix.com/ru...
How we used ruby to build locaweb's cloud (http://presentations.pothix.com/ru...
 
Html5, gamedev e o skeleton jigsaw
Html5, gamedev e o skeleton jigsawHtml5, gamedev e o skeleton jigsaw
Html5, gamedev e o skeleton jigsaw
 
Ruby e xmpp
Ruby e xmppRuby e xmpp
Ruby e xmpp
 
Game network programming
Game network programmingGame network programming
Game network programming
 
Locasberos
LocasberosLocasberos
Locasberos
 
Simplestack
SimplestackSimplestack
Simplestack
 
Implementações paralelas
Implementações paralelasImplementações paralelas
Implementações paralelas
 
TDC2011 - Desenvolvimento de jogos com Javascript e HTML5
TDC2011 - Desenvolvimento de jogos com Javascript e HTML5TDC2011 - Desenvolvimento de jogos com Javascript e HTML5
TDC2011 - Desenvolvimento de jogos com Javascript e HTML5
 
FLISOL SJC - Desenvolvimento de jogos com javascrit e HTML5
FLISOL SJC - Desenvolvimento de jogos com javascrit e HTML5FLISOL SJC - Desenvolvimento de jogos com javascrit e HTML5
FLISOL SJC - Desenvolvimento de jogos com javascrit e HTML5
 
Abertura do ruby_rails_no_mundo_real_guru_sp
Abertura do ruby_rails_no_mundo_real_guru_spAbertura do ruby_rails_no_mundo_real_guru_sp
Abertura do ruby_rails_no_mundo_real_guru_sp
 
What is and how does work RubyLearning.org
What is and how does work RubyLearning.orgWhat is and how does work RubyLearning.org
What is and how does work RubyLearning.org
 

Kürzlich hochgeladen

Kürzlich hochgeladen (8)

Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdf
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdf
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 

Vim