SlideShare a Scribd company logo
1 of 29
Download to read offline
CRIANDO APPS V
                                     RUBY/ROR I
                                   UTILIZANDO M

                                    Rafael Cruz Rubert
                                       @rafarubert

                                    rafa@yack.com.br


sábado, 18 de dezembro de 2010
SOBRE

    • ProgrAmador                      desde 2005

    • Conheceu                    Ruby 2007

    • Também                     usuário VIM desde 2007

    • Tentando                   usar TextMate (Caiu na besteira
       de comprar)

    • Freelancer                  =)

sábado, 18 de dezembro de 2010
POR QUE UTILIZAR VIM?
    • Simples

    • Robusto

    • Comunidade                 participativa

    • Muitos              plugins

    • Boa          documentação

    • Funfa           no *nix, Win, Mac

    • Versão              melhorada VI
sábado, 18 de dezembro de 2010
POR QUE NÃO UTILIZAR VIM?
    •   Curva de aprendizagem lenta

    •   Você é um programador
        Delphi, .NET, ...

    •   Gosta muito do seu mouse

    •   Adora ver seu computador
        bebendo memória e travando

    •   Não gosta que te chamem
        de: NERD/GEEK/ET/Fã de
        Matrix ou StarWars

sábado, 18 de dezembro de 2010
GUIA DE INSTALAÇÃO(MAC)
   •   https://github.com/b4winckler/macvim/downloads

   •   Baixar/Extrair

   •   Arrastar MacVim para Aplicações

   •   Colar mvim em /usr/local/bin/

   •   git clone git://github.com/akitaonrails/vimfiles.git ~/.vim

   •   cd .vim

   •   git submodule init

   •   git submodule update

   •   ln -s ~/.vim/vimrc ~/.vimrc
sábado, 18 de dezembro de 2010
PRIMEIRA PARTE
                                     VIM básico




sábado, 18 de dezembro de 2010
TRABALHANDO COM
                                         ARQUIVOS




sábado, 18 de dezembro de 2010
MODOS DO VIM

      COMANDO                       INSERÇÃO    VISUAL




            <Esc>                      i,a        v


sábado, 18 de dezembro de 2010
ABRINDO UM ARQUIVO
                                              Abre mvim em um arquivo
                                 mvim
                                                       vazio
                         mvim arquivo.txt    Abre o arquivo.txt com mvim

                                             Abre o arquivo.txt na quinta
                     mvim +5 arquivo.txt
                                                         linha
                                              Abre o arquivo.txt com o
               mvim /redbull arquivo.txt
                                              ponteiro na palavra redbull
                                             com o mvim aberto abrimos
                      :e outro_arquivo.txt
                                                  outro_arquivo.txt


sábado, 18 de dezembro de 2010
SAINDO DE UM ARQUIVO
                     :q          Sai do arquivo avisando se o arquivo foi editado

                    :q!             Sai do arquivo, sem querer saber de nada

                  :wq                    Sai do arquivo e salva o mesmo

                     :x               Faz o mesmo que o comando acima

   :w >> “novo.txt”                     Salva o arquivo com outro nome

     :saveas novo.txt                 Faz o mesmo que o comando acima


sábado, 18 de dezembro de 2010
ESCREVENDO EM UM
                                ARQUIVO
                   i                   Modo de inserção onde esta o ponteiro

                   I                  Modo de inserção um no começo da linha

                   a             Modo de inserção um caractere a frente do ponteiro

                  A                        Modo de inserção final da linha

                  o                    Modo de inserção em uma linha acima

                 O                     Modo de inserção em uma linha abaixo


sábado, 18 de dezembro de 2010
APAGANDO
           dd                                 Apaga linha atual

           D                                Apagar resto da linha

           d$                      Apaga do ponto atual ate o final da linha

           d0                     Apaga do ponto atual ate o inicio da linha

           dˆ               Apaga do ponto atual ate o primeiro caractere não nulo

            x                                 Apenas apaga =)


sábado, 18 de dezembro de 2010
COPIANDO

                        yy                   Copia a linha


                         Y        Faz o mesmo que o comando acima


                        ye        Copia do cursor ao final da palavra


                        yb       Copia do começo da palavra ao cursor


