Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Upcoming SlideShare
Node.js: serious business
Next
Download to read offline and view in fullscreen.

10

Share

Download to read offline

Porque você deve aprender VIm hoje.

Download to read offline

Palestra na Hack Design Conf sobre VIm

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

Porque você deve aprender VIm hoje.

  1. 1. PORQUE VOCÊ DEVE APRENDER VIM HOJE. PEDROFRANCESCHI pedrohfranceschi@gmail.com pedrofranceschi.com @pedroh96
  2. 2. IDE x Editores de texto
  3. 3. “Write programs that do one thing and do it well.” - Filosofia UNIX
  4. 4. Background...
  5. 5. Background... TextMate (3 anos)
  6. 6. Background...
  7. 7. Background... Emacs (~6 meses)
  8. 8. E M A C S
  9. 9. E scape M A C S
  10. 10. E scape M eta A C S
  11. 11. E scape M eta A lt C S
  12. 12. E scape M eta A lt C ontrol S
  13. 13. E scape M eta A lt C ontrol S hift
  14. 14. Emacs x Vim Editor war!!
  15. 15. “EMACS Makes Any Computer Slow.”
  16. 16. “Emacs é um ótimo sistema operacional. Só falta um editor de texto decente.”
  17. 17. Dando uma chance ao Vim...
  18. 18. Vim = Vi(Improved)
  19. 19. Vim = Vi(Improved)
  20. 20. Vim = Vi(Improved) •Vim phylosophy
  21. 21. Vim = Vi(Improved) •Vim phylosophy •Download e uso
  22. 22. Vim = Vi(Improved) •Vim phylosophy •Download e uso •.vimrc
  23. 23. Vim = Vi(Improved) •Vim phylosophy •Download e uso •.vimrc •Colorschemes (temas) e plugins
  24. 24. Vim = Vi(Improved) •Vim phylosophy •Download e uso •.vimrc •Colorschemes (temas) e plugins •Demonstração
  25. 25. Vim phylosophy
  26. 26. Esqueça tudo que você sabe sobre qualquer outro editor de texto.
  27. 27. Vim = eficiência
  28. 28. Normal mode Insert mode
  29. 29. hjkl
  30. 30. 2 keystrokes para ir para qualquer lugar do arquivo.
  31. 31. 2 keystrokes para ir para qualquer lugar do arquivo. (sério)
  32. 32. operator + movement + argument change, delete, yank (copy), visual, etc word, back word, end of word, find, ‘till, etc (apenas quando o movement exige)
  33. 33. Exemplos
  34. 34. Exemplos w - avança uma palavra
  35. 35. Exemplos w - avança uma palavra 3w - avança 3 palavras
  36. 36. Exemplos w - avança uma palavra 3w - avança 3 palavras W - avança até o próximo espaço
  37. 37. Exemplos w - avança uma palavra 3w - avança 3 palavras W - avança até o próximo espaço b - volta uma palavra
  38. 38. Exemplos w - avança uma palavra 3w - avança 3 palavras W - avança até o próximo espaço b - volta uma palavra B - volta até o último espaço
  39. 39. Exemplos w - avança uma palavra 3w - avança 3 palavras W - avança até o próximo espaço b - volta uma palavra B - volta até o último espaço dw - deleta uma palavra
  40. 40. Exemplos w - avança uma palavra 3w - avança 3 palavras W - avança até o próximo espaço b - volta uma palavra B - volta até o último espaço dw - deleta uma palavra dW - deleta até o próximo espaço
  41. 41. Exemplos w - avança uma palavra 3w - avança 3 palavras W - avança até o próximo espaço b - volta uma palavra B - volta até o último espaço dw - deleta uma palavra dW - deleta até o próximo espaço ci) - deleta dentro dos parênteses e vai para o insert mode.
  42. 42. Exemplos w - avança uma palavra 3w - avança 3 palavras W - avança até o próximo espaço b - volta uma palavra B - volta até o último espaço dw - deleta uma palavra dW - deleta até o próximo espaço ci) - deleta dentro dos parênteses e vai para o insert mode. da) - deleta os parênteses e tudo nele
  43. 43. Exemplos w - avança uma palavra 3w - avança 3 palavras W - avança até o próximo espaço b - volta uma palavra B - volta até o último espaço dw - deleta uma palavra dW - deleta até o próximo espaço ci) - deleta dentro dos parênteses e vai para o insert mode. da) - deleta os parênteses e tudo nele f@ - vai para a próxima ocorrência de “@”
  44. 44. Exemplos w - avança uma palavra 3w - avança 3 palavras W - avança até o próximo espaço b - volta uma palavra B - volta até o último espaço dw - deleta uma palavra dW - deleta até o próximo espaço ci) - deleta dentro dos parênteses e vai para o insert mode. da) - deleta os parênteses e tudo nele f@ - vai para a próxima ocorrência de “@” df@ - deleta tudo até a próxima ocorrência de “@”
  45. 45. Exemplos
  46. 46. Exemplos yw - copia a palavra atual para o clipboard
  47. 47. Exemplos yw - copia a palavra atual para o clipboard yi” - copia tudo dentro das áspas para o clipboard
  48. 48. Exemplos yw - copia a palavra atual para o clipboard yi” - copia tudo dentro das áspas para o clipboard p - cola o que está no clipboard
  49. 49. Exemplos yw - copia a palavra atual para o clipboard yi” - copia tudo dentro das áspas para o clipboard p - cola o que está no clipboard /var - busca por “var” no arquivo
  50. 50. Exemplos yw - copia a palavra atual para o clipboard yi” - copia tudo dentro das áspas para o clipboard p - cola o que está no clipboard /var - busca por “var” no arquivo n - vai para a próxima ocorrência da busca
  51. 51. Exemplos yw - copia a palavra atual para o clipboard yi” - copia tudo dentro das áspas para o clipboard p - cola o que está no clipboard /var - busca por “var” no arquivo n - vai para a próxima ocorrência da busca N - vai para a última ocorrência da busca
  52. 52. Exemplos yw - copia a palavra atual para o clipboard yi” - copia tudo dentro das áspas para o clipboard p - cola o que está no clipboard /var - busca por “var” no arquivo n - vai para a próxima ocorrência da busca N - vai para a última ocorrência da busca 0 - vai para o início da linha
  53. 53. Exemplos yw - copia a palavra atual para o clipboard yi” - copia tudo dentro das áspas para o clipboard p - cola o que está no clipboard /var - busca por “var” no arquivo n - vai para a próxima ocorrência da busca N - vai para a última ocorrência da busca 0 - vai para o início da linha $ - vai para o final da linha
  54. 54. Exemplos yw - copia a palavra atual para o clipboard yi” - copia tudo dentro das áspas para o clipboard p - cola o que está no clipboard /var - busca por “var” no arquivo n - vai para a próxima ocorrência da busca N - vai para a última ocorrência da busca 0 - vai para o início da linha $ - vai para o final da linha Control + u - sobe metade da página
  55. 55. Exemplos yw - copia a palavra atual para o clipboard yi” - copia tudo dentro das áspas para o clipboard p - cola o que está no clipboard /var - busca por “var” no arquivo n - vai para a próxima ocorrência da busca N - vai para a última ocorrência da busca 0 - vai para o início da linha $ - vai para o final da linha Control + u - sobe metade da página Control + d - desce metade da página
  56. 56. Exemplos yw - copia a palavra atual para o clipboard yi” - copia tudo dentro das áspas para o clipboard p - cola o que está no clipboard /var - busca por “var” no arquivo n - vai para a próxima ocorrência da busca N - vai para a última ocorrência da busca 0 - vai para o início da linha $ - vai para o final da linha Control + u - sobe metade da página Control + d - desce metade da página 17G - vai para a linha 17 do arquivo
  57. 57. Exemplos yw - copia a palavra atual para o clipboard yi” - copia tudo dentro das áspas para o clipboard p - cola o que está no clipboard /var - busca por “var” no arquivo n - vai para a próxima ocorrência da busca N - vai para a última ocorrência da busca 0 - vai para o início da linha $ - vai para o final da linha Control + u - sobe metade da página Control + d - desce metade da página 17G - vai para a linha 17 do arquivo gg - vai para o início do arquivo
  58. 58. Exemplos yw - copia a palavra atual para o clipboard yi” - copia tudo dentro das áspas para o clipboard p - cola o que está no clipboard /var - busca por “var” no arquivo n - vai para a próxima ocorrência da busca N - vai para a última ocorrência da busca 0 - vai para o início da linha $ - vai para o final da linha Control + u - sobe metade da página Control + d - desce metade da página 17G - vai para a linha 17 do arquivo gg - vai para o início do arquivo G - vai para o final do arquivo
  59. 59. Download e instalação
  60. 60. O vim de console já vem instalado na grande maioria dos Linux/UNIX...
  61. 61. O vim de console já vem instalado na grande maioria dos Linux/UNIX... ... mas existem versões aprimoradas para ambientes gráficos
  62. 62. 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
  63. 63. .vimrc
  64. 64. O .vimrc é a mágica por trás da customização e da otimização do uso do vim.
  65. 65. .vimrc (vimfiles)
  66. 66. .vimrc (vimfiles) • É o arquivo de configuração do Vim.
  67. 67. .vimrc (vimfiles) • • É o arquivo de configuração do Vim. Definição de preferências, atalhos, macros, etc.
  68. 68. .vimrc (vimfiles) • • • É o arquivo de configuração do Vim. Definição de preferências, atalhos, macros, etc. Definição do colorscheme (tema)
  69. 69. .vimrc (vimfiles) • • • • É 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
  70. 70. .vimrc (vimfiles) • • • • • É 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
  71. 71. .vimrc (vimfiles) • • • • • • É 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
  72. 72. .vimrc (vimfiles) • • • • • • É 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.
  73. 73. .vimrc (vimfiles) • • • • • • É 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
  74. 74. Meus vimfiles https://github.com/pedrofranceschi/vimfiles
  75. 75. Colorschemes e plugins
  76. 76. Um bom colorscheme torna o uso do Vim agradável aos olhos.
  77. 77. Vim padrão (sem colorscheme)
  78. 78. Colorscheme badwolf
  79. 79. Colorscheme molokai
  80. 80. Colorscheme solarized
  81. 81. DICA: use o Powerline. https://github.com/Lokaltog/powerline
  82. 82. Plugins permitem você fazer literalmente o que quiser com o Vim.
  83. 83. Instalação de plugins Pathogen (coloque cada plugin em uma pasta e eles serão instalados)
  84. 84. Instalação de plugins Pathogen (coloque cada plugin em uma pasta e eles serão instalados) ... ou ... Vundle (defina no seu .vimrc a lista de plugins e eles serão instalados do Github
  85. 85. Vundle no .vimrc setup do Vundle https://github.com/sjl/badwolf setup do Vundle
  86. 86. Bons plugins
  87. 87. Bons plugins CtrlP - busca de arquivos incrivelmente rápida
  88. 88. Bons plugins CtrlP - busca de arquivos incrivelmente rápida Powerline - linha que mostra o status do Vim
  89. 89. 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)
  90. 90. 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
  91. 91. 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
  92. 92. 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
  93. 93. Demonstração
  94. 94. Conclusões...
  95. 95. “Vim é um gosto adquirido. Você o odeia até imergir nele. Pouca gente consegue, a maioria simplesmente o odeia.” - @AlexandreTorres
  96. 96. Vim é doloroso de aprender, mas quem se acostuma não volta atrás.
  97. 97. DICA: $ vimtutor
  98. 98. DICA: vimgolf.com
  99. 99. Não tenha medo de tentar editores e ferramentas novas.
  100. 100. OBRIGADO! :) PEDROFRANCESCHI pedrohfranceschi@gmail.com pedrofranceschi.com @pedroh96
  101. 101. PORQUE VOCÊ DEVE APRENDER VIM HOJE. PEDROFRANCESCHI pedrohfranceschi@gmail.com pedrofranceschi.com @pedroh96
  • aamarkinho

    Jan. 3, 2017
  • oieusouofred

    Mar. 31, 2015
  • ciceropablo

    Aug. 27, 2014
  • raphaelviana1

    Apr. 23, 2014
  • ericoliveira7927

    Mar. 27, 2014
  • maiconschmitz

    Mar. 6, 2014
  • DaiaEvan

    Feb. 27, 2014
  • andersonbarutti

    Feb. 21, 2014
  • derekstavis

    Nov. 7, 2013
  • newtonmota

    Oct. 17, 2013

Palestra na Hack Design Conf sobre VIm

Views

Total views

2,685

On Slideshare

0

From embeds

0

Number of embeds

20

Actions

Downloads

45

Shares

0

Comments

0

Likes

10

×