sábado, 18 de dezembro de 2010
COLANDO
                                 Cola o que foi copiado/apagado para baixo
             p(minúsculo)
                                                 do cursor

                                 Cola o que foi copiado/apagado para cima
             P(maiúsculo)
                                                 do cursor

                                 Cola o que foi copiado/apagado antes do
                         [p
                                                  cursor

                                 Cola o que foi copiado/apagado depois do
                         ]p
                                                   cursor


sábado, 18 de dezembro de 2010
NAVEGANDO
                     0                 Vai para o inicio da linha
                     $                 Vai para o final da linha
                     gg           Vai para primeira linha do arquivo
                     G             Vai para ultima linha do arquivo
                     w                     Próxima palavra
                     b                   Começo da palavra
                     e                      Fim da palavra
                   :pwd           Mostra caminho do arquivo atual
               :cd diretório          Entra em outros diretórios


sábado, 18 de dezembro de 2010
PROCURANDO POR ALGO?
                   :numero_linha         Vai para a linha de numero

  /palavra ou expressão regular vai para a próxima palavra ou regex

  ?palavra ou expressão regular      Vai para a palavra anterior ou regex

                                     Após comandos acima, pula para o
                                 n
                                       próximo registro encontrado
                                     Após comandos acima pula para o
                                 N
                                       registro anterior encontrado


sábado, 18 de dezembro de 2010
SUBSTITUINDO

                :s/ola/ole               Substitui a primeira ocorrência


              :s/ola/ole/g               Substitui todas as ocorrências

                                  Substitui todas as ocorrências, confirmando
            :s/ola/ole/gc
                                                      antes

                                 Substitui todas as ocorrências respeitando case
             :s/ola/ole/gi
                                                     sensitive


sábado, 18 de dezembro de 2010
FIZ MERDA, E AGORA?
                   u                       Desfaz a ultima alteração

         <Ctrl>+r                            Refaz ultima alteração

                  g,                       Avança lista de alterações

                  g;                       Recua lista de alterações

        :earlier 5m              Retorna documento ocmo era a 5 minutos atras

          :changes                          Mostra todas alterações


sábado, 18 de dezembro de 2010
SEGUNDA PARTE:
                                            VIM
                                  PARA PROJETOS
                                       RUBY/ROR




sábado, 18 de dezembro de 2010
CRIANDO UM PROJETO

                                 :Rails new my_project -d postgresql


                                       Cria um novo projeto


                                           :cd my_project


                                          Entra no projeto


sábado, 18 de dezembro de 2010
TRABALHANDO COM
                            MODELOS
                                 :Rgenerate model Post title:string


                                 Criamos um model chamado Post


                                          :Rmodel <tab>


                                   Navegamos entre os models


sábado, 18 de dezembro de 2010
TRABALHANDO COM
                         CONTROLADORES
                                     :Rgenerate controller Posts


                                 Criamos um controller chamado post


                                           :Rmodel <tab>


                                     Navegamos entre os models


sábado, 18 de dezembro de 2010
TRABALHANDO COM VISÕES

                                 :e app/views/posts/index.html.erb




sábado, 18 de dezembro de 2010
TRABALHANDO COM
                            MIGRAÇÕES

                                 :Rgenerate migration AjustPost




                                    Criamos uma migration




sábado, 18 de dezembro de 2010
EXECUTANDO TAREFAS RAKE

                                 :Rake db:create



                                 :Rake db:create



                                    :Rake -T



sábado, 18 de dezembro de 2010
UTILIDADES
               <Control>+x+o                        Abre autocomplete
                                  p        Abre navegador de arquivos lateral
                                  b               Lista arquivos abertos
                                  t                Abre Command+T
                     :Ack “texto”          Procura texto nos arquivos do projeto
                                 :split     Divide a janela no meio(horizontal)
                             :vsplit         Divide a janela no meio(vertical)


sábado, 18 de dezembro de 2010
RODANDO APLICAÇÃO

                                 :Rails console


                                   :Rserver


                                  :Rpreview


                                   Rserver!-


sábado, 18 de dezembro de 2010
SITES INTERESSANTES
    • http://eustaquiorangel.com

    • http://akitaonrails.com/

    • http://vivaotux.blogspot.com/

    • http://aurelio.net/

    • http://www.viemu.com/

    • http://www.vim.org

    • http://twitter.com/vimtips

sábado, 18 de dezembro de 2010
OBRIGADO
                         @rafarubert
                      rafa@yack.com.br


  Ilustrações
  Italo Maia - italo.maia@gmail.com
  Marcelo Casaquevit - casaqueviti@gmail.com

  Referências
  http://akitaonrails.com/
   http://eustaquiorangel.com
   http://code.google.com/p/vimbook/




sábado, 18 de dezembro de 2010

More Related Content

Featured

How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 

Featured (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

Criando Apps Ruby/RoR utilizando VIM

  • 1. CRIANDO APPS V RUBY/ROR I UTILIZANDO M Rafael Cruz Rubert @rafarubert rafa@yack.com.br sábado, 18 de dezembro de 2010
  • 2. SOBRE • ProgrAmador desde 2005 • Conheceu Ruby 2007 • Também usuário VIM desde 2007 • Tentando usar TextMate (Caiu na besteira de comprar) • Freelancer =) sábado, 18 de dezembro de 2010
  • 3. POR QUE UTILIZAR VIM? • Simples • Robusto • Comunidade participativa • Muitos plugins • Boa documentação • Funfa no *nix, Win, Mac • Versão melhorada VI sábado, 18 de dezembro de 2010
  • 4. POR QUE NÃO UTILIZAR VIM? • Curva de aprendizagem lenta • Você é um programador Delphi, .NET, ... • Gosta muito do seu mouse • Adora ver seu computador bebendo memória e travando • Não gosta que te chamem de: NERD/GEEK/ET/Fã de Matrix ou StarWars sábado, 18 de dezembro de 2010
  • 5. GUIA DE INSTALAÇÃO(MAC) • https://github.com/b4winckler/macvim/downloads • Baixar/Extrair • Arrastar MacVim para Aplicações • Colar mvim em /usr/local/bin/ • git clone git://github.com/akitaonrails/vimfiles.git ~/.vim • cd .vim • git submodule init • git submodule update • ln -s ~/.vim/vimrc ~/.vimrc sábado, 18 de dezembro de 2010
  • 6. PRIMEIRA PARTE VIM básico sábado, 18 de dezembro de 2010
  • 7. TRABALHANDO COM ARQUIVOS sábado, 18 de dezembro de 2010
  • 8. MODOS DO VIM COMANDO INSERÇÃO VISUAL <Esc> i,a v sábado, 18 de dezembro de 2010
  • 9. ABRINDO UM ARQUIVO Abre mvim em um arquivo mvim vazio mvim arquivo.txt Abre o arquivo.txt com mvim Abre o arquivo.txt na quinta mvim +5 arquivo.txt linha Abre o arquivo.txt com o mvim /redbull arquivo.txt ponteiro na palavra redbull com o mvim aberto abrimos :e outro_arquivo.txt outro_arquivo.txt sábado, 18 de dezembro de 2010
  • 10. SAINDO DE UM ARQUIVO :q Sai do arquivo avisando se o arquivo foi editado :q! Sai do arquivo, sem querer saber de nada :wq Sai do arquivo e salva o mesmo :x Faz o mesmo que o comando acima :w >> “novo.txt” Salva o arquivo com outro nome :saveas novo.txt Faz o mesmo que o comando acima sábado, 18 de dezembro de 2010
  • 11. ESCREVENDO EM UM ARQUIVO i Modo de inserção onde esta o ponteiro I Modo de inserção um no começo da linha a Modo de inserção um caractere a frente do ponteiro A Modo de inserção final da linha o Modo de inserção em uma linha acima O Modo de inserção em uma linha abaixo sábado, 18 de dezembro de 2010
  • 12. APAGANDO dd Apaga linha atual D Apagar resto da linha d$ Apaga do ponto atual ate o final da linha d0 Apaga do ponto atual ate o inicio da linha dˆ Apaga do ponto atual ate o primeiro caractere não nulo x Apenas apaga =) sábado, 18 de dezembro de 2010
  • 13. COPIANDO yy Copia a linha Y Faz o mesmo que o comando acima ye Copia do cursor ao final da palavra yb Copia do começo da palavra ao cursor sábado, 18 de dezembro de 2010
  • 14. COLANDO Cola o que foi copiado/apagado para baixo p(minúsculo) do cursor Cola o que foi copiado/apagado para cima P(maiúsculo) do cursor Cola o que foi copiado/apagado antes do [p cursor Cola o que foi copiado/apagado depois do ]p cursor sábado, 18 de dezembro de 2010
  • 15. NAVEGANDO 0 Vai para o inicio da linha $ Vai para o final da linha gg Vai para primeira linha do arquivo G Vai para ultima linha do arquivo w Próxima palavra b Começo da palavra e Fim da palavra :pwd Mostra caminho do arquivo atual :cd diretório Entra em outros diretórios sábado, 18 de dezembro de 2010
  • 16. PROCURANDO POR ALGO? :numero_linha Vai para a linha de numero /palavra ou expressão regular vai para a próxima palavra ou regex ?palavra ou expressão regular Vai para a palavra anterior ou regex Após comandos acima, pula para o n próximo registro encontrado Após comandos acima pula para o N registro anterior encontrado sábado, 18 de dezembro de 2010
  • 17. SUBSTITUINDO :s/ola/ole Substitui a primeira ocorrência :s/ola/ole/g Substitui todas as ocorrências Substitui todas as ocorrências, confirmando :s/ola/ole/gc antes Substitui todas as ocorrências respeitando case :s/ola/ole/gi sensitive sábado, 18 de dezembro de 2010
  • 18. FIZ MERDA, E AGORA? u Desfaz a ultima alteração <Ctrl>+r Refaz ultima alteração g, Avança lista de alterações g; Recua lista de alterações :earlier 5m Retorna documento ocmo era a 5 minutos atras :changes Mostra todas alterações sábado, 18 de dezembro de 2010
  • 19. SEGUNDA PARTE: VIM PARA PROJETOS RUBY/ROR sábado, 18 de dezembro de 2010
  • 20. CRIANDO UM PROJETO :Rails new my_project -d postgresql Cria um novo projeto :cd my_project Entra no projeto sábado, 18 de dezembro de 2010
  • 21. TRABALHANDO COM MODELOS :Rgenerate model Post title:string Criamos um model chamado Post :Rmodel <tab> Navegamos entre os models sábado, 18 de dezembro de 2010
  • 22. TRABALHANDO COM CONTROLADORES :Rgenerate controller Posts Criamos um controller chamado post :Rmodel <tab> Navegamos entre os models sábado, 18 de dezembro de 2010
  • 23. TRABALHANDO COM VISÕES :e app/views/posts/index.html.erb sábado, 18 de dezembro de 2010
  • 24. TRABALHANDO COM MIGRAÇÕES :Rgenerate migration AjustPost Criamos uma migration sábado, 18 de dezembro de 2010
  • 25. EXECUTANDO TAREFAS RAKE :Rake db:create :Rake db:create :Rake -T sábado, 18 de dezembro de 2010
  • 26. UTILIDADES <Control>+x+o Abre autocomplete p Abre navegador de arquivos lateral b Lista arquivos abertos t Abre Command+T :Ack “texto” Procura texto nos arquivos do projeto :split Divide a janela no meio(horizontal) :vsplit Divide a janela no meio(vertical) sábado, 18 de dezembro de 2010
  • 27. RODANDO APLICAÇÃO :Rails console :Rserver :Rpreview Rserver!- sábado, 18 de dezembro de 2010
  • 28. SITES INTERESSANTES • http://eustaquiorangel.com • http://akitaonrails.com/ • http://vivaotux.blogspot.com/ • http://aurelio.net/ • http://www.viemu.com/ • http://www.vim.org • http://twitter.com/vimtips sábado, 18 de dezembro de 2010
  • 29. OBRIGADO @rafarubert rafa@yack.com.br Ilustrações Italo Maia - italo.maia@gmail.com Marcelo Casaquevit - casaqueviti@gmail.com Referências http://akitaonrails.com/ http://eustaquiorangel.com http://code.google.com/p/vimbook/ sábado, 18 de dezembro de 2